Hacker Newsnew | comments | show | ask | jobs | submitlogin
List of Computer Science Courses (github.com)
299 points by denismars 1 day ago | 61 comments




Nib 2 hours ago | link

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

reply

henrik_w 7 hours ago | link

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/2013/02/18/coursera-algorithms-course...

reply

krat0sprakhar 22 hours ago | link

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.

reply

trentmb 22 hours ago | link

CS173 at UIUC: https://courses.engr.illinois.edu/cs173/fa2014/A-lecture/Lec...

reply

stiff 9 hours ago | link

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

reply

trailcable 1 hour ago | link

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

reply

sah88 18 minutes ago | link

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

reply

drifkin 16 hours ago | link

CS 103 at Stanford: http://web.stanford.edu/class/cs103/

The course reader [1] covers the first half of the class and is pretty good.

[1] http://web.stanford.edu/class/cs103/notes/Mathematical%20Fou...

reply

jestinjoy1 14 hours ago | link

This looks good. Video available ?

reply

wallflower 22 hours ago | link

This isn't a course but this book has been consistently word-of-mouth recommended as a comprehensive survey of undergraduate mathematics.

http://www.amazon.com/Mathematics-Content-Methods-Meaning-Do...

reply

hackerboos 20 hours ago | link

I bought this on recommendation from HN.

I'd also recommend - Engineering Mathematics by KA Stroud. All three volumes are fantastic.

reply

Ar-Curunir 21 hours ago | link

CS70 at Berkeley is always a good bet, the notes available online are fantastic.

reply

davidrupp 22 hours ago | link

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

reply

olalonde 13 hours ago | link

His blog is a goldmine as well: http://matt.might.net/articles/

reply

jmcdonald-ut 15 hours ago | link

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.

reply

mattmight 13 hours ago | link

I'm looking forward to having you in the class!

reply

mdaniel 19 hours ago | link

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.

reply

mattmight 13 hours ago | link

It stands from semester to semester.

Typically, I create a fresh ubuntu server at the start of each semester, and I let it go unpatched for the duration of the semester.

reply

abhididdigi 14 hours ago | link

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

reply

mattmight 13 hours ago | link

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.

reply

thro1237 3 hours ago | link

The reference implementations at http://matt.might.net/apps/pyparse/ does not seem to work.

reply

krat0sprakhar 14 hours ago | link

This is not an online class, but a collection of materials used by the Prof to teach the course at the university. You can view the lectures[0] and work through the programming assignments[1] at your own pace.

[0] - https://www.dropbox.com/sh/zanwtoflw4pcfu8/5pdT6axS3y [1] - http://matt.might.net/teaching/compilers/spring-2015/#projec...

reply

cyunker 16 hours ago | link

Agreed. Do you know if lectures will be posted?

reply

mattmight 13 hours ago | link

Slides will be online, but I don't have plans to video record the lectures.

A reasonable amount of the course material is in blog posts, and I add more posts each semester.

reply

dhawalhs 21 hours ago | link

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

reply

alok-g 20 hours ago | link

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

reply

capex 18 hours ago | link

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

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

reply

zeeshanm 11 hours ago | link

Analysis of Algorithms by Steven Skiena is a gem :: http://www3.cs.stonybrook.edu/~skiena/373/

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

reply

krat0sprakhar 8 hours ago | link

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

reply

gshrikant 22 hours ago | link

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

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

reply

krat0sprakhar 22 hours ago | link

Thanks! I'll add these to the list.

reply

Yadi 22 hours ago | link

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

reply

krat0sprakhar 22 hours ago | link

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.

reply

Yadi 22 hours ago | link

awesome! Yeah the list is super cool!

reply

daliwali 14 hours ago | link

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.

reply

olalonde 13 hours ago | link

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

reply

daliwali 13 hours ago | link

Passing basic HR filters is necessary for most job listings, and "equivalent experience" is harder to quantify than having a degree in the field from a name brand university. Also it is hardly a selling point to claim that one took an online class and did not receive credit for it.

reply

pastProlog 13 hours ago | link

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

reply

pastProlog 12 hours ago | link

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.

reply

Balgair 20 hours ago | link

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.

reply

mkramlich 18 hours ago | link

also: great books on those topics have existed for decades

reply

Balgair 35 minutes ago | link

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?)

reply

pyrois 17 hours ago | link

Any suggestions? I'm also looking for some resources on those topics.

reply

mdasen 19 hours ago | link

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.

reply

morenoh149 19 hours ago | link

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://www.amazon.com/Database-Systems-Complete-Book-2nd/dp/... this too http://ocw.mit.edu/courses/electrical-engineering-and-comput...

reply

mud_dauber 17 hours ago | link

I guess I should mention Seven Databases in Seven Weeks (Pragmatic).

reply

mkramlich 18 hours ago | link

consider books as well

reply

timwaagh 5 hours ago | link

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

reply

objclxt 3 hours ago | link

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?

reply

Nib 11 hours ago | link

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

reply

krat0sprakhar 11 hours ago | link

There are plenty of very good MOOCs on algorithms -

1. https://www.coursera.org/course/aofa

2. https://www.coursera.org/course/algs4partI

3. https://www.coursera.org/course/algo

4. https://www.coursera.org/course/algs4partII

5. https://www.coursera.org/course/algorithmicthink

reply

bigb9320 10 hours ago | link

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

reply

prometheuspk 3 hours ago | link

I'd go for aofa

reply

skadamat 22 hours ago | link

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

reply

kennyledet 19 hours ago | link

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

reply

Ar-Curunir 21 hours ago | link

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

reply

itg 18 hours ago | link

There's one on Coursera taught by Jeff Ullman but OP said he avoided adding stuff you can find on MOOC's.

reply

guelo 21 hours ago | link

The whole Algorithms section is theoretical CS.

reply

Ar-Curunir 21 hours ago | link

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.

reply

chris_wot 18 hours ago | link

Can you recommend some courses?

reply

Ar-Curunir 15 hours ago | link

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/

reply




Guidelines | FAQ | Support | Lists | Bookmarklet | DMCA | Y Combinator | Apply | Contact

Search: