Recently I came across this excellent post on aGupieWare’s blog listing down all the free online computer science course materials.
Here is the complete list copied AS-IS from the post:
Introductory Courses
Intro to Computer Science:
- Introduction to Computer Science and Programming: MIT
- Intensive Introduction to Computer Science: Harvard
- Introduction to Computer Science and Programming Methodology: Stanford
- Programming Abstractions (Second Course in Unit): Stanford
- Mathematics for Computer Science: MIT
- Discrete Mathematics: ArsDigita
- Programming 1: University of Toronto
- Programming 2: University of Toronto
- Introduction to the Theory of Computation: Stonehill
- Principles of Computing: Rice
Core Courses
Theory:- Theory of Computation: UC Davis
- Theory of Computation: ITT Kanpur
- Efficient Algorithms and Intractable Problems: Berkeley
- Data Structures: Berkeley
- Linear Algebra through Computer Science Applications: Brown
- Discrete Math and Probability Theory: Berkeley
- Operating Systems and Systems Programming: Berkeley
- Introduction to Linux: edX
- Programming Paradigms: Stanford
- Object Oriented Programming: MIT
- Object Oriented Programming in C++: ITU
- Software Engineering: Berkeley
- Elements of Software Construction: MIT
- Computer Architecture: Carnegie Mellon
- Computer Architecture: Princeton
- Introduction to Databases: Stanford
- Introduction to Modern Database Systems: Saylor
- Fundamentals of Computer Networking: Manhattan College
- Introduction to Data Communications: Thammasat University
- Introduction to Cryptography: Ruhr University
- Introduction to IT Security: Thammasat University
- Introduction to Artificial Intelligence: Berkeley
Intermediate and Advanced Courses
Algorithms and Data Structures:- Advanced Data Structures: MIT
- Analytic Combinatorics: Princeton
- Computer System Engineering: MIT
- The Hardware/Software Interface: University of Washington
- Design in Computing: UNSW
- Principles of Programming Languages: IIT
- C++ for C Programmers: UC Santa Cruz
- Heterogeneous Parallel Programming: University of Illinois
- Compilers: Stanford
- Mobile Software Engineering: Harvard
- Software Engineering for Scientific Computing: Berkeley
- Building Mobile Applications: Harvard
- iPhone Application Development: ITU
- Android Application Development: ITU
- Building Dynamic Websites: Harvard
- Introduction to Database Management Systems: KU Leuven University
- Database Management Systems: Ars Digita
- Advanced Databases: Saylor
- Security and Cryptography: Thammasat University
- Designing and Executing Information Security Strategies: University of Washington
- Information Security and Risk Management in Context: University of Washington
- Cryptography 1: Stanford
- Cryptography 2: Stanford
- Bilinear Pairings in Cryptography: BIU
- Artificial Intelligence: HRW
- Artificial Intelligence: Berkeley
- Machine Learning: Stanford
- Natural Language Processing: Columbia
- Natural Language Processing: Stanford
- Digital Image Processing: Purdue
- Computer Graphics: Berkeley
- Computer Graphics: ITU
- Computer Networks: University of Washington
- Internet Technologies and Applications: Thammasat University
- Statistics and Probability: Harvard
- Probabilistic Systems Analysis and Applied Probability: MIT
- Statistical Inference: Johns Hopkins
- Data Analysis and Statistical Inference: Duke
I went through the Harvard CS course before few years and it was lot of fun.
Enjoy Learning…