1. Discrete Mathematics | Propositional logic and predicate logic, Set theory and algebra, Combinatorics, Graph theory, Mathematical logic |
2. Digital Logic | Boolean algebra, Combinational and sequential circuits, Minimization |
3. Computer Organization and Architecture | Machine instructions and addressing modes, ALU, Data-path and control unit, Instruction pipelining, Memory hierarchy, I/O interface |
4. Programming and Data Structures | Programming in C, Recursion, Arrays, Stacks, Queues, Linked lists, Trees, Binary search trees, Heap, Graphs |
5. Algorithms | Searching, Sorting, Hashing, Asymptotic worst-case time and space complexity, Algorithm design techniques, Dynamic programming, Greedy algorithms, Divide and conquer |
6. Theory of Computation | Regular languages and finite automata, Context-free languages and push-down automata, Turing machines and undecidability |
7. Compiler Design | Lexical analysis, Syntax analysis, Semantic analysis, Intermediate code generation, Code optimization, Code generation |
8. Operating System | Processes, Threads, Inter-process communication, Concurrency and synchronization, Deadlock, CPU scheduling, Memory management and virtual memory, File systems |
9. Databases | ER-model, Relational model (relational algebra, tuple calculus), Database design (integrity constraints, normal forms), SQL |
10. Computer Networks | ISO/OSI stack, TCP/IP, LAN technologies (Ethernet, Token ring), Flow and error control techniques, Routing algorithms, Congestion control, Application layer protocols (DNS, SMTP, POP, FTP, HTTP) |