A carefully selected collection of learning resources for those who are interested in computer science and mathematics.
Subject | Video | Book | Level |
---|---|---|---|
Introductory | Coursera: Computer Science - An Interdisciplinary Approach | Computer Science: An Interdisciplinary Approach (Robert Sedgewick, & Kevin Wayne) | Undergraduate |
Computer Systems | CMU 15-213: Introduction to Computer Systems | Computer Systems: A Programmer's Perspective (Randal Bryant, & David O'Hallaron) | Undergraduate |
General | MIT 6001: Structure and Interpretation of Computer Programs | Structure and Interpretation of Computer Programs (Hal Abelson, Gerald Jay Sussman, & Julie Sussman) | Undergraduate |
Algorithms | MIT 6006: Introduction to Algorithms | Introduction to Algorithms (Thomas Cormen, Charles Leiserson, Ronald Rivest, & Clifford Stein) | Undergraduate |
Programming Paradigms | Stanford CS107: Programming Paradigms | Essential C++ (Stanley Lippman), STL Tutorial and Reference Guide: C++ Programming with the Standard Template Library (David Musser, Gillmer Derge, & Atul Saini), The Scheme Programming Language (Kent Dybvig) | Undergraduate |
Programming Langugages | Stony Brook CSE307: Principles of Programming Languages | Programming Language Pragmatics (Michael Scott) | Undergraduate |
Theory of Computation | MIT 18404J: Theory of Computation | Introduction to the Theory of Computation (Michael Sipser) | Undergraduate |
Information Theory | Information Theory, Pattern Recognition and Neural Networks (David Mасkау) | Information Theory, Inference, and Learning Algorithms (David Mackay) | Undergraduate |
Compilers | Coursera: Compilers | Compilers: Principles, Techniques, and Tools (Alfred Aho, Monica Lam, Ravi Sethi, & Jeffrey Ullman) | Undergraduate |
Networking | Stanford CS144: Introduction to Computer Networking | Computer Networks: A Systems Approach (Bruce Davie, & Larry Peterson) | Undergraduate |
Operating Systems | Caltech CS124: Operating Systems | Operating Systems: Three Easy Pieces (Andrea Arpaci-Dusseau, & Remzi Arpaci-Dusseau) | Undergraduate |
Databases | CMU 15-445: Introduction to Database Systems | Database System Concepts (Henry Korth, Abraham Silerschatz, & S. Sudarshan) | Undergraduate |
Cryptography | Introduction to Cryptography (Christof Paar) | Understanding Cryptography (Christof Paar) | Undergraduate |
Artificial Intelligence | UCB CS188: Introduction to Artificial Intelligence | Artificial Intelligence: A Modern Approach (Peter Norvig) | Undergraduate |
Subject | Video | Book | Level |
---|---|---|---|
Algebra | UMKC Math110: College Algebra | College Algebra (Michael Sullivan) | Undergraduate |
Discrete Mathematics | ArsDigita: Discrete Mathematics | Discrete Mathematics and Its Applications (Kenneth Rosen) | Undergraduate |
Linear Algebra | Linear Algebra (Jim Hefferon) | Linear Algebra (Jim Hefferon) | Undergraduate |
Calculus | MIT 1801: Single Variable Calculus | Calculus with Analytic Geometry (George Simmons) | Undergraduate |
Probability | Harvard Stat110: Probability | Introduction to Probability (Joseph Blitzstein, & Jessica Hwang) | Undergraduate |
Combinatorics | Gatech Math3012: Applied Combinatorics | Applied Combinatorics (Michael Keller, & William Trotter) | Undergraduate |
Number Theory | Williams Math313: Introduction to Number Theory | An Experimental Introduction to Number Theory (Benjamin Hutz) | Undergraduate |
If you like this work, please consider donating to Internet Archive.
All these contents are uploaded for educational purposes only. If you have any concerns about copyright infringement, please get in touch with me at nishant dot varma at gmail dot com
.