Foundation Studies
Use of probability, statistics, and numerical methods to model uncertainty and compute accurate engineering solutions.
Designing efficient algorithms and analyzing their time and space complexity to solve computational problems optimally.
Systematic development of reliable software using requirement analysis, design models, testing, and maintenance practices.
Understanding how hardware components like CPU, memory, and I/O work together to execute programs efficiently.
Core concepts of operating systems including process management, memory management, file systems, and I/O management.
Set theory, algebraic structures, logic, graph theory, matrices, and fundamental statistical concepts for problem solving in computing.
Design, analysis, and optimization of algorithms using divide-and-conquer, greedy, dynamic programming, backtracking.
Software development life cycle, requirements, design, testing, maintenance, project management, and quality assurance methodologies.
Structure and functioning of computer systems including CPU design, memory hierarchy, I/O organization, arithmetic operations.
Principles and techniques of supervised and unsupervised learning, neural networks, dimensionality reduction, model evaluation.