Awesome CS Courses 
Introduction
There are a lot of ~~hidden~~ treasures lying within university pages scattered across the internet. This list is an attempt to bring to light those awesome CS courses which make their high-quality materials, i.e. assignments, lectures, notes, readings and examinations, available online for free.
Table of Contents
- Algorithms
- Artificial Intelligence
- Computer Graphics
- CS Theory
- Introduction to CS
- Machine Learning
- Misc
- Programming Languages / Compilers
- Security
- Systems
- Statistics / Regression
Legend
- Lecture Videos
- Lecture Notes
- Assignments / Labs
- Readings
Courses
Systems
- CS 61C Great Ideas in Computer Architecture (Machine Structures) UC Berkeley

- The subjects covered in this course include: C and assembly language programming, translation of high-level programs into machine language, computer organization, caches, performance measurement, parallelism, CPU design, warehouse-scale computing, and related topics.
- Lecture Videos
- Lecture Notes
- Resources
- Old Exams
- CS 107 Computer Organization & Systems Stanford University

- CS107 is the third course in Stanford's introductory programming sequence. The course will work from the C programming language down to the microprocessor to de-mystify the machine. With a complete understanding of how computer systems execute programs and manipulate data, you will become a more effective programmer, especially in dealing with issues of debugging, performance, portability, and robustness.
- Lecture Videos
- Assignments
- CS 140 Operating Systems Stanford University

- This class introduces the basic facilities provided in modern operating systems. The course divides into three major sections. The first part of the course discusses concurrency. The second part of the course addresses the problem of memory management. The third major part of the course concerns file systems.
- Lecture Notes
- Assignments
- 6.004 Computation Structures MIT
