mirror of
https://github.com/prakhar1989/awesome-courses.git
synced 2024-10-01 05:45:36 -04:00
List of awesome university courses for learning Computer Science
README.md |
List of awesome Computer Science courses scoured from university pages across the web
Systems
- CS425 Distributed Systems Univ of Illinois, Urbana-Champaign
- Brilliant set of lectures and reading material covering fundamental concepts in distributed systems such as Vector clocks, Consensus and Paxos.
- Lectures
- Assignments
- CS241 Systems Programming Univ of Illinois, Urbana-Champaign
- Learn how to write programs that take full advantage of operating system support in the C programming language
- Assignments
- 15-440 Distributed Systems Carnegie-Mellon University
- Introduction to distributed systems with a focus on teaching concepts via projects implemented in the Go programming language.
- Assignments
- SPAC Parallelism and Concurrency Univ of Washington
- Technically not a course nevertheless an awesome collection of materials used by Prof Dan Grossman to teach parallelism and concurrency concepts to sophomores at UWash
- 15-749 Engineering Distributed Systems Carnegie-Mellon University
- A project focused course on Distributed Systems with an awesome list of readings
- Readings
- CS5412 Cloud Computing Cornell University
- Taught by one of the stalwarts of this field, Prof Ken Birman, this course has a fantastic set of slides that one can go through. The Prof's book is also a gem and recommended as a must read in Google's tutorial on Distributed System Design
- Slides
Programming Languages / Compilers
- COS326 Functional Programming Princeton University
- Covers functional programming concepts like closures, tail-call recursion & parallelism using the OCaml programming language
- Lectures
- Assignments
- CS240h Functional Systems in Haskell Stanford University
- Building software systems in Haskell
- Lecture Slides
- 3 Assignments: Lab1, Lab2, Lab3
- CS164 Hack your language! UC Berkeley
- Introduction to programming languages by designing and implementing domain-specific languages.
- Lecture Videos
- Code for Assignments
- CS3110 Data Structures and Functional Programming Cornell University
- Another course that uses OCaml to teach alternative programming paradigms, especially functional and concurrent programming.
- Lecture Slides
- Assignments
- CS173 Programming Languages Brown University
- Course by Prof. Krishnamurthi (author of HtDP) and numerous other awesome books on programming languages. Uses a custom designed Pyret programming language to teach the concepts. There was an online class hosted in 2012, which includes all lecture videos for you to enjoy.
- Videos
- Assignments
Algorithms
- COS226 Data Structures and Algorithms Princeton University
- The popular algorithms class covering most important algorithms and data structures in use on computers taught by Robert Sedgewick.
- Assignments