top | item 8806910

List of Computer Science Courses

323 points| denismars | 11 years ago |github.com | reply

63 comments

order
[+] dhawalhs|11 years ago|reply
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

Disclaimer: I built Class Central

[+] alok-g|11 years ago|reply
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|11 years ago|reply
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|11 years ago|reply
ArsDigita Discrete Mathematics course (this one gives a really gentle start):

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...

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

http://www3.cs.stonybrook.edu/~algorith/math-video/

I also recommend checking out some books:

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... - 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... - classic introduction to combinatorics

[+] Ar-Curunir|11 years ago|reply
CS70 at Berkeley is always a good bet, the notes available online are fantastic.
[+] davidrupp|11 years ago|reply
I'm going to be working through http://matt.might.net/teaching/compilers/spring-2015/ this semester. Looks pretty good so far.
[+] jmcdonald-ut|11 years ago|reply
I'm taking the class this upcoming semester from Matt. I'm excited to understand what tools like gcc, clang, and so on are doing under the hood.
[+] mdaniel|11 years ago|reply
Use an exploit on caprica to gain root access: +10%

I wonder if this offer stands from semester to semester, and therefore if he seeded an exploit (or several, given how the extra credit reads) or whether the whole thing is just more of his light-hearted style.

But I definitely agree: that course looks great.

[+] abhididdigi|11 years ago|reply
Guys how do I take this class? There is no way I can do this online?
[+] cyunker|11 years ago|reply
Agreed. Do you know if lectures will be posted?
[+] Yadi|11 years ago|reply
I think these courses are awesome as well:

6006 Introduction To Algorithms from MIT

http://ocw.mit.edu/courses/electrical-engineering-and-comput...

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

[+] krat0sprakhar|11 years ago|reply
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.
[+] daliwali|11 years ago|reply
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.

[+] pastProlog|11 years ago|reply
When going for a CS degree, the usual rule of thumb is one should spend three hours studying for every hour in the classroom.

To get the education you'll get at a college, you'll have to spend those three years studying any how. So college is really like three years of independent study and one year of class time.

Why not just spend that year of time going to classes, learning things from professors (some of whom are quite knowledgeable, and doing cutting edge CS theory research), learning things from classmates and making social and networking connections? Perhaps private schools are expensive, but UC Berkeley, UIUC, UWashington, Georgia Tech are more affordable, especially with Pell grants etc. Especially part-time.

Also - people doing self-study tend to go right for the immediately useful stuff - how to make web pages in PHP and the like. How many people spend eight months studying calculus, then four months studying discrete math, then four months on graph theory, then four months on theory of computation, then four months studying logic gates and processors, then four months studying data structures etc.? What kind of code is someone who has not studied concurrent programming going to write when an application needs threading?

A degree is also a sign someone can stick with something for four years.

Of course a degree is no guarantee they know anything in and of itself.

[+] olalonde|11 years ago|reply
> 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.

[+] Balgair|11 years ago|reply
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|11 years ago|reply
also: great books on those topics have existed for decades
[+] Nib|11 years ago|reply
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 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|11 years ago|reply
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.
[+] mud_dauber|11 years ago|reply
I guess I should mention Seven Databases in Seven Weeks (Pragmatic).
[+] skadamat|11 years ago|reply
Might be cool to add some of the programming / math-y resources from -- datasciencemasters.org -- as well!
[+] kennyledet|11 years ago|reply
Nice to see something that I had the 3rd pull request on blow up ;)
[+] timwaagh|11 years ago|reply
MIT, harvard etc are not the only universities in the world. and this has a pretty limited view of CS.
[+] objclxt|11 years ago|reply
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|11 years ago|reply
As always there is a complete lack of theoretical CS courses.
[+] itg|11 years ago|reply
There's one on Coursera taught by Jeff Ullman but OP said he avoided adding stuff you can find on MOOC's.
[+] guelo|11 years ago|reply
The whole Algorithms section is theoretical CS.