Structured programming (sometimes known as modular programming) is a programming paradigm that facilitates the creation of programs with readable code and reusable components.
In computer science, a data structure is a data organization, management, and storage format that enables efficient access and modification
Algorithm is a finite sequence of well-defined, computer-implementable instructions, typically to solve a class of specific problems or to perform a computation.
Discrete Mathematics is a branch of mathematics involving discrete elements that uses algebra and arithmetic.
Numerical methods are techniques to approximate mathematical procedures (​example of a mathematical procedure is an integral).
An operating system is system software that manages computer hardware, software resources, and provides common services for computer programs.
Theory of computation (TOC) is a branch of Computer Science that is concerned with how problems can be solved using algorithms and how efficiently they can be solved.
Compiler design covers basic translation mechanism and error detection & recovery. It includes lexical, syntax, and semantic analysis as front end, and code generation and optimization as back-end.
Artificial intelligence (AI) refers to the simulation of human intelligence in machines that are programmed to think like humans and mimic their actions.