mirror of
https://github.com/prakhar1989/awesome-courses.git
synced 2024-10-01 05:45:36 -04:00
78 lines
8.1 KiB
Markdown
78 lines
8.1 KiB
Markdown
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*
|
|
- Brilliant set of lectures and reading material covering fundamental concepts in distributed systems such as Vector clocks, Consensus and Paxos.
|
|
- [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*
|
|
- Learn how to write programs that take full advantage of operating system support in the C programming language
|
|
- [Assignments](https://courses.engr.illinois.edu/cs241/mp.html)
|
|
- [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)
|
|
- [6.824](http://css.csail.mit.edu/6.824/2014/index.html) **Distributed Systems** *MIT*
|
|
- MIT's graduate-level DS course with a focus on fault tolerance, replication, and consistency, all taught via awesome lab assignments in Golang!
|
|
- [Assignments](http://css.csail.mit.edu/6.824/2014/labs/) - Just do `git clone git://g.csail.mit.edu/6.824-golabs-2014 6.824`
|
|
- [Lectures](http://css.csail.mit.edu/6.824/2014/schedule.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
|
|
- [15-749](http://www.andrew.cmu.edu/course/15-749/) **Engineering Distributed Systems** *Carnegie-Mellon University*
|
|
- A project focused course on Distributed Systems with an awesome list of readings
|
|
- [Readings](http://www.andrew.cmu.edu/course/15-749/READINGS/)
|
|
- [PODC](http://dcg.ethz.ch/lectures/podc_allstars/) **Principles of Distributed Computing** *ETH-Zurich*
|
|
- Explore essential algorithmic ideas and lower bound techniques, basically the "pearls" of distributed computing in an easy-to-read set of lecture notes, combined with complete exercises and solutions.
|
|
- [Book](http://dcg.ethz.ch/lectures/podc_allstars/lecture/podc.pdf)
|
|
- [Assignments and Solutions](http://dcg.ethz.ch/lectures/podc_allstars/)
|
|
- [CS5412](http://www.cs.cornell.edu/Courses/CS5412/2014sp/) **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](http://www.amazon.com/Guide-Reliable-Distributed-Systems-High-Assurance/dp/1447124154) is also a gem and recommended as a must read in Google's tutorial on [Distributed System Design](http://www.hpcs.cs.tsukuba.ac.jp/~tatebe/lecture/h23/dsys/dsd-tutorial.html)
|
|
- [Slides](http://www.cs.cornell.edu/Courses/CS5412/2014sp/Syllabus.htm)
|
|
|
|
### 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)
|
|
- [CIS194](http://www.seas.upenn.edu/~cis194/) **Introduction to Haskell** *Penn Engineering*
|
|
- Explore the joys of functional programming, using Haskell as a vehicle. The aim of the course will be to allow you to use Haskell to easily and conveniently write practical programs.
|
|
- [Previous](http://www.seas.upenn.edu/~cis194/spring13/index.html) semester also available, with more exercices
|
|
- [Assignments & Lectures](http://www.seas.upenn.edu/~cis194/lectures.html)
|
|
- [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)
|
|
- [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)
|
|
- [Code for Assignments](https://bitbucket.org/cs164_overlord/)
|
|
- [CS3110](http://www.cs.cornell.edu/Courses/cs3110/2014fa/course_info.php) **Data Structures and Functional Programming** *Cornell University*
|
|
- Another course that uses OCaml to teach alternative programming paradigms, especially functional and concurrent programming.
|
|
- [Lecture Slides](http://www.cs.cornell.edu/Courses/cs3110/2014fa/lecture_notes.php)
|
|
- [Assignments](http://www.cs.cornell.edu/Courses/cs3110/2014fa/)
|
|
- [CS173](http://cs.brown.edu/courses/cs173/2014/) **Programming Languages** *Brown University*
|
|
- Course by Prof. Krishnamurthi (author of [HtDP](http://htdp.org/2003-09-26/Book/)) and numerous other [awesome](http://cs.brown.edu/courses/cs173/2012/book/) [books](http://papl.cs.brown.edu/2014/index.html) on programming languages. Uses a custom designed [Pyret](http://www.pyret.org/) programming language to teach the concepts. There was an [online class](http://cs.brown.edu/courses/cs173/2012/OnLine/) hosted in 2012, which includes all lecture videos for you to enjoy.
|
|
- [Videos](http://cs.brown.edu/courses/cs173/2012/Videos/)
|
|
- [Assignments](http://cs.brown.edu/courses/cs173/2014/assignments.html)
|
|
|
|
### 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)
|
|
- [CS61B](http://www.cs.berkeley.edu/~jrs/61b/) **Data Structures** *Berkeley*
|
|
- In this course, you will study advanced programming techniques including data structures, encapsulation, abstract data types, interfaces, and algorithms for sorting and searching, and you will get a taste of “software engineering”—the design and implementation of large programs.
|
|
- [Labs](http://www.cs.berkeley.edu/~jrs/61b/lab/index.html)
|
|
- [Lecture Videos on Youtube](http://www.youtube.com/watch?v=frxF7Vs96YU&list=PLMM0a7ZGnITrgfhOxMNP7bpP4hhhKNY9s)
|
|
|
|
### Misc
|
|
- [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)
|
|
- [15-781](http://www.cs.cmu.edu/~tom/10701_sp11/) **Machine Learning** *Carnegie Mellon University*
|
|
- Taught by one of the leading experts on Machine Learning - **Tom Mitchell**
|
|
- [Lectures](http://www.cs.cmu.edu/~tom/10701_sp11/lectures.shtml)
|
|
- [Project Ideas and Datasets](http://www.cs.cmu.edu/~tom/10701_sp11/proj.shtml)
|
|
- [ESM 296-4F](http://ucsb-bren.github.io/esm296-4f/) **GIS & Spatial Analysis** *UC Santa Barbara*
|
|
- Taught by [James Frew](http://www.bren.ucsb.edu/people/Faculty/james_frew.htm), [Ben Best](http://mgel.env.duke.edu/people/ben-best/), and [Lisa Wedding](http://www.centerforoceansolutions.org/team/lisa-wedding)
|
|
- Focuses on specific computational languages (e.g., Python, R, shell) and tools (e.g., GDAL/OGR, InVEST, MGET, ModelBuilder) applied to the spatial analysis of environmental problems
|
|
- [GitHub ](http://ucsb-bren.github.io/esm296-4f/) (includes lecture materials and labs)
|