This course covers basic techniques of linear algebra as well as statistics. Linear Algebra serves as the bedrock upon which much of modern IT infrastructure is built. From encoding and compressing data to optimizing algorithms and modelling complex systems, the principles of linear algebra provides powerful tools for understanding and manipulating data structures in IT applications. Matrices, vectors, and transformations form the language through which IT professionals navigate the intricacies of data representation. Statistics, on the other hand, empowers IT professionals with the ability to extract meaningful insights from vast amounts of data, make informed decisions, and drive innovation. In an era dominated by big data and machine learning, statistical techniques play a pivotal role in tasks such as predictive modelling, anomaly detection, and pattern recognition, enabling IT professionals to unlock the full potential of data-driven technologies.

This course explores the use of fundamental data structures and algorithmic techniques in computing, in order to prepare students to design efficient software applications to implement moderately-complex requirements. The course demonstrates how various recursive and iterative algorithms work in order to solve specific problems, such as sorting and implementing operations on stacks, queues, linked lists, trees, hash tables and heaps. Students are also shown how to analyse and compare the computational complexity of these algorithms.

This unit aims to provide fundamental knowledge of the structure and function of computers and explain the nature and characteristics of modern-day computer systems. This unit also discusses the fundamentals of computer organization and architecture and relates these to contemporary design issues. The syllabus includes Basics and classification of Computer Architecture, Memory Interfacing and Hierarchy, Computer Organization, I/O Interfacing, Instruction Pipelining and Computer Arithmetic.  Students will also learn the basics of assembly language programming.

This unit introduces to the students a basic knowledge of computer programming using the object-oriented programming language C++. It is aimed at providing students with a firm programming background, which would equip them to pursue their Engineering/Science degree course.

This unit introduces students to C++ programming, and includes the topics of Computer fundamentals, Algorithms, Programming fundamentals & compiler basics, Flow control structures, Arrays, Modular programming, User-defined data types and Data storage types. It then introduces students to the basics of Object-oriented programming in C++ by including the topics of Class concept, Constructors, Inheritance & File processing.