# GATE CS Notes according to GATE 2018 official Syllabus

This page contains GATE CS Preparation Notes / Tutorials on Mathematics, Digital Logic, Computer Organization and Architecture, Programming and Data Structures, Algorithms, Theory of Computation, Compiler Design, Operating Systems, DBMS (Database Management Systems), and Computer Networks listed according to the GATE CS 2018 official Syllabus.

GATE 2018 Syllabus Learn Practice External Resources

Section 1: Numerical and Verbal Ability

• Numerical Ability : Numerical computation,
numerical estimation, numerical reasoning and data interpretation
• Verbal Ability : English grammar, sentence completion,
verbal analogies, word groups, instructions,
critical reasoning and verbal deduction
1. Numerical Ability :
2. Verbal Ability :
1. Numerical Ability :
• Book – Quantitative Aptitude by R.S. Aggarwal
2. Verbal Ability :

#### Section 2: Mathematics

1. Discrete Mathematics :
• Propositional and first order logic
• Sets, relations, functions, partial orders and lattices. Groups
• Combinatorics: counting, recurrence relations, generating functions
• Graphs: connectivity, matching, coloring
2. Linear Algebra :
• Matrices, determinants
• LU decomposition
• System of linear equations
• Eigenvalues and eigenvectors
3. Probability :
• Random variables
• Mean, median, mode and standard deviation
• Uniform, normal, exponential, Poisson and binomial distributions
• Conditional probability and Bayes theorem
4. Calculus :
• Limits, Continuity and Differentiability
• Maxima and Minima. Mean value theorem
• Integration
1. Discrete Mathematics :
2. Linear Algebra :
3. Probability :
4. Calculus :
1. Discrete Mathematics :
2. Linear Algebra :
3. Probability :
4. Calculus :

Section 3: Algorithms

• Searching, sorting, hashing
• Asymptotic worst case time and space complexity
• Algorithm design techniques : greedy, dynamic programming and divide‐and‐conquer
• Graph search, minimum spanning trees, shortest paths

#### Algorithms :

Section 4: Programming and Data Structures

• Programming in C, Recursion
• Arrays, stacks, queues, linked lists, trees, binary search trees, binary heaps, graphs
1. Programming in C, Recursion :
2. Array, Stack, Queue :
4. Trees, Binary search trees, Binary heaps :
5. Graphs :
1. Programming in C, Recursion :
2. Array, Stack, Queue :
4. Trees, Binary search trees, Binary heaps :
5. Graphs :

Programming and Data Structures :

Section 5: Operating Systems

• Inter‐process communication, concurrency and synchronization, deadlock
• Memory management and virtual memory
• File systems
1. Processes, threads, CPU scheduling :
2. Inter‐process communication, concurrency and synchronization :
4. Main memory management :
5. Virtual memory :
6. File system and disk scheduling :

Operating Systems :

Section 6: Databases

• ER‐model, Relational model : relational algebra, tuple calculus, SQL
• Integrity constraints, normal forms
• Transactions and concurrency control
• File organization, indexing (e.g., B and B+ trees)
1. ER‐model :
2. Relational model (relational algebra, tuple calculus) :
3. Database design (integrity constraints, normal forms) :
4. Query languages (SQL) :
5. Transactions and concurrency control :
6. File structures (sequential files, indexing, B and B+ trees) :

Databases :

Section 7: Computer Networks

• Concept of layering, LAN technologies (Ethernet)
• Flow and error control techniques, switching
• IPv4/IPv6, routers and routing algorithms (distance vector, link state)
• TCP/UDP and sockets, congestion control
• Application layer protocols (DNS, SMTP, POP, FTP, HTTP)
• Basics of Wi-Fi
• Network security : authentication, basics of public key
and private key cryptography, digital signatures and certificates, firewalls
1. Network Fundamental and Physical layer :
3. Network layer :
4. Transport layer :
5. Application layer :
6. Network security :

Computer Networks :

Section 8: Computer Organization and Architecture

• Machine instructions and addressing modes
• ALU, data‐path and control unit
• Instruction pipelining
• Memory hierarchy: cache, main memory and secondary storage
• I/O interface (Interrupt and DMA mode)
1. Machine instructions and addressing modes :
2. ALU, data‐path and control unit :
3. Instruction pipelining :
4. Cache Memory :
5. I/O interface (Interrupt and DMA mode) :

#### Computer Organization and Architecture :

Section 9: Theory of Computation

• Regular expressions and finite automata
• Context-free grammars and push-down automata
• Regular and context-free languages, pumping lemma
• Turing machines and undecidability
1. Regular expression, langauges, grammar and finite automata :
2. Context free langauges, grammar and push down automata :
3. Context Sensitive langauges :
• .
4. Turing machines and undecidability :
1. Regular expression, langauges, grammar and finite automata :
2. Context free langauges, grammar and push down automata :
3. Context Sensitive langauges :
• .
4. Turing machines and undecidability :

Theory of Computation :

Section 10: Compiler Design

• Lexical analysis, parsing, syntax-directed translation
• Runtime environments
• Intermediate code generation
1. Introduction of Compiler :
• .
2. Lexical analysis :
3. Parsing :
4. Syntax directed transalation :
5. Runtime environments :
6. Intermediate code generation :
1. Introduction of Compiler :
2. Lexical analysis :
3. Parsing :
4. Syntax directed transalation :
5. Runtime environments :
• .
6. Intermediate code generation :

Compiler Design :

Section 11: Digital Logic

• Boolean algebra
• Combinational and sequential circuits. Minimization
• Number representations and computer arithmetic (fixed and floating point)
1. Introduction of Boolean Algebra and Logic Gates :
2. Combinational Circuits :
3. Sequential Circuits :
4. Number Representation and Computer Airthmetic :