2014-11-15 19:02:12 +00:00
List of awesome Computer Science courses scoured from university pages across the web
### Systems
- [CS425 ](https://courses.engr.illinois.edu/cs425/ ) **Distributed Systems** *Univ of Illinois, Urbana-Champaign*
2014-11-15 19:05:37 +00:00
- Brilliant set of lectures and reading material covering fundamental concepts in distributed systems such as Vector clocks, Consensus and Paxos.
2014-11-15 19:02:12 +00:00
- [Lectures ](http://recordings.engineering.illinois.edu/ess/portal/section/11ae0191-49e2-4c34-95fd-fc65355262d4 )
- [Assignments ](https://courses.engr.illinois.edu/cs425/assignments.html )
- [CS241 ](https://courses.engr.illinois.edu/cs241/ ) **Systems Programming** *Univ of Illinois, Urbana-Champaign*
2014-11-15 19:05:37 +00:00
- Learn how to write programs that take full advantage of operating system support in the C programming language
2014-11-15 19:02:12 +00:00
- [Assignments ](https://courses.engr.illinois.edu/cs241/mp.html )
2014-11-15 19:16:36 +00:00
- [15-440 ](http://www.cs.cmu.edu/~dga/15-440/F12/index.html ) **Distributed Systems** *Carnegie-Mellon University*
- Introduction to distributed systems with a focus on teaching concepts via projects implemented in the Go programming language.
- [Assignments ](http://www.cs.cmu.edu/~dga/15-440/F12/assignments.html )
- [SPAC ](http://homes.cs.washington.edu/~djg/teachingMaterials/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
2014-11-15 19:02:12 +00:00
### Programming Languages / Compilers
- [COS326 ](http://www.cs.princeton.edu/~dpw/courses/cos326-12/info.php ) **Functional Programming** *Princeton University*
- Covers functional programming concepts like closures, tail-call recursion & parallelism using the OCaml programming language
- [Lectures ](http://www.cs.princeton.edu/~dpw/courses/cos326-12/lectures.php )
- [Assignments ](http://www.cs.princeton.edu/~dpw/courses/cos326-12/assignments.php )
2014-11-15 20:01:00 +00:00
- [CS240h ](http://www.scs.stanford.edu/14sp-cs240h/ ) **Functional Systems in Haskell** *Stanford University*
- Building software systems in Haskell
- [Lecture Slides ](http://www.scs.stanford.edu/14sp-cs240h/slides/ )
- 3 Assignments: [Lab1 ](http://www.scs.stanford.edu/14sp-cs240h/labs/lab1.html ), [Lab2 ](http://www.scs.stanford.edu/14sp-cs240h/labs/lab2.html ), [Lab3 ](http://www.scs.stanford.edu/14sp-cs240h/labs/lab3.html )
2014-11-16 09:17:51 +00:00
- [CS164 ](https://sites.google.com/a/bodik.org/cs164/home ) **Hack your language!** *UC Berkeley*
- Introduction to programming languages by designing and implementing domain-specific languages.
- [Lecture Videos ](https://www.youtube.com/playlist?list=PL421867F00A53B833 )
2014-11-16 10:20:49 +00:00
- [Code for Assignments ](https://bitbucket.org/cs164_overlord/ )
2014-11-15 19:32:30 +00:00
### Algorithms
- [COS226 ](http://www.cs.princeton.edu/courses/archive/fall14/cos226/info.php ) **Data Structures and Algorithms** *Princeton University*
- The [popular ](https://www.coursera.org/course/algs4partI ) algorithms class covering most important algorithms and data structures in use on computers taught by Robert Sedgewick.
- [Assignments ](http://www.cs.princeton.edu/courses/archive/fall14/cos226/assignments.php )
2014-11-15 19:48:03 +00:00
### Software Engineering
- [CS 5150 ](http://www.cs.cornell.edu/courses/CS5150/2014fa/overview.html ) **Software Engineering** *Cornell University*
- Introduction to the practical problems of specifying, designing, building, testing, and delivering reliable software systems
- [Lectures ](http://www.cs.cornell.edu/courses/CS5150/2014fa/materials.html )