This repository contains an in-depth syllabus for the Graduate Aptitude Test in Engineering (GATE) Computer Science and Engineering (CSE) exam. The syllabus covers a wide range of topics essential for aspirants preparing for the exam.
- Propositional and first-order logic
- Sets, relations, functions
- Graphs: connectivity, matching, coloring
- Combinatorics: counting, recurrence relations, generating functions
- Probability and Statistics
- Number theory: modular arithmetic, divisibility, primes
- Arrays, linked lists, stacks, queues
- Trees: binary trees, binary search trees (BST), AVL trees, B-trees
- Graphs: representation, traversal (DFS, BFS), shortest paths (Dijkstra's algorithm, Floyd-Warshall algorithm), minimum spanning trees (Prim's algorithm, Kruskal's algorithm)
- Hashing: hash functions, collision resolution techniques
- Heap, priority queue
- Advanced data structures: segment trees, Fenwick trees, trie
- Sorting algorithms: quicksort, mergesort, heapsort
- Searching algorithms: linear search, binary search
- Divide and conquer algorithms
- Dynamic programming: knapsack problem, longest common subsequence
- Greedy algorithms: Dijkstra's algorithm, Prim's algorithm, Huffman coding
- Backtracking algorithms: N-queens problem, Sudoku solving
- String matching algorithms: KMP algorithm, Rabin-Karp algorithm
- Regular languages and finite automata: DFA, NFA, regular expressions
- Context-free languages and pushdown automata: CFG, PDA
- Turing machines: TM, variants of TMs
- Undecidability and NP-completeness: halting problem, reduction techniques
- Digital logic: gates, combinational circuits, sequential circuits
- Processor architecture: instruction set architecture (ISA), pipelining, memory hierarchy
- Cache memory: cache organization, cache mapping techniques
- Virtual memory: paging, segmentation
- I/O interface: I/O devices, interrupt handling
- Secondary storage: magnetic disks, solid-state drives (SSD)
- C/C++ programming: syntax, control structures, functions, pointers
- Java programming: classes, objects, inheritance, polymorphism, exception handling
- Programming paradigms: procedural programming, object-oriented programming, functional programming
- Scripting languages: Python, Perl, Ruby
- Parallel programming: OpenMP, MPI
- Processes: process states, process synchronization, process scheduling (FCFS, SJF, Round Robin)
- Threads: multithreading, thread synchronization
- CPU scheduling algorithms: priority scheduling, shortest remaining time first (SRTF)
- Memory management: paging, segmentation, virtual memory
- File systems: file organization, directory structure, file allocation methods
- Deadlocks: deadlock detection, deadlock prevention, deadlock avoidance
- Relational model: relational algebra, relational calculus
- SQL: data definition language (DDL), data manipulation language (DML)
- Database design: normalization, ER modeling, functional dependencies
- Transaction management: ACID properties, serializability
- Concurrency control: locking, timestamp ordering, multiversion concurrency control (MVCC)
- Recovery: undo and redo operations, checkpointing, logging
- OSI and TCP/IP models
- Data link layer: framing, error detection, flow control (stop-and-wait, sliding window)
- Medium Access Control (MAC) protocols: CSMA/CD, CSMA/CA
- Network layer: IP addressing, subnetting, routing algorithms (distance vector, link state)
- Transport layer: TCP, UDP, congestion control (TCP congestion control algorithms)
- Application layer: DNS, HTTP, FTP, SMTP
- Software development life cycle (SDLC): requirements analysis, design, implementation, testing, maintenance
- Software requirements: functional requirements, non-functional requirements
- Software design principles: SOLID principles, design patterns (Creational, Structural, Behavioral)
- Software testing techniques: black-box testing, white-box testing, unit testing, integration testing
- Software metrics: cyclomatic complexity, code coverage, defect density
- Software maintenance: software evolution, software reengineering, software refactoring
- Verbal ability: grammar, sentence completion, comprehension
- Numerical ability: numerical computation, numerical estimation, data interpretation
- Logical reasoning: deduction, induction, puzzles
- Critical thinking: decision making, problem-solving