Recommended books to start with
Algorithms
Data structures and Algorithms - Aho, Hopcroft, Ullman
The Design and Analysis of Computer Algorithms - Aho, Hopcroft, Ullman
Algorithms - A creative approach - Udi Manber
Algorithms + Data Structures = Programs - Wirth
Programming Pearls - Bentley
Programming Interviews Exposed
Discrete Math
Elements of discrete structures - C.L.Liu
Discrete Mathematics - Rosen
How to solve it - Polya
Theory of Computation
Computers and Intractability -
Garey and Johnson
Theory of Computation -
M.Sipser
Systems
Operating System - Gary Nutt
Database system implementation - Garcia Molina
File Structures - Michael J. Folk
Networking - Larie L Peterson , Bruce Davie
Online Course Material
Many universities have put their material online
http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/index.htm
http://www.aduni.org/
http://nptel.iitm.ac.in
These are some good videos available online covering basics of computer science.
For those in IISc , some of them are internally hosted (mail me to get the
links).The following courses at these universities are recommended to start
with. For actual links see
http://freescienceonline.blogspot.com
MIT ( SICP , Algorithms, Systems, Linear Algebra )
Aduni ( Algorithms, Discrete Math, How Computers Work , Web )
Operating Systems videos from RPI
compiler videos from MIT
programming language videos by Dan Grossman
architecture videos by Susan Eggers
U.Berkley also has some videos, though it can be only streamed and not
downloaded
Some math related videos.
Dijkstra - Mathematical Excitements
Dijkstra - Power of counting Arguments
Real Analysis by R.Vittal Rao
http://researchchannel.org - Many
of the videos are good. (like Tarjan's talk on data-structures, Rugina's
talk on alias analysis, Whaley's talk on Binary Decision Diagrams)
1) Foundations of Computer Science (CSC-221 material)
2) Efficient Algorithms and Intractable Problems ( CS170 ) Luca Trevisan
3) Design and Analysis of Computer Algorithms (CMSC 451 ) David M. Mount
4) Algorithms and complexity - Herbert Wilf
5) Algorithms - Robert Sedgewick
6) Algorithm Design Manual - Skiena
7) Algorithms and Data Structures (IARCS course material) Venkatesh
Raman,IMSc
8) Algorithms + DataStructures = Programs - Wirth (only oberon version available
online)
9) Ian Parberry's "Lecture notes on Algorithm Analysis and Computational
Complexity"
10) Problems on Algorithms - Ian Parberry
11) Jeff Erickson's courses at UIUC - compgeom.cs.uiuc.edu/~jeffe/ [suggested by Sumant]
12) http://www.cs.pitt.edu/~kirk/algorithmcourses/ [suggested by Debmalya]
13) Data Structures and Algorithms - Y.Narahari
Other than the well known Hennessy Patterson, Hayes, Hamacher
book - William Stallings - computer Architecture
notes - Computer Architecture: summaries notes the web from [liacs.nl]
notes - Modern Microprocessors A 90 Minute Guide! by Jason Patterson
notes - Pipelining Review by Mark Smotherman
book - Processor Architecture - Chapter4 of Randall E.Byrant's book
paper- PC Processor Microarchitecture - A Concise Review of the Techniques Used
in Modern PC Processors - Keith Diefendorff
book - Art of Assembly Chapter 4 - Basic CPU Design [webster.cs.ucr.edu]
paper- The Micro-architecture of Superscalar Processors - Sohi
notes - COMP-620 Class Notes on Computer Architecture D.Salomon
paper - Compilation Techniques for Exploiting Instruction Level Parallelism, a
Survey - Laura Pozzi
paper - Limits of Instruction Level Parallelism - D.Wall
book - Advanced Computer Architecture - A design space Approach - by Sima ,
Fountain, Kacsuk
book- Computer Systems - A programmers perspective Randal E. Bryant /
David R. O’Hallaron
book- Elements of File Structures - Shashi K. Gadia
book - A short introduction to operating Systems - Mark Burgess
notes - Operating Systems study questions (CS-354)
book- Understanding the Network - A Practical Guide to Internetworking -
Michael J. Martin
paper- Butler Lampson, Hints for computer system design
book - Jon Bentley, Writing Efficient Programs
book - Advanced Linux Programming - Mark Mitchell, Jeffrey Oldham, and Alex
Samuel
book - The C Odyssey Unix - The open boundless C - Meeta Gandhi
book - PC Assembly Language - Paul A. Carter
book - The Art of Assembly - online
Some notes from web
1) Ars Digita University Lecture Notes - Shai Simonson
2) Theory of Computation (CSCI 3434) - Karl Winklmann, Carolyn J. C. Schauble
3) Models of Computation ( COS 126)
4) Lecture notes from University of kentucky
Some papers
1) Incomputability - C.A.R.Hoare and D.C.S.Allison , Computing Surveys 1972
Vannevar Bush's As We May
Think
Butler Lampson's
Hints for
Computer System Design
D.L. Parnas,
On the Criteria To Be Used in
Decomposing Systems into Modules
Turing's
On Computable Numbers, With
an Application to the Entscheidungsproblem
Introduction to Probability ( Charles M. Grinstead / Laurie Snell)
Induction and Analogy in mathematics - Polya
Notes on Combinatorics - Polya, Tarjan,Woods
Applied Combinatorics - Tucker
What is mathematical logic - Crossley
The Mathematical Century - Odifreddi
Basic Concepts of Mathematics (Zakon)
Martin Gardener - Flatterland
Euler the master of us all
A Mathematical Bridge
The story of 'i' - An imaginary tale
100 greatest problems of elementary mathematics - Their history and solution (Dorrie)
Elementary Calculus: An
Approach Using Infinitesimals
Introduction to Information Theory
notes: some beautiful proofs regarding a) infinitude of prime numbers b)
Derangements c) Generating functions d) Sums of series
which were derived by Euler are presented in [Euler the master of us all].
Irrationality of e , Group theoretic theorems like orbit stabilizer theorem are
presented in an interesting manner is presented in [A Mathematical Bridge].
Logic, Turing Machines, Halting Problem is presented in [Crossley]. The first
chapter is a must reading before you attempt to learn Theory of Computation.
Flatterland gives more insight into dimensionality (like what happens if our
world is two dimensional or four dimensional)
Computer Science Bibliographies
http://liinwww.ira.uka.de/bibliography/index.html
Lectures, Surveys, papers
http://wwwcs.uni-paderborn.de/fachbereich/AG/agmadh/WWW/english/scripts.html
Classic Texts
http://www.zafar.se/bkz/home/classictextsincomputersc.html
Reading List
http://john.regehr.org/reading_list/
Stanford CS Library
http://cslibrary.stanford.edu/
Nice Articles
You and Your Research by R.W.Hamming
Technology and Courage by Ivan Sutherland
contact info
Arvind Devaraj , M.Sc Engg student, Department of CSA
e-mail: arvind_devaraj AT yahoo DOT com.