GATE 2020 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

 Numerical Ability :
 Verbal Ability :

 Numerical Ability :
 Verbal Ability :

 Numerical Ability :
 Verbal Ability :

Section 2: Mathematics
 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
 Linear Algebra :
 Matrices, determinants
 LU decomposition
 System of linear equations
 Eigenvalues and eigenvectors
 Probability :
 Random variables
 Mean, median, mode and standard deviation
 Uniform, normal, exponential, Poisson and binomial distributions
 Conditional probability and Bayes theorem
 Calculus :
 Limits, Continuity and Differentiability
 Maxima and Minima. Mean value theorem
 Integration

 Discrete Mathematics :
 Linear Algebra :
 Probability :
 Calculus :

 Discrete Mathematics :
 Linear Algebra :
 Probability :
 Calculus :

 Discrete Mathematics :
 Linear Algebra :
 Probability :
 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

 Asymptotic Analysis of Algorithms :
 Recurrence Relations :
 Divide and Conquer :
 Greedy Techniques :
 Graph Based Algorithms :
 Dynamic Programing :
 Searching, Sorting and Hashing :
 Misc :

 Asymptotic Analysis of Algorithms :
 Recurrence Relations :
 Divide and Conquer :
 Greedy Techniques :
 Graph Based Algorithms :
 Dynamic Programing :
 Searching, Sorting and Hashing :
 Misc :

Algorithms :

Section 4: Programming and Data Structures
 Programming in C, Recursion
 Arrays, stacks, queues, linked lists, trees, binary search trees, binary heaps, graphs

 Programming in C, Recursion :
 Array, Stack, Queue :
 Linked Lists :
 Trees, Binary search trees, Binary heaps :
 Graphs :

 Programming in C, Recursion :
 Array, Stack, Queue :
 Linked Lists :
 Trees, Binary search trees, Binary heaps :
 Graphs :

Programming and Data Structures :

Section 5: Operating Systems
 Processes, threads, CPU scheduling
 Inter‐process communication, concurrency and synchronization, deadlock
 Memory management and virtual memory
 File systems

 Processes, threads, CPU scheduling :
 Inter‐process communication, concurrency and synchronization:
 Deadlock :
 Main memory management :
 Virtual memory :
 File system and disk scheduling :

 Processes, threads, CPU scheduling :
 Inter‐process communication, concurrency and synchronization :
 Deadlock :
 Main memory management :
 Virtual memory :
 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)

 ER‐model :
 Relational model (relational algebra, tuple calculus) :
 Database design (integrity constraints, normal forms) :
 Query languages (SQL) :
 Transactions and concurrency control :
 File structures (sequential files, indexing, B and B+ trees) :

 ER‐model:
 Relational model (relational algebra, tuple calculus):
 Database design (integrity constraints, normal forms):
 Query languages (SQL) :
 Transactions and concurrency control:
 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 WiFi
 Network security : authentication, basics of public key
and private key cryptography, digital signatures and certificates, firewalls

 Network Fundamental and Physical layer :
 Data Link layer :
 Network layer :
 Transport layer :
 Application layer :
 Network security :

 Network Fundamental and Physical layer :
 Data Link layer :
 Network layer :
 Transport layer :
 Application layer :
 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)

 Machine instructions and addressing modes :
 ALU, data‐path and control unit :
 Instruction pipelining :
 Cache Memory :
 I/O interface (Interrupt and DMA mode) :

Computer Organization and Architecture :

Computer Organization and Architecture :

Section 9: Theory of Computation
 Regular expressions and finite automata
 Contextfree grammars and pushdown automata
 Regular and contextfree languages, pumping lemma
 Turing machines and undecidability

 Regular expression, langauges, grammar and finite automata :
 Context free langauges, grammar and push down automata :
 Pushdown Automata
 Pushdown Automata Acceptance by Final State
 Check if the language is Context Free or Not
 Construct Pushdown Automata for given languages
 Construct Pushdown automata for L = {0^{n}1^{m}2^{m}3^{n}  m,n ≥ 0}
 Construct Pushdown automata for L = {0^{n}1^{m}2^{(n+m)}  m,n ≥ 0}
 Construct Pushdown Automata for all length palindrome
 NPDA for the language L ={wϵ{a,b}* w contains equal no. of a’s and b’s}
 NPDA for accepting the language L = {a^{n} b^{n}  n>=1}
 NPDA for accepting the language L = {a^{n} b^{m} c^{n}  m,n>=1}
 NPDA for accepting the language L = {a^{n} b^{n} c^{m}  m,n>=1}
 NPDA for accepting the language L = {a^{m} b^{(2m)}  m>=1}
 NPDA for accepting the language L = {a^{m}b^{n}c^{p}d^{q}  m+n=p+q ; m,n,p,q>=1}
 Construct Pushdown automata for L = {a^{(2*m)}c^{(4*n)}d^{n}b^{m}  m,n ≥ 0}
 NPDA for accepting the language L = {a^{m}b^{n}c^{(m+n)}  m,n≥1}
 NPDA for accepting the language L = {a^{m}b^{(m+n)}c^{n}  m,n≥1}
 NPDA for accepting the language L = {a^{2m}b^{3m}  m≥1}
 NPDA for accepting the language L = {a^{m}b^{(2m+1)}  m≥1}
 NPDA for L = {0^{i}1^{j}2^{k}  i==j or j==k ; i , j , k >= 1}
 Closure Properties of Context Free Languages
 Ambiguity in CFG and CFL
 Simplifying Context Free Grammars
 Converting Context Free Grammar to Chomsky Normal Form
 Converting Context Free Grammar to Greibach Normal Form
 Relationship between grammar and language
 Context Sensitive langauges :
 Turing machines and undecidability :

 Regular expression, langauges, grammar and finite automata :
 Context free langauges, grammar and push down automata :
 Context Sensitive langauges :
 Turing machines and undecidability :

Theory of Computation :

Section 10: Compiler Design
 Lexical analysis, parsing, syntaxdirected translation
 Runtime environments
 Intermediate code generation

 Introduction of Compiler :
 Lexical analysis :
 Parsing :
 Syntax directed transalation :
 Runtime environments :
 Intermediate code generation :

 Introduction of Compiler :
 Lexical analysis :
 Parsing :
 Syntax directed transalation :
 Runtime environments :
 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)

 Introduction of Boolean Algebra and Logic Gates :
 Combinational Circuits :
 Sequential Circuits :
 Number Representation and Computer Airthmetic :

Digital Logic :

Digital Logic :
