
15-440: Distributed Systems Syllabus - krat0sprakhar
http://www.cs.cmu.edu/~dga/15-440/F12/syllabus.html
======
jefftchan
MIT's distributed systems class is also taught in Go -
[http://css.csail.mit.edu/6.824/2014/schedule.html](http://css.csail.mit.edu/6.824/2014/schedule.html)

~~~
wtf_is_up
Guest lecturer Russ Cox... nice!

------
SwellJoe
I just stumbled on this set of lectures, slides, and notes, from ETH Zurich,
which seems like it would be useful supplementary material:
[http://dcg.ethz.ch/lectures/podc_allstars/](http://dcg.ethz.ch/lectures/podc_allstars/)

------
samuell
Also relevant is the "Distributed Algorithms" course at Royal Institute of
Technology in Sweden. Seems to be a little bit more theoretical, but might be
an interesting complement to a more practical course.

YouTube playlist:
[https://www.youtube.com/playlist?list=PL700757A5D4B3F368](https://www.youtube.com/playlist?list=PL700757A5D4B3F368)

Course page:
[http://www.ict.kth.se/courses/ID2203](http://www.ict.kth.se/courses/ID2203)
(appears to be down at the moment though)

~~~
samuell
Given Prof. Stefan Nilssons "Fundamentals of concurrent programming", which is
taught in Go [1], it would be interesting to see whether not the distributed
systems course will adopt Go as well, in the near future.

[1]
[http://www.nada.kth.se/~snilsson/concurrency](http://www.nada.kth.se/~snilsson/concurrency)

------
davidw
I guess using Erlang would be cheating...

~~~
zerr
Yes, I also had similar feel while using Erlang - "hardcore" part was just
gone and I thought I was just writing config scripts to some underlying system
(which it is) :)

~~~
jamra
I don't know much about Erlang. Can you explain why it's so easy?

~~~
digitalzombie
Erlang VM's does most of of the distribution for you combine that with
Erlang's primitive for distribute coding and it's just cheating. The language
it self have many construct and primitive for distributed programming that it
make it seems like cheating, the code itself is very nice to read once you get
the hang of it and you don't have messy code like Node.JS with the nested call
back. You first class citizen distributed stuff. Messaging passing and pattern
matching for PID for example made stuff easy. Actor model is also easy to
mentally solve compare to Node.JS non blocking stuff.

I'm only picking on Node.JS because Node.JS and Erlang is what I've used.
Mostly Node.js and a little bit of Erlang.

~~~
jamra
Thanks. I just learned Node.js so it made your comment more helpful.

------
zerr
Generally, there is huge gap in Distributed Systems courses (I've encountered)
between the theory/books they follow and the practical lab projects...

Can anyone recommend some good DS course oriented for working engineers with
hands-on projects which the course (theory/book) itself follows closely?

~~~
krat0sprakhar
There's a cloud computing class[0] launching on Coursera taught by Prof.
Indranil Gupta which will cover all concepts such as fault tolerance,
consensus etc. I'd suggest you can give that a shot. If you can't wait, you
can checkout the course page[1] and get started right away.

You can take a look at other DS courses here -
[https://github.com/prakhar1989/awesome-
courses/#systems](https://github.com/prakhar1989/awesome-courses/#systems)

Lastly, you also have the option of working on assignments in MIT's DS
class[2] (git clone git://g.csail.mit.edu/6.824-golabs-2014 6.824)

[0] -
[https://www.coursera.org/course/cloudcomputing](https://www.coursera.org/course/cloudcomputing)

[1] -
[https://courses.engr.illinois.edu/cs425/](https://courses.engr.illinois.edu/cs425/)

[2] -
[http://css.csail.mit.edu/6.824/2014/index.html](http://css.csail.mit.edu/6.824/2014/index.html)

~~~
zerr
Coursera Cloud computing class is a great news! I guess I'll wait for this. As
an added bonus, programming is done in C++ (compared to plain C/Glib as in
original course). I hope that author means modern (or at least real) C++ and
not just C with classes.

------
samuell
Well, otherwise, I tried to get some help collecting nice Distributed system
links and news in the relevant Google+ group:
[http://bit.ly/distsys](http://bit.ly/distsys)

------
fshaikh
[http://link.springer.com/book/10.1007%2F978-3-642-15260-3](http://link.springer.com/book/10.1007%2F978-3-642-15260-3)

------
aaronaaa
I'm taking this course next semester! However, it mostly likely will be taught
in C/Java.

------
kmmbvnr_
so sad, that course have no video lectures.

