
Ask HN: Are there any online courses to learn Advanced Computer Science? - sidcool
I am kinda bored with CRUD apps and as a 36 year old want to explore more before I kick the bucket.<p>Are there any good, reputed and genuine online courses&#x2F;degrees (free or paid) for learning Advanced Computer Science.  I am mostly interested in Distributed Systems, Advanced Algorithms &amp; Data structures etc.
======
aalhour
I loved Ryan O'Donnell's "Great Ideas in Theoretical Computer Science" series,
you can find it on YouTube:

[https://www.youtube.com/playlist?list=PLm3J0oaFux3aafQm568bl...](https://www.youtube.com/playlist?list=PLm3J0oaFux3aafQm568blS9blxtA_EWQv)

MIT OCW has a course on Advanced Data Structures which is just great! You can
find the Fall-2017 version of it here:

[https://courses.csail.mit.edu/6.851/fall17/](https://courses.csail.mit.edu/6.851/fall17/)

I also started reading the "Streaming Systems" book which is a great reading
on distributed data-intensive systems, I recommend it:

[https://www.amazon.de/dp/1491983876](https://www.amazon.de/dp/1491983876)

Also, you might be interested in checking out the Apache Beam, Flink, Spark
and Storm projects, a lot of things happening on the front of designing data-
intensive distributed systems, hacking a side project in any of these might be
a fun learning activity.

Best of luck!

------
rickka
Well, here's two by the same author, not too recent but i think they're
worthwhile.
[http://shop.oreilly.com/product/0636920041405.do](http://shop.oreilly.com/product/0636920041405.do)

[http://shop.oreilly.com/product/110000667.do](http://shop.oreilly.com/product/110000667.do)

~~~
sidcool
Thanks Ricca. These are valuable materials.

------
bjourne
There are two free Udacity courses I can recommend:
[https://www.udacity.com/course/computability-complexity-
algo...](https://www.udacity.com/course/computability-complexity-algorithms--
ud061) and [https://www.udacity.com/course/intro-to-theoretical-
computer...](https://www.udacity.com/course/intro-to-theoretical-computer-
science--cs313) And Tim Roughgarden's lecture series:
[http://timroughgarden.org/videos.html](http://timroughgarden.org/videos.html)
The material isn't advanced though. For advanced comp sci courses, you
probably have to pay for them. At least I haven't found anything free
available.

------
x-curiouscase-x
If you are interested in distributed systems , I found the book "Designing
data intensive application by Martin Kleppmann" to be a good starting point.
Its not about only about distributed systems but also covers quite a bit of
ground on overall data systems. [https://www.amazon.com/Designing-Data-
Intensive-Applications...](https://www.amazon.com/Designing-Data-Intensive-
Applications-Reliable-Maintainable/dp/1449373321)

------
foopdoopfoop
[https://softwarefoundations.cis.upenn.edu/](https://softwarefoundations.cis.upenn.edu/)
is a nice introduction to computational logic, interactive theorem provers,
lambda calculus, and the power of type systems.

