Hacker Courses The online courses programmers keep recommending, ranked from 20 years of public forum comments.
i
#23 overallClassic

Introduction to Databases

Stanford University

16 recommenders · 19 threads · recommended in 11 years, 2011–2023 · score 25.9

Go to course ↗

An introductory Stanford course by Jennifer Widom covering relational databases, relational theory and algebra, and SQL, with lectures and problem sets. It has run as a Stanford MOOC in several sessions, with self-paced versions on Lagunita.

Commenters call it one of the best MOOCs they've taken, praising its well-planned exercises and its blend of database theory with real-world examples.

Databases & Data Engineeringbeginnerfreevideo lectures#databases#sql#relational algebra#widom#relational theory

Recommendations by year

20062026

What commenters said (22)

  1. Strongly recommendssn92023in “Ask HN: What are some of the best university courses available online for free?”

    Thirding Widom's course!

    It's my go-to recommendation for anyone wanting a strong foundation in SQL.

  2. Strongly recommendsfalcor842021in “Udemy S-1 IPO”

    There was actually a third excellent course launched at the same time - Jennifer Widom's Introduction to Databases. The original version is no longer available, but there are mini-courses in its stead. Highly recommended - https://cs.stanford.edu/people/widom/DB-mooc.html

  3. Strongly recommendsesfandia2016in “Udacity the new ITT Tech?”

    Jennifer Widom's database course was part of the first three MOOCs offered in 2011, and I thought it was excellent also.

  4. Strongly recommendsfrigg2013in “PostgreSQL Exercises”
    I have to say that Jennifer Widom's database class is the most streamlined, most well thought, and most smooth of all the MOOCs I have seen.

    I absolutely agree and I recommend this course every time someone mentions SQL. The lectures combined with the videos are the best learning tool for people interested in SQL.

    I also recommend Introduction to Networks from Stanford which is also freely accessible with registration[1] and also very high quality similar to the DB course level.

    [1]http://f12.class2go.stanford.edu/networking/Fall2012

  5. Strongly recommendshenrik_w2011in “MITx positions to offer certification for completing courses online”

    Probably a response to the Stanford courses. I took the course Introduction to Databases, and it was really great. I wrote about the experience here: http://henrikwarne.com

  6. Strongly recommendsmrmaddog2011in “Stanford Fall 2011 - Introduction to Databases”

    This was one of my favorite CS classes I took at Stanford. It will do a great job teaching you the theory behind dbs then bridge that theory with real-world examples. If you want to get an idea about how databases operate behind the scenes AND how they should be properly used, this is a great class for you.

    The relational algebra sections of the course are intriguing because it forces you to solve problems using a set of constraints that aren't present in other programming languages—really interesting stuff.

    More information is at the class website http://infolab.stanford.edu/~widom/cs145/index.html

  7. Recommendswenc2022in “The CSV Virtual Table”

    Jennifer Widom’s Databases course is great

    https://online.stanford.edu/courses/soe-ydatabases-databases

    Otherwise SQL is best learned by solving problems and googling when you’re stuck.

    Most developers only need a few SQL constructs like SELECT, WHERE, WITH, JOIN, INSERT, CREATE and GROUP BY. Most devs learn and forget because they don’t use SQL very often. It’s too bad because the relational data structure (or more generally the table) is a super useful abstraction and often much more powerful than lists and dicts.

    Data analysts need a few more like OVER (PARTITION BY) and maybe PIVOT/UNPIVOT.

    Data engineers of course need many more specifically those related to database object manipulation, and stuff around performance like INDEX.

    Really advanced SQL experts do stuff like this.

    https://modern-sql.com/

  8. Recommendsrz2k2020in “Ask HN: What Skills to Acquire in 2020?”

    Take a look at the "Relational Design Theory"[1] mini-course on Stanford/Lagunitas. Though I had used SQL for years, I took it as part of the early MOOC on databases that was offered in 2011. It is likely to match up with the intuition you already have about what works well in practice, but it can still be a challenge and rewarding to formalize your intuition and understanding.

    The way the course is broken up now, you may need some of the other sections [2] like Intro to Relational Databases or Relational Algebra as prerequisites, since I do not remember if it used SQL syntax.

    [1] https://lagunita.stanford.edu/courses/DB/RD/SelfPaced/about

    [2] https://lagunita.stanford.edu/courses/DB/2014/SelfPaced/abou...

  9. Recommendswenc2020in “Ask HN: What Technologies to Learn in 2020?”

    Relational: Jennifer Widom's Stanford MOOC is often highly recommended.

    https://lagunita.stanford.edu/courses/DB/2014/SelfPaced/abou...

  10. RecommendsMax_Mustermann2019in “SQL: One of the most valuable skills”

    You can check out these 2 sites with practical exercices:

    https://www.dataquest.io

    https://campus.datacamp.com

    I've also seen this free online Stanford course recommended a lot:

    https://lagunita.stanford.edu/courses/DB/SQL/SelfPaced/about

  11. Recommendszachguo2018in “Show HN: SQL Trainer – Learn SQL by doing live data exercises”

    Looks cool. But in my experience, theoretical understanding and some simple proofs are quite important in mastering SQL. I would suggest the intro to DB online course offered by Stanford.

  12. Recommendsafarrell2018in “Ask HN: Books/courses for self-taught programmer”

    If you're in the camp of "I worked through a good rails/django/nodejs/php tutorial, but I don't really understand SQL", you should go through this course: https://lagunita.stanford.edu/courses/Engineering/db/2014_1/...

    Skip XML but do not skip relational algebra.

  13. Recommendssn92017in “Stanford Compilers Course”

    They're both on Stanford's Lagunita, along with excellent courses on Computer Networks and Databases.

  14. Recommendsicc972017in “Jennifer Widom Named Dean of Stanford School of Engineering”

    I've had exactly the same struggle. Andrew Ng was truly awesome, better than any lecturer I had. Jeff Hinton's course is just a real struggle to complete.

    It's more than just the lectures, the thought and relevance that goes into the problem sets is a big difference too.

    It's great to hear that Jennifer Widom's course is on a similar level. Perhaps I should dust up on my database knowledge.

  15. Recommendschirau2016in “CMU 15-721 (Spring 2016) Database Systems”

    Stanford had a great Introduction to Databases MOOC on Coursera a few years back. I don't think it's still available on Coursera but you can still take the self paced course directly from the Stanford website.

    https://lagunita.stanford.edu/courses/DB/2014/SelfPaced/abou...

  16. Recommendscapkutay2015in “Learn SQL Interactively on Khan Academy”

    Try Jennifer Widom's online course on databases:

    https://lagunita.stanford.edu/courses/Engineering/db/2014_1/...

  17. Recommendssampo2013in “‘Functional Programming Principles in Scala’ starts today”

    From your blog:

    "a lot of material was explained by Professor Ordesky during the videos, so you’d have a hard time trying to do the course without watching the videos"

    The Stanford Databases class (http://class2go.stanford.edu/db/) did that part very well (well it did everything very well): Everything that the professor typed in during video demonstrations, was also provided as text files in the course downloadables.

  18. Recommendssampo2013in “Will MOOCs Destroy Academia?”

    "As least in Scandinavia, we don't feel MOOCs are a huge threat to us, because there is no tuition, so there is no real financial reason for students to prefer MOOCs."

    At least the best Stanford MOOCs, Machine Learning and Databases, were taught much better, and the material and exercises were much more carefully planned, than most of what I'd expect at least in any university in Finland.

    Now, I hear Coursera has also some bad quality MOOCs, but as long as the very best courses by the very best lecturers can be offered to the whole world as MOOCs, their better quality should be a strong reason the prefer them over some mediocre course in a local uni.

  19. Recommendsdschiptsov2013in “How Harvard's CS50 Renewed My Hope For Online Education”

    I cannot look at it from a freshman's point of view, so I'm biased, but I definitely don't want it to be my only CS course.

    This is because I just know, that to understand, say, SQL (and NoSQL) there is excellent Database course from Stanford and it worth taking because it will pay back later. To understand programming you need CS61A (because it teach you whys) and then Data Structures and Algorithms. Then you can pick up everything you need from books.

    So, let's say that this is an Introduction To Coding (without deep understanding).

  20. Mentionsbcbrown2015in “List of University Courses for Learning Computer Science”

    One approach to getting a list of topics is to look at the degree requirements for a couple of universities. I'm wrapping up a similar project, and here's what I included, along with some resources I used:

    * Algorithms (CLRS, Skiena)

    * Databases (db-class.org, any text by C.J. Date)

    * Probability, Statistics, and Combinatorics

    * Programming Languages (I liked Grossman's course on Coursera)

    * Linear Algebra (http://ocw.mit.edu/courses/mathematics/18-06sc-linear-algebr...)

    * Natural Language Processing (Coursera has several courses)

    * Machine Learning/Information Retrieval/Data Mining (I used a couple books, Mining Massive Datasets and Data-Intensive Text Processing with MapReduce being the two I'd recommend)

    * Networking (Coursera has a good course)

    * Operating Systems (https://www.youtube.com/watch?v=XgQo4JkN4Bw&list=PL62A66DDD3...)

    * Distributed Systems (I read Tanenbaum's book)

    * Computability

  21. Mentionskrrishd2014in “Ask HN: Best ways to further my understanding of relational databases?”

    http://class.stanford.edu has an Introduction to Databases course that you may want to check out.

  22. Mentionsspacemanaki2011in “Harvard University Free Lectures”

    I'm not sure if you're just trolling or if you have an actual critical comparison to make. Can you elaborate?

    There are a number of things you could be referring to when you say the Stanford lectures are "way better". Which Stanford lectures are you talking about? The recent AI, DB and ML classes? The general Stanford open course stuff? Are you talking about the content, presentation, selection of material, structure of classes, file formats, editing, ... ?

    I've watched a lot of the Stanford AI and DB lectures, and I've cherry picked from the other stuff. The list of courses here (http://www.extension.harvard.edu/open-learning-initiative) includes some things that aren't offered by Stanford, and based on 5 minutes of sampling, the video quality looks passable. Some of the Stanford open course videos are pretty terrible in video quality (check out the web applications one) altho the content seems very good. I can't speak to the content of the Harvard lectures without actually watching them. Have you?

    While it would be great if Harvard started to offer structured online classes like the recent Stanford ones, it's pretty cool that these are available at all, given that Harvard is about as old-guard as you can get.

Related courses

Keyboard

In the course grid
←↑→↓
Move between courses
Home End
Start / end of row (with Ctrl: first / last)
PgUp PgDn
Jump several rows
Enter
Open course
S
Save / unsave course
1–5
Best, Trending, Hidden gems, Evergreen, Saved
[ ]
Previous / next topic
On a course page
← →
Previous / next course in your list
S
Save / unsave
O
Open the course website
Esc
Back to the grid
Everywhere
/
Search
T
Light / dark theme
?
This help