
List of Computer Science Courses - denismars
https://github.com/prakhar1989/awesome-courses/blob/master/README.md
======
dhawalhs
There is a bunch of free CS courses starting in the next two weeks. You can
find them here: [https://www.class-central.com/subject/cs](https://www.class-
central.com/subject/cs)

Disclaimer: I built Class Central

~~~
alok-g
Thanks a bunch for making Class-Central. I have used it quite a bit and have
told others about it. (Over the time I discovered that the type of courses
that suits me the best reside mainly on Coursera, so the utility for me
personally shrunk.)

------
krat0sprakhar
This list is sorely missing some introductory mathematics courses required to
build a foundation in CS (e.g Discrete Maths). If there are any course
suggestions that anyone has, I'll gladly add those to the list.

~~~
stiff
ArsDigita Discrete Mathematics course (this one gives a really gentle start):

[http://www.aduni.org/courses/discrete/index.php?view=cw](http://www.aduni.org/courses/discrete/index.php?view=cw)

MIT Mathematics for Computer Science (harder but still not that hard):

[http://ocw.mit.edu/courses/electrical-engineering-and-
comput...](http://ocw.mit.edu/courses/electrical-engineering-and-computer-
science/6-042j-mathematics-for-computer-science-fall-2010/video-lectures/)

Steve Skienna discrete mathematics course (graduate course based on Knuth's
"Concrete Mathematics", quite hard):

[http://www3.cs.stonybrook.edu/~algorith/math-
video/](http://www3.cs.stonybrook.edu/~algorith/math-video/)

I also recommend checking out some books:

[http://infolab.stanford.edu/~ullman/focs.html](http://infolab.stanford.edu/~ullman/focs.html)
\- free "Foundations of Computer Science" book that combines discrete
mathematics with C programming and some theory of computation stuff, a pretty
good way to make things more practical

[http://www.amazon.com/Discrete-Mathematics-Elementary-
Beyond...](http://www.amazon.com/Discrete-Mathematics-Elementary-Beyond-
Undergraduate/dp/0387955852/ref=sr_1_1?ie=UTF8&qid=1419846906&sr=8-1&keywords=lovasz+discrete+mathematics)
\- very pleasant introductory discrete mathematics book, a welcome break from
the usual "brick" format and covers some important topics that often do not
make it into the normal discrete mathematics curriculum e.g. induction on
trees.

[http://www.amazon.com/Introductory-Combinatorics-Modern-
Birk...](http://www.amazon.com/Introductory-Combinatorics-Modern-
Birkh%C3%A4user-
Classics/dp/0817649522/ref=sr_1_1?ie=UTF8&qid=1419847131&sr=8-1&keywords=polya+introductory+combinatorics)
\- classic introduction to combinatorics

~~~
trailcable
Anyone have a working linking for the videos in ArsDigita? The rm files are
downloading and showing length but not playing for me

~~~
sah88
Discrete Math is on youtube along with a few others (maybe all?). Here is a
playlist for it:

[https://www.youtube.com/playlist?list=PLuiNgIIMOY3d1b92udRuo...](https://www.youtube.com/playlist?list=PLuiNgIIMOY3d1b92udRuo4DnuP99ej6kR)

------
davidrupp
I'm going to be working through
[http://matt.might.net/teaching/compilers/spring-2015/](http://matt.might.net/teaching/compilers/spring-2015/)
this semester. Looks pretty good so far.

~~~
abhididdigi
Guys how do I take this class? There is no way I can do this online?

~~~
mattmight
At the moment, you'd have to enroll at the University of Utah.

I might put the course online some day, but lectures are extremely
interactive.

I'm not sure how well they'll translate to an online format.

~~~
thro1237
The reference implementations at
[http://matt.might.net/apps/pyparse/](http://matt.might.net/apps/pyparse/)
does not seem to work.

------
capex
For an introduction to programming, [0]UNSW Computing 1 is an excellent and
relatively unknown course.

[0]
[https://www.openlearning.com/courses/unsw/computing1](https://www.openlearning.com/courses/unsw/computing1)

------
Yadi
I think these courses are awesome as well:

6006 Introduction To Algorithms from MIT

[http://ocw.mit.edu/courses/electrical-engineering-and-
comput...](http://ocw.mit.edu/courses/electrical-engineering-and-computer-
science/6-006-introduction-to-algorithms-fall-2011/lecture-videos/)

Machine Learning from Stanford: Learn about the most effective machine
learning techniques, and gain practice implementing them and getting them to
work for yourself.
[https://www.coursera.org/course/ml](https://www.coursera.org/course/ml)

~~~
krat0sprakhar
My main aim with this list was to have a collection of lesser known (but
awesome) courses. That's one reason why I stayed away from adding MIT's OCW or
a MOOC on the list.

~~~
Yadi
awesome! Yeah the list is super cool!

------
gshrikant
There's also Computer Architecture lectures[1] for CMU's graduate and
undergraduate courses by Prof Onur Mutlu which I have been following lately.
Assignments and further reading material are also available on the course
website[2].

[1]
[https://www.youtube.com/playlist?list=PL5PHm2jkkXmidJOd59REo...](https://www.youtube.com/playlist?list=PL5PHm2jkkXmidJOd59REog9jDnPDTG6IJ)

[2]
[http://www.ece.cmu.edu/~ece447/s13/doku.php?id=home](http://www.ece.cmu.edu/~ece447/s13/doku.php?id=home)

~~~
krat0sprakhar
Thanks! I'll add these to the list.

------
henrik_w
There is also the algorithm course (in two parts) by professor Tim Roughgarden
of Stanford (available on Coursera). Part one starts Jan 19th.

I really enjoyed both of them. Reviews:

[http://henrikwarne.com/2012/05/08/coursera-algorithms-
course...](http://henrikwarne.com/2012/05/08/coursera-algorithms-course/)

[http://henrikwarne.com/2013/02/18/coursera-algorithms-
course...](http://henrikwarne.com/2013/02/18/coursera-algorithms-course-
part2/)

------
zeeshanm
Analysis of Algorithms by Steven Skiena is a gem ::
[http://www3.cs.stonybrook.edu/~skiena/373/](http://www3.cs.stonybrook.edu/~skiena/373/)

Course book and homework assignments are available online if anyone is
interested is taking this course. :)

~~~
krat0sprakhar
No idea how Prof Skiena's course slipped out. Added to the list. Thanks!

------
daliwali
These are great tools to learn foundational computer science from outside of a
classroom, but not an adequate substitute for a computer science degree (and I
say this with no formal CS background myself). One could reasonably pace
themselves through the class materials presented here, attempting the
homeworks and tests while honestly assessing oneself, but employers especially
want to see proof, and a degree carries far more weight than doing the same
work but without the degree to show for it.

Pedigree and pedantics have taken precedence over hacking and creative problem
solving, particularly in the Silicon Valley where a Stanfordcal degree and
Googfacetwit work experience is expected.

~~~
olalonde
> but employers especially want to see proof

Really? This has not been my experience at all. Nearly all tech job listings
I've seen mention "or equivalent experience" somewhere.

~~~
pastProlog
> This has not been my experience at all

How far back is this experience?

Is this what the job listings (of what there were) said during the 2008-2009
recession? Is this what they said in 2001 after the dot-com crash?

They may not say them now, they may not have said them in 1999, but they
certainly are requirements companies can (and do) put up during the years when
people need a job most.

------
Balgair
Semi-related question: Anyone know of any good courses online that are intro
to molecular and cellular biology related? Thanks, my grad school grades
aren't the best and I think it's my lack of bio foundation that's hurting.

~~~
mkramlich
also: great books on those topics have existed for decades

~~~
Balgair
I mean, yes, but alas, my study habits are better with lectures and learning
groups as a supplement to the written material. Any suggestions on specific
books? I know just about any are good, however some are almost canonical(For
example: Jackson is THE electromagnetism text, others will do, but just about
everyone learns from Jackson. Is there such a thing with mol-bio?)

~~~
navi54
Specific books:

* The Cell: A Molecular Approach, Cooper

* Molecular Biology of The Cell, Alberts

Theses are the main two books in the field of molecular biology. If you want
to go more specific, let me know.

------
Nib
I have a recommendation for everyone:

The courses at ADUni are really awesome. Though the resolution totally sucks
and it feels rather old, they're the best thing around the Internet thats a
tutorial on CS. They have everything from Algorithms and Discrete Maths to OOP
and stuff. Check those out at [http://www.aduni.org](http://www.aduni.org)
I'll probably send a pull request to whoever's maintaining the repo. Great job
though, you've listed quite a lot of courses... ;)

------
mdasen
I've been looking for a databases course focusing on the systems side of
things (concurrency control, query planning, disk, etc.), but it seems like
it's too niche. If anyone knows of one, I'd be really happy to hear about it.

~~~
morenoh149
I remember learning that stuff from the book by jeffrey Ullman. Try this page
[http://infolab.stanford.edu/~ullman/fcdb/aut07/index.html#le...](http://infolab.stanford.edu/~ullman/fcdb/aut07/index.html#lecture)
[http://www.amazon.com/Database-Systems-Complete-
Book-2nd/dp/...](http://www.amazon.com/Database-Systems-Complete-
Book-2nd/dp/0131873253/ref=sr_1_4?ie=UTF8&qid=1419810675&sr=8-4&keywords=database+systems)
this too [http://ocw.mit.edu/courses/electrical-engineering-and-
comput...](http://ocw.mit.edu/courses/electrical-engineering-and-computer-
science/6-830-database-systems-fall-2010/calendar/)

------
skadamat
Might be cool to add some of the programming / math-y resources from --
datasciencemasters.org -- as well!

------
Nib
I think we need more algo courses for the sake of competitive programming...

~~~
krat0sprakhar
There are plenty of very good MOOCs on algorithms -

1\.
[https://www.coursera.org/course/aofa](https://www.coursera.org/course/aofa)

2\.
[https://www.coursera.org/course/algs4partI](https://www.coursera.org/course/algs4partI)

3\.
[https://www.coursera.org/course/algo](https://www.coursera.org/course/algo)

4\.
[https://www.coursera.org/course/algs4partII](https://www.coursera.org/course/algs4partII)

5\.
[https://www.coursera.org/course/algorithmicthink](https://www.coursera.org/course/algorithmicthink)

~~~
bigb9320
Which of these would you recommend for someone who has been programming since
2 years but wants to improve their fundamentals ?

~~~
prometheuspk
I'd go for aofa

------
kennyledet
Nice to see something that I had the 3rd pull request on blow up ;)

------
timwaagh
MIT, harvard etc are not the only universities in the world. and this has a
pretty limited view of CS.

~~~
objclxt
If only there was some way you could add to that list to address the
imbalance. Maybe if it was hosted on Github and you could issue a pull
request?

------
Ar-Curunir
As always there is a complete lack of theoretical CS courses.

~~~
guelo
The whole Algorithms section is theoretical CS.

~~~
Ar-Curunir
There's a lot more to TCS than algorithms.

Furthermore, the most theoretical course there is the Princeton one. The rest
all focus more on using algorithms to do things than on theory.

~~~
chris_wot
Can you recommend some courses?

~~~
Ar-Curunir
This is mostly from a theoretical crypto perspective since that's what I'm
interested in:

Introduction to Cryptography:

    
    
        Yehuda Lindell - http://u.cs.biu.ac.il/~lindell/89-656/main-89-656.html
    

Complexity Theory:

    
    
        Jonathan Katz  - http://www.cs.umd.edu/~jkatz/complexity/f11/
        Luca Trevisan  - http://www.cs.berkeley.edu/~luca/cs278-08/
    
    

Foundations of Cryptography:

    
    
        Yehuda Lindell - http://u.cs.biu.ac.il/~lindell/89-856/main-89-856.html
        Jonathan Katz  - http://www.cs.umd.edu/~jkatz/gradcrypto2/
    

Secure MPC:

    
    
        Jonathan Katz  - http://www.cs.umd.edu/~jkatz/gradcrypto2/f13/

