Information and Communications Technology Courses at a Glance Level 1 Courses ICT121 Introduction to Computer Systems Architecture This is an introductory course on the architecture of modern computer systems. It introduces the three major components of a computer system, consisting of the processor, memory and input output control. It describes the main functions of each component and how they interact with each other. It then explores how software interacts with the computer hardware by introducing machine instructions and assembly language programming using a simplified processor. ICT131 Introductory Programming & OO Concepts Using Java ICT131 introduces the fundamental computer programming and the basic object oriented programming concepts using Java. Topics include the primary concepts in the object-oriented programming approach, programs using the control structures of fundamental structured programming, writing a simple Java class for an objectoriented application, basic object-oriented concepts relating to a class hierarchy, looking-up the Java documentation and using the Java supplied classes. Some elementary understanding of computing and the use of computers are required. MTH101 Discrete Mathematics MTH101 is a foundation mathematics course that covers mathematical skills required for higher level mathematics courses and related subjects. MTH101 introduces indices, systems of two simultaneous equations, the quadratic formula, the method of completing the square, arithmetic sequences, geometric sequences, general linear sequences, geometry involving straight lines and circles, trigonometry, linear and quadratic functions, the exponential and logarithm functions, limits of sequences, recurring decimals, matrices, Cramer s rule, vectors in two dimensions, bearings, the Sine Rule and the Cosine Rule. MTH102 Transformations and Matrices MTH102 discusses transformations in two dimensions, Eigen values, fixed points, conics, the Binomial Theorem and second-order difference equations, and uses these techniques to solve a variety of applied problems.
LEVEL 2 Courses ICT201 Further Programming & Object-oriented Concepts Using Java ICT201 covers further concepts in object-oriented programming with Java. Topics include the basic structure of an object-oriented application, the use of Java supplied classes to produce a simple graphical user interface, writing Java programs to deal with exceptions, the concepts of polymorphism and object references, and the structure of a Java applet. The pre-requisite for this course is ICT131 and students should understand the basic idea of a class and its objects. ICT203 Foundations of Modern System Design ICT203 covers the analysis and design of systems using the object-oriented paradigm. Topics include the various approaches to design and analysis, the objectoriented approach to software development, the object-oriented modelling process, analysis to derive the requirements for a system, the user interface principles, and the user interface development process. As this is a practical course, working knowledge of an object-oriented programming language is a pre-requisite. The language that will be used in the course is Java. ICT205 System Modelling in Object-oriented Design & Analysis ICT205 introduces the skills in analysing requirements and performing system modelling for an application using the object-oriented paradigm. It will focus strongly on the practical aspects of object-oriented analysis and design. Topics include developing the initial structural model from a set of requirements, performing the dynamic modelling to produce the basic design of a system, implementing a dynamic model in Java, testing the implementation of a basic system, and using some of the features of a modelling language. As this is a practical course, working knowledge of an object-oriented programming language is essential. The language that will be used in the course is Java. ICT207 Data Structures & Algorithms I ICT207 focuses on the development of algorithms and the use of appropriate data structures. Topics include the theoretical and practical knowledge of data structures and applying algorithms using appropriate data structures. ICT208 Data Structures & Algorithms II ICT208 focuses on the development of algorithms and the use of appropriate data structures. Topics include the concept of non-linear data structures like linked list, binary tree structures and their algorithms, and the various sorting and searching algorithms.
ICT222 Computer Systems Architecture and Administration ICT222 builds upon the knowledge of a previous unit "Introduction to Computer Systems Architecture". It extends the basic computer system architecture to include various performance enhancement methods and external devices. It also discusses operating system support for input output, memory and file management and system administration. ICT219 Information Systems - Role in Organisations & Infrastructure ICT219 gives an understanding of information systems in the context of its management, organisation, and technology dimensions. Topics include essentials of information systems for businesses, ethical and social issues, and the hardware, software, database and networking technologies along with tools and techniques for security and control. ICT220 Information Systems - Key Applications & Building Information Systems ICT220 covers key applications like enterprise systems, supply chain management, customer relationship management, knowledge management, e-commerce applications and decision support systems. Topics include enterprise applications improving business performance, use of ecommerce, improving decision making, building information systems as well as exploring alternative approaches to building systems, and the project management aspects when building and managing global systems. ICT209 Computer Communication -Data Communications ICT209 provides an overview of the data communications fundamentals. Topics include basic communication concepts, TCP/IP and OSI reference models, data transmission concepts, channel capacity, data encoding and interfacing techniques, error detection, data link control and multiplexing techniques. ICT210 Computer Communication -Computer Networking ICT210 introduces various types of computer networks including wide area networks and local area networks, their architectures and protocols. Topics include circuit switching, packet switching, X.25, LAN technology, Ethernet, bridges, switches and TCP/IP protocols.
ICT211 Encryption Techniques and System Security ICT211 provides an overview of the encryption techniques and system security. Topics include basic security concepts, symmetric encryption, message confidentiality, public key encryption, message authentication, intrusion detection, viruses, firewalls and trusted systems. ICT212 Internet Security ICT212 introduces a number of security applications and implementations concerning with network security of Internet. Topics include authentication applications and services, electronic mail security, IP security, web security and network management (SNMP) security. ICT271 Introductory Programming Techniques in C++ ICT271 introduces the design and development of computer programs to solve problems. Topics include the fundamental programming constructs as well as using the taught software development procedure to implement applications using C++ language. ICT272 Object Oriented Programming in C++ ICT272 introduces the fundamental object-oriented concepts. Topics include objectoriented features including Class, Objects, Encapsulation, Inheritance and Polymorphism, and implementing applications using C++ language. ICT255 Oracle Certified Associate The Oracle Certified Associate has two modules: SQL Fundamentals I introduces students to the fundamentals of SQL using Oracle Database 11g database technology. In this course students learn the concepts of relational databases and the powerful SQL programming language. This course provides the essential SQL skills that allow developers to write queries against single and multiple tables, manipulate data in tables, and create database objects. Administration Workshop I is designed to give students a firm foundation in basic administration of Oracle Database 11g. In this class, students learn how to install and maintain Oracle Database 11g. Students gain a conceptual understanding of the Oracle database architecture and how its components work and interact with one another. Students learn how to create an operational database and properly manage the various structures in an effective and efficient manner including performance monitoring, database security, user management, and backup/recovery techniques.
ICT257 Red Hat System Administration The first part (System Administration I) provides an introduction to fundamental end-user and system administration skills in Red Hat Enterprise Linux. Participants learn to properly manage a Linux workstation or server, including installation and configuration of local components and services as well as connections to existing network services. This course builds on students' existing technical knowledge by focusing on GUI-based tools, while still covering key command line concepts. The second part (System Administration II) builds on the foundation of command line skills learned in System Administration I. This course is for full-time enterprise Linux system administrators who are also interested in becoming accredited with the RHCSA certification. Students will learn to administer and troubleshoot file systems and partitioning, logical volume management, access control, package management.
LEVEL 3 Courses ICT309 Information Security Management ICT309 provides an overview of the 10 domains in the Information Security Common Body of Knowledge. They include: Security Management Practices, Security Architecture and Models, Business Continuity Planning (BCP) and Disaster Recovery Planning (DRP), Law, Investigations, and Ethics, Physical Security, Operations Security, Access Control Systems and Methodology, Cryptography, Telecommunications, Network, and Internet Security. ICT313 Cryptography and Data Security Cryptography is the science of protecting information. The course will cover encryption and decryption techniques (such as DES, Diffie-Hellman, RSA, etc), hash algorithm (such as MD5, SHA-1) and Web security application (SSL, SET). ICT317 IT Project Management IT Project Management comprises of the following modules: 1. PM Basics 2. Project Management Fundamentals for IT Professionals 3. Managing Multiple Projects for IT Professionals ICT321 Database Systems: Modelling and Design ICT321 offers perspectives on relational databases, based on the storage of data as tables. It highlights the use of databases in key organisational information systems. There is in depth coverage of data modelling and the theory of relations as applied to the representation of models of data. The practical use of the database language SQL will be extensively covered, using MySQL. ICT322 Database Systems: Implementation and Administration ICT322 covers the use of SQL in constructing a new database and in redesigning existing databases. It touches on database administration issues in the context of a multi-user processing environment. SQL Server will be used as the DBMS tool to examine some of the database administration techniques. ICT331 Fundamentals of Concurrent Systems ICT331 introduces you to the basic ideas in concurrent systems. It discusses the basic hardware and software for such systems and examines the nature of a concurrent process as well as multithreading with a programming language. The course will also look into inter-process communications as concurrent processes inter among themselves. In particular, it will consider the important issue of accessing shared
data. As this is a practical course, it will use Java, a programming language commonly used in the industry, for investigating topics such as multi-threading and accessing shared data ICT332 Concurrent Systems and Applications ICT332 focuses on concurrent systems at the application level. It continues the discussion on concurrent systems by looking at inter-process communications in non-shared memory situations. In particular, it will discuss basic client server systems and remote procedure calls. The course will examine concurrent systems issues such system viability and deadlocks. It will also investigate concurrent processing of transactions with interleaved operations. It will end with a discussion of distributed databases and middleware. ICT333 Object Oriented Software Engineering: Analysis and Design ICT333 provides an overview of the Object Oriented Software Engineering technology. It covers basic software engineering concepts, UML modeling techniques, requirement elicitation, analysis, system design, architecture and reuse. ICT334 Object Oriented Software Engineering: Implementation and Management ICT334 covers the implementation and management aspects of Object Oriented Software Engineering. Topics include object design, interface specification, mapping models to code, testing, configuration management, project management and software life cycle.