Arjun Suresh (talk | contribs) |
Arjun Suresh (talk | contribs) |
||
Line 1: | Line 1: | ||
− | ==Algorithms == | + | ==Algorithms & Data Structures == |
<div><b>GATE Topics: </b><br> | <div><b>GATE Topics: </b><br> | ||
<ul> | <ul> | ||
Line 10: | Line 10: | ||
<li>Asymptotic analysis (best, worst, average cases) of time and space, upper and lower bounds, Basic concepts of complexity classes – P, NP, NP-hard, NP-complete. </li> </ul> | <li>Asymptotic analysis (best, worst, average cases) of time and space, upper and lower bounds, Basic concepts of complexity classes – P, NP, NP-hard, NP-complete. </li> </ul> | ||
</div> | </div> | ||
+ | <b> Data Structures </b> <br> | ||
+ | <ul> | ||
+ | <li> Abstract data types, Arrays, Stacks, Queues </li> | ||
+ | <li> Linked Lists </li> | ||
+ | <li>Trees, Binary search trees, Binary heaps. </li> | ||
+ | </ul> | ||
{| class="wikitable" | {| class="wikitable" | ||
! Book | ! Book | ||
Line 69: | Line 75: | ||
==Compiler Design== | ==Compiler Design== | ||
+ | <b>Compiler Design:</b><br> | ||
+ | <ul> | ||
+ | <li>Lexical analysis, Parsing </li> | ||
+ | <li> Syntax directed translation, Runtime environments </li> | ||
+ | <li>Intermediate and target code generation, Basics of code optimization. </li> | ||
+ | </ul> | ||
{| class="wikitable" | {| class="wikitable" | ||
! Book | ! Book | ||
Line 79: | Line 91: | ||
|} | |} | ||
==Operating Systems== | ==Operating Systems== | ||
+ | <b>Operating System: </b> <br> | ||
+ | <ul> | ||
+ | <li> Processes, Threads, Inter-process communication </li> | ||
+ | <li> Concurrency, Synchronization </li> | ||
+ | <li> Deadlock </li> | ||
+ | <li> CPU scheduling </li> | ||
+ | <li> Memory management and virtual memory </li> | ||
+ | <li> File systems, I/O systems, Protection and security. </li> | ||
+ | </ul> | ||
{| class="wikitable" | {| class="wikitable" | ||
! Book | ! Book | ||
Line 93: | Line 114: | ||
|} | |} | ||
==Theory of Computation== | ==Theory of Computation== | ||
+ | <b>Theory of Computation:</b> <br> | ||
+ | <ul> | ||
+ | <li> Regular languages and finite automata </li> | ||
+ | <li>Context free languages and Push-down automata </li> | ||
+ | <li>Recursively enumerable sets and Turing machines</li> | ||
+ | <li> Undecidability. </li> | ||
+ | </ul> | ||
{|class="wikitable" | {|class="wikitable" | ||
!Book | !Book | ||
Line 116: | Line 144: | ||
==CO & Architecture== | ==CO & Architecture== | ||
+ | <div> | ||
+ | <b>Computer Organization and Architecture: </b> <br> | ||
+ | <ul> | ||
+ | <li> Machine instructions and addressing modes</li> | ||
+ | <li> ALU and data-path, CPU control design</li> | ||
+ | <li> Memory interface, I/O interface (Interrupt and DMA mode) </li> | ||
+ | <li> Instruction pipelining </li> | ||
+ | <li> Cache and main memory, Secondary storage. </li> | ||
+ | </ul> | ||
+ | </div> | ||
{|class="wikitable" | {|class="wikitable" | ||
!Book | !Book | ||
Line 134: | Line 172: | ||
==Computer Networks== | ==Computer Networks== | ||
+ | <b>Computer Networks: </b> <br> | ||
+ | <ul> | ||
+ | <li> ISO/OSI stack, LAN technologies (Ethernet, Token ring) </li> | ||
+ | <li> Flow and error control techniques, Routing algorithms, Congestion control </li> | ||
+ | <li> TCP/UDP and sockets, IP(v4), Application layer protocols (icmp, dns, smtp, pop, ftp, http)</li> | ||
+ | <li>Basic concepts of hubs, switches, gateways, and routers</li> | ||
+ | <li> Network security – basic concepts of public key and private key cryptography, digital signature, firewalls </li> | ||
+ | </ul> | ||
{|class="wikitable" | {|class="wikitable" | ||
!Book | !Book | ||
Line 152: | Line 198: | ||
|} | |} | ||
− | ==Programming | + | ==Programming== |
+ | <b>Programming:</b> <br> | ||
+ | <ul> | ||
+ | <li> Programming in C </li> | ||
+ | <li> Functions, Recursion </li> | ||
+ | <li> Parameter passing, Scope, Binding </li> | ||
+ | </ul> | ||
{|class="wikitable" | {|class="wikitable" | ||
!Book | !Book | ||
Line 176: | Line 228: | ||
|} | |} | ||
==Information Systems and Software Engineering== | ==Information Systems and Software Engineering== | ||
+ | <b>Information Systems and Software Engineering </b> | ||
+ | <ul> | ||
+ | <li>Information gathering, requirement and feasibility analysis data flow diagrams </li> | ||
+ | <li>Process specifications, input/output design, process life cycle </li> | ||
+ | <li>Planning and managing the project, design, coding </li> | ||
+ | <li>Testing, implementation, maintenance. </li> | ||
+ | </ul> | ||
{|class="wikitable" | {|class="wikitable" | ||
!Book | !Book |
Data Structures
Book |
Description |
---|---|
Introduction to Algorithms
C.L.R.S |
Cormen covers entire GATE syllabus (and much more) in Algorithms as well as Data Structures. Language is simple for most part but some mathematics is required to understand the analysis parts. (This book is only for learning algorithms and theory of data structures and there is no sample programs given in it) |
Fundamentals of Computer Algorithms
Rajasekaran, Sahni, Horowitz |
This book is Mini version of Cormen’s book , this cover almost everything with short discussions ,which is written in Cormen with more pages.
Use this book along with NPTEL lecture of Professor Naveen Garg . Actually if u see prof Garg’s Nptel upon DS you will find slides are taken from this book. Slides are available online in the following link: |
Design & Analysis of Computer Algorithms
Aho, Hopcroft, Ullman |
Another classic book for algorithms. |
Book |
Description |
---|---|
Database Systems
Elmasri, Navathe |
Covers entire GATE syllabus and especially good for file structures and normalization |
Database Systems
Connolly, Begg |
Covers entire GATE syllabus and is easy to understand. |
Database Management Systems
Raghu Ramakrishnan |
Another very good book especially for Transaction management and Normalization. |
Database System
Widom, Ullman, Garcia-Molina |
Another very good book. |
Database System Concepts
Silberschatz |
Very good book but English is bit high standard |
Compiler Design:
Book |
Description |
---|---|
Compilers : Principles, Techniques, & Tools
Aho, Sethi, Ulman, Lam |
One and only book. If you find the explanations tough, start looking at the given examples, they are easy to follow |
Operating System:
Book |
Description |
---|---|
Operating System Concepts
Silberschatz, Galvin |
Very good for learning theory in OS. English is good to understand. Writing style is pretty easy and fun. Enough for GATE |
Modern Operating Systems
Tanenbaum |
The Book , but if you read Galvin it is ok , read Tanenbaum for more Knowledge. It contains great number of problems. Also includes some of theory that is not included in Galvin’s book. |
Theory of Computation:
Book |
Description |
---|---|
An Introduction To Formal Languages And Automata
Peter Linz |
Most recommended one for GATE |
Introduction to Theory of Computation
Sipser |
Sipser is a quick and comprehensive guide. It is recommended to be read after you have grip on the subject. |
Introduction To Computer Theory
Cohen |
Cohen can be read if very good detailed analysis is required. SPOON FEEDING ! |
Introduction to Automata Theory, Languages, and Computation
Hopcroft |
In most colleges you will find this book as a Main book , but believe me within Cohen or Linz, if you read any one of them , Enough! |
Computer Organization and Architecture:
Book |
Description |
---|---|
Computer Organization
Vranesic, Zaky, Hamacher |
|
Computer Organization and Architecture : Designing for Performance
Stallings |
|
Computer Systems: A Programmers perspective | This is a really good book in perspective of architecture as a simple view of how the actual hardware is organised is given. Apart from the classical confusing diagrams, this book has simple ones which is quite clear in its meaning. The explanation for pipeline execution and hazards are really good. This book is no longer in print, but you can get its pdf by clicking in the link provided. Highly recommended if you have time as this covers many of the other CS subjects as well. |
Computer Networks:
Book |
Description |
---|---|
Computer Networks, Peterson, Davie | Most recommended for GATE |
Data Communication & Networks, Forouzan | Good book with Basics clear |
Computer Netwroks, Tanenbaum, Wetherall | Kurose is best for Almost all fundamental concept with clear figure and very understandable manners |
Computer Networking: A Top-Down Approach, Kurose | One can not neglect the amazing book by tanenbaum. It contains everything in a very well written way. It is amusing and `it deals with issues in a manner you want to do. If you are starting the subject, go with it. It is not recommended for last time reading. Keep making good notes if you read his book. |
Programming:
Book |
Description |
---|---|
The C Programming Language, Kernighan, Ritchie | No comments- This is the best. To really understand the working of C, you must read this book. If you find this book tough, that means you have to correct your concepts by talking to knowledgeable people. Many local books, skips difficult to digest concepts and make easy to read books- but to get everything you have to follow this book. |
Data Structures Using C, Aaron M. Tenenbaum | For most of the data structure concepts |
Book |
Description |
---|---|
Digital Logic & Computer Design, Morris Mano | No Comment… One and only… |
Information Systems and Software Engineering
Book |
Description |
---|---|
Software Engineering, Pressman | Just see the GATE topics from this bible. |
Book |
Description |
---|---|
A First Course in Probability, Ross | Sheldon ross’s book (1st course in Probability) is undoubtedly very good.But you have to read this book very deeply page by page. |
Book |
Description |
---|---|
Discrete Mathematics and Its Applications with Combinatorics and Graph Theory, Rosen |
Book |
Description |
---|---|
Graph Theory With Applications To Engineering And Computer Science, Deo |
Book |
Description |
---|---|
Linear Algebra and its Applications, Gilbert Strang | |
Higher Engineering Mathematics , Grewal |
Book |
Description |
---|---|
Quantitative Aptitude For Competitive Examinations, Aggarwal |
Data Structures
Book |
Description |
---|---|
Introduction to Algorithms
C.L.R.S |
Cormen covers entire GATE syllabus (and much more) in Algorithms as well as Data Structures. Language is simple for most part but some mathematics is required to understand the analysis parts. (This book is only for learning algorithms and theory of data structures and there is no sample programs given in it) |
Fundamentals of Computer Algorithms
Rajasekaran, Sahni, Horowitz |
This book is Mini version of Cormen’s book , this cover almost everything with short discussions ,which is written in Cormen with more pages.
Use this book along with NPTEL lecture of Professor Naveen Garg . Actually if u see prof Garg’s Nptel upon DS you will find slides are taken from this book. Slides are available online in the following link: |
Design & Analysis of Computer Algorithms
Aho, Hopcroft, Ullman |
Another classic book for algorithms. |
Book |
Description |
---|---|
Database Systems
Elmasri, Navathe |
Covers entire GATE syllabus and especially good for file structures and normalization |
Database Systems
Connolly, Begg |
Covers entire GATE syllabus and is easy to understand. |
Database Management Systems
Raghu Ramakrishnan |
Another very good book especially for Transaction management and Normalization. |
Database System
Widom, Ullman, Garcia-Molina |
Another very good book. |
Database System Concepts
Silberschatz |
Very good book but English is bit high standard |
Compiler Design:
Book |
Description |
---|---|
Compilers : Principles, Techniques, & Tools
Aho, Sethi, Ulman, Lam |
One and only book. If you find the explanations tough, start looking at the given examples, they are easy to follow |
Operating System:
Book |
Description |
---|---|
Operating System Concepts
Silberschatz, Galvin |
Very good for learning theory in OS. English is good to understand. Writing style is pretty easy and fun. Enough for GATE |
Modern Operating Systems
Tanenbaum |
The Book , but if you read Galvin it is ok , read Tanenbaum for more Knowledge. It contains great number of problems. Also includes some of theory that is not included in Galvin’s book. |
Theory of Computation:
Book |
Description |
---|---|
An Introduction To Formal Languages And Automata
Peter Linz |
Most recommended one for GATE |
Introduction to Theory of Computation
Sipser |
Sipser is a quick and comprehensive guide. It is recommended to be read after you have grip on the subject. |
Introduction To Computer Theory
Cohen |
Cohen can be read if very good detailed analysis is required. SPOON FEEDING ! |
Introduction to Automata Theory, Languages, and Computation
Hopcroft |
In most colleges you will find this book as a Main book , but believe me within Cohen or Linz, if you read any one of them , Enough! |
Computer Organization and Architecture:
Book |
Description |
---|---|
Computer Organization
Vranesic, Zaky, Hamacher |
|
Computer Organization and Architecture : Designing for Performance
Stallings |
|
Computer Systems: A Programmers perspective | This is a really good book in perspective of architecture as a simple view of how the actual hardware is organised is given. Apart from the classical confusing diagrams, this book has simple ones which is quite clear in its meaning. The explanation for pipeline execution and hazards are really good. This book is no longer in print, but you can get its pdf by clicking in the link provided. Highly recommended if you have time as this covers many of the other CS subjects as well. |
Computer Networks:
Book |
Description |
---|---|
Computer Networks, Peterson, Davie | Most recommended for GATE |
Data Communication & Networks, Forouzan | Good book with Basics clear |
Computer Netwroks, Tanenbaum, Wetherall | Kurose is best for Almost all fundamental concept with clear figure and very understandable manners |
Computer Networking: A Top-Down Approach, Kurose | One can not neglect the amazing book by tanenbaum. It contains everything in a very well written way. It is amusing and `it deals with issues in a manner you want to do. If you are starting the subject, go with it. It is not recommended for last time reading. Keep making good notes if you read his book. |
Programming:
Book |
Description |
---|---|
The C Programming Language, Kernighan, Ritchie | No comments- This is the best. To really understand the working of C, you must read this book. If you find this book tough, that means you have to correct your concepts by talking to knowledgeable people. Many local books, skips difficult to digest concepts and make easy to read books- but to get everything you have to follow this book. |
Data Structures Using C, Aaron M. Tenenbaum | For most of the data structure concepts |
Book |
Description |
---|---|
Digital Logic & Computer Design, Morris Mano | No Comment… One and only… |
Information Systems and Software Engineering
Book |
Description |
---|---|
Software Engineering, Pressman | Just see the GATE topics from this bible. |
Book |
Description |
---|---|
A First Course in Probability, Ross | Sheldon ross’s book (1st course in Probability) is undoubtedly very good.But you have to read this book very deeply page by page. |
Book |
Description |
---|---|
Discrete Mathematics and Its Applications with Combinatorics and Graph Theory, Rosen |
Book |
Description |
---|---|
Graph Theory With Applications To Engineering And Computer Science, Deo |
Book |
Description |
---|---|
Linear Algebra and its Applications, Gilbert Strang | |
Higher Engineering Mathematics , Grewal |
Book |
Description |
---|---|
Quantitative Aptitude For Competitive Examinations, Aggarwal |