Hello Everyone!
Myself Aditya Jain and I have secured AIR 60, among 99,000+ students, in GATE CS 2019. Currently, I am pursuing MTech in Computer Science at IIT Bombay as a TA student. In this article, I am going to cover the important topics (subject wise) that are a must for a student who aspires to perform well in GATE CS. The tips I am going to share here are completely based on my experience and the analysis I have done at the time of my preparation.
So let's get started!
This subject is mandatory and is necessarily asked for 15 marks in every GATE paper (for all branches).
The marks distribution is generally as follows:
Five questions: each carrying 1 mark
Five questions: each carrying 2 marks
The Aptitude section consists of two parts(which can come in any sequence and proportion in GATE paper):
Verbal Ability: English grammar, sentence completion, verbal analogies, word groups, instructions, critical reasoning, and verbal deduction.
Numerical Ability: Numerical computation, numerical estimation, numerical reasoning and data interpretation.
The best way to prepare for this subject is to go through the questions asked in the past 10 years GATE paper for each branch. By doing this, you will get to know all the possible patterns (distinct types) of questions that can be made on this subject as well as the level up to which you shall be practicing it.
Preparing for this subject would also help you to clear the aptitude section during your college placements to a greater extent.
This subject is relatively easy as well as scoring as compared to the rest of the GATE syllabus.
This subject is mandatory and is necessarily asked for 15 marks in every GATE paper (for all branches).
The marks distribution is generally as follows:
Five questions: each carrying 1 mark
Five questions: each carrying 2 marks
All topics from this subject are equally important and practice is the one and the only way to score the maximum marks in this.
The best way to prepare is to solve each and every question (topic wise) from the past 10-15 years that have been asked in the GATE paper of your branch.
Once done with these, I will recommend you to solve the past year papers of other branches as well. Mechanical and Electrical syllabus for Engineering Mathematics is a bit vast as compared to that for CS, so you can skip the topics that are not in the GATE CS syllabus.
I will recommend you to give at least 1-2 hours daily to prepare for this subject as it will help you stay consistent with this subject as well as you will not be overwhelmed by its vast syllabus.
The ones who wait till the end to start this subject mostly end by leaving most of the topics due to lack of practice. If practiced well, one can score full marks in this subject and that will definitely help you get an advantage over the ones who weren't able to solve it in the actual GATE paper.
The formulae list provided here Maths Formulae List might help you to prepare your own short notes for this subject as remembering the standard formulas are a must for performing well in this subject.
Detailed syllabus for CS branch is: (All are equally important and can be asked in any proportion)
Discrete Mathematics:
Propositional and first-order logic.
Sets, relations, functions, partial orders and lattices. Groups.
Graphs: connectivity, matching, coloring.
Combinatorics: counting, recurrence relations, generating functions.
Linear Algebra: Matrices, determinants, systems of linear equations, eigenvalues and eigenvectors, LU decomposition.
Calculus: Limits, continuity, and differentiability. Maxima and minima. Mean value theorem. Integration.
Probability: Random variables. Uniform, normal, exponential, Poisson and binomial distributions. Mean, median, mode and standard deviation. Conditional probability and Bayes theorem.
This is one of the most scoring subjects in the CS GATE syllabus.
There are lots of formulae involved in most of the topics that could help you to easily solve the 1 mark questions.
For 2 marks questions, a bit in-depth knowledge is required which can be better understood if one goes through each of the topic conceptually.
List of important topics (from highest priority to lowest as per my analysis):
CPU scheduling: The numerical are very important and solving at least one question of each type from the past 10 years question paper is recommended.
Memory management and virtual memory: The numerical on paging are very important and good understanding is required to solve the 2 marks questions.
Concurrency and synchronization and Deadlock: these can only be solved if one has an in-depth understanding of the various concurrency and synchronization mechanisms included in the GATE syllabus. The best way to study this topic is to refer to the standard algorithms and mechanism mentioned in the book: Operating System Principles 7 Edition by Galvin) - Understanding and solving at least 3-5 questions on Banker's Algorithm is a must. (a 2 marks question can be expected from this algorithm which can be solved very easily if one has practiced some questions on this algorithm.
Processes, threads, interprocess communication: solving and understanding the past 10 years' questions would be sufficient for these topics. If left with time, one can go through these topics from the above-mentioned book. It will make your concepts crystal clear.
File systems: this is a relatively easier topic (requires less understanding as compared to the above-mentioned topics) and hence the best way to prepare for this is to solve the past 10 years' questions. Disk scheduling algorithms are very easy and scoring and solving previous year questions on this would be sufficient. The questions asked on this topic are usually straightforward and hence the best way to prepare is to practice as many questions as possible. (numerical of distinct types)
The questions from this subject are very straightforward and hence can be scored very easily as compared to the remaining subjects with the help of practice and a bit of understanding.
List of important topics (from highest priority to lowest as per my analysis):
ER model: This is a very simple topic with limited concepts. I would recommend you to refer to some standard book (preferably Database System Concepts by Korth) and solve each and every question asked in the past 10 years of GATE papers.
Integrity constraints, normal forms: Each of the normal forms is related to each other and properties of each of the Normal forms are very important. (both 1 mark, as well as 2 marks questions, are asked from this topic)
File organization, indexing (e.g., B and B+ trees): This is a very scoring topic as the concepts are very limited and hence one can score full marks in this just by practicing the previous year's questions properly with a proper understanding of the concepts. (formulas shall be understood logically as just memorizing them won’t help much)
Relational model (relational algebra, tuple calculus, SQL): Understanding the various SQL commands as well as their properties is a must. Practicing all the previous year questions would be sufficient.
Transactions and concurrency control: Numericals from this topic are very important and are usually asked as 2 marks questions. Practice each and every previous year question from this topic and that would be sufficient.
The best and the only way to score in this subject is by practicing lots and lots of questions.
Solving the past 10 years questions (topic wise) is a must and will help you understand the level and type of questions asked in the GATE paper.
This subject shall be done before getting started with the Compiler Design (CD) subject as it covers most of the topics which form the basis of the Compiler.
This subject is not that vast and can be considered as scoring as there are more practice and presence of mind involved than logic.
This shall be studied once you are done with the Theory of Computation (TOC) as the types of languages discussed in TOC are used as input to the compiler.
The best way to practice this is to solve each and every question asked in the past 10 years GATE papers and solve each of them until you get the required answer.
I will recommend you to learn and understand the block structure of a Compiler along with the basic terminologies involved in it such as:
Name of each phase.
The functionality of each phase.
Which are the back-end and front-end phases?
Which are the system dependent and system independent phases, etc?
List of important topics (from highest priority to lowest as per my analysis):
Syntax Directed Translation (SDT): Numericals asked from this topic are a bit time consuming but will guarantee you marks if solved till the end.
Lexical analysis: Definitions and the role of each of the phases of the compilers are very important and are usually asked as a 1 mark question.
Parsing: Solving all the previous year questions would be sufficient for this.
Intermediate code generation: Mostly numerical based on tree construction are asked from this. Types of optimizations mentioned in the GATE syllabus shall be read once to get the idea.
Runtime environments: Going through the theory once and solving all the previous year questions would be sufficient for this.
The below figure will help you solve most of the theory related questions pertaining to the relationship between various grammar. I Will recommend you to learn this figure and refer to it every time a question on this topic is asked. The logic is simply which language is a subpart of which other grammars and so on.
This is one of the most logical subjects in the entire GATE syllabus.
Preparing for this subject will also help you to crack various coding and programming related interviews at the time of your placements.
This can be best studied by solving limited but good questions. (solving previous 10 years questions for each of the topics is a must)
Trees, binary search trees, binary heaps, graphs: All these topics are very important and consist of lots of algorithms (to insert/delete an element from a tree) and their properties are very important.
Arrays, stacks, queues, linked lists: These are relatively simple topics but again, understanding their properties is a must to score good marks in this subject.
This is a completely logical subject and hence understanding the concepts in a proper manner would ensure your good performance in this subject.
All the topics from this subject are equally important and if there is anything to memorize, it’s the time and space complexities of various algorithms mentioned in the GATE syllabus. The below table provides the complexities of only search and sorting algorithms. But there are lots of other standard algorithms whose complexities are to be understood and memorized.
Preparing for this subject would help you crack the coding and programming rounds of most of the companies. I would recommend you to be done with this subject before your placements start. It's the knowledge in this subject that has helped me crack the Amazon interview and getting me a 6 months internship as an SDE Intern at Amazon. Knowledge of the topics mentioned in the GATE syllabus is more than sufficient to crack the programming rounds of any of the companies.
Algorithm design techniques: greedy, dynamic programming and divide and conquer: All the standard algorithms from this topic shall be understood properly from basics and their corresponding complexities as well. Knowledge about which technique (algorithm) shall be used when it is of great importance.
Graph search, minimum spanning trees, shortest paths: All the various algorithms and their complexities. I would recommend solving all the previous year questions asked from this topic to understand the level of questions asked.
Asymptotic worst-case time and space complexity: Proper understanding of each of the Asymptotic notations is very important and previous year questions are the best way to practice this topic. There is no need to solve questions from outside resources on this.
Searching, sorting, hashing: Understanding the working of various Searching and Sorting algorithms and which should be used in which case (when do they perform the best and worst, etc), their best, worst and average time/space complexities, etc.
The best way to practice this subject is to go through each and every question asked in the past 10-15 years of GATE paper. It will give you the confidence to face similar questions in the actual GATE paper.
Recursion based questions are straightforward but a bit time-consuming. By this, I mean that the questions on recursion are usually solved just by drawing the recursion tree and making a certain number of iterations with the input value, but there is no shortcut to this. You have to run each pass to get to the final answer and hence very important to be attentive and confident enough to get till the last pass as leaving in between will only lead to a waste of time and you will end up losing some sure short marks.
There are lots of questions asked on pseudocode as well to test the knowledge of your local and global reference, etc.
Preparing well for this subject would also help you clear the coding rounds at the time of your placements.
This subject shall be practiced on a daily basis rather than all at once, as one needs to keep in touch with the concepts involved and hence will be able to remember them for a longer duration.
In general, this is considered as one of the most complex subjects in GATE Computer Science.
It is not complex due to its syllabus, its because of the understanding and clarity required to solve questions on this topic.
The only way to score marks in this subject is to understand the basic concepts involved in it rather than just learning the formulae.
Believe me, formulae will only help when you are clear with the basic concepts otherwise, you won’t be able to interpret even the given data from the question.
List of important topics (from highest priority to lowest as per my analysis):
Memory hierarchy: cache, main memory, and secondary storage: Numericals are very important from this topic and solving each and every question from the past 10 years GATE paper is a must.
Instruction pipelining : The best way to prepare for this is to solve the past 10 year questions from the Gateoverflow discussion forum. It covers all the possible types that can be expected from this topic and would be sufficient.
Machine instructions and addressing modes: Learning the properties of various addressing modes and which should be used when is a must.
I/O interface (interrupt and DMA mode): The block diagram based questions are very important. Numericals on DMA and its various modes of operation are usually asked as a 2 marks question.
ALU, data?path and control unit: Solving past 10 years questions is sufficient.
The first 3 topics are the most important ones and if you are running short of time then I would recommend you to at least go through the previous 10 years' questions of each of the 3 topics.
There are lots of formulae involved in this subject and the best way to learn them is to first understand the logic involved within the topic and then learn the formulae conceptually. This would help you to remember the formulae for a longer duration.
This is one of the most complex subjects in the GATE syllabus due to its vast syllabus.
The best way to prepare for this subject is to solve each and every question asked in the past 10 years of GATE papers (topic wise).
To make it simpler for you, I have provided a link to the PDF that I referred to and according to me, this is sufficient to study and understand the concepts involved.
List of important topics (from highest priority to lowest as per my analysis):
Application layer protocols (DNS, SMTP, POP, FTP, HTTP): This topic is purely based on memorizing the functionalities of each of these protocols such as their type (TCP or UDP), port numbers, etc.
Network security (authentication, basics of a public key and private key cryptography, digital signatures, and certificates, firewalls): Numericals and Algorithms of various cryptographic protocols are important (RSA, Diffie Helman, etc) and each of the previous year questions shall be practiced.
Basics of Wi-Fi: This is a newly added topic in the GATE syllabus, so having basic knowledge is sufficient.
Concept of layering: This involves the basic functionalities provided by each of the network layers and is required to be learned.
IPv4/IPv6, routers and routing algorithms (distance vector, link state): The basic differences between IPv4 and IPv6 are very important. Numericals and concepts involved in the routing protocols, only those that are mentioned in the GATE syllabus, can be studied from some reference book as well as practicing previous year questions is a must.
Flow and error control techniques, switching: Concepts involved with circuit switching and packet switching and the basic differences between them is a must.
LAN technologies (Ethernet): Numericals are comparatively easy and are very important. Again, solving previous year questions is the best way to understand the type of questions framed on this topic.
TCP/UDP and sockets, congestion control: Numericals from this topic are very important and are mostly asked for 2 marks NAT questions. Solving each of the previous year's questions from this topic is a must.
You can download the PDF from here: Aditya Jain CN notes
I would recommend you to learn this table:
The one thing you should remember is that Computer Networks (CN) and Computer Architecture and Organization (CAO) are considered to be the rank decider subjects.
Generally, every candidate who appears for GATE CS struggles with these 2 subjects and hence at the end, they leave them due to shortage of time. So, the ones who score in these 2 subjects definitely has an advantage over the ones who don’t.
I would recommend you to study CN and CAO daily just for 1 hour each so that you don’t get overwhelmed by them and at the same time, you will be completing them topic by topic.
This is the exact strategy I used to get over the fear of these 2 subjects and ended up scoring well in them.
If you are aiming to get into the top IITs, you can’t afford to leave any of the topics of any of the subjects. They all are equally important for you as no one knows what kind of questions are going to come in the actual GATE paper. The above-mentioned priority list is just to help you gain more and more confidence in completing the subjects topic by topic and hence shall be referred to only when you are running short of time.
One thing you should keep in mind is that these are just my views, it's not mandatory for you to follow them. You may prepare as per what you are comfortable with.
In the next article, I am going to share the strategy that I used to attempt the actual GATE paper, which I think is the best way to attempt the paper, to make sure you attempt it properly and end up scoring the maximum possible marks.
All the very best!
The whole Studytonight team hope that you get whatever you are preparing this hard for : )