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

CS61B Data Structures

UC Berkeley

2 recommenders · 2 threads · recommended in 2 years, 2023–2025 · score 2.4

Search for it ↗

CS61B is UC Berkeley's second-semester data structures course, covering abstraction, linked and tree structures, hashing, graphs, and sorting, with substantial hands-on projects such as building a simplified git. Commenters point to its public lecture videos and course site.

Commenters call it a strong, theory-plus-practice data structures course where lectures on red-black trees and Dijkstra's are followed by implementing them in lab.

Algorithms & Data Structuresintermediatefreevideo lectures#data structures#algorithms#graphs#trees#berkeley

Recommendations by year

20062026

What commenters said (4)

  1. Strongly recommendsbhl2023in “Tell HN: UC Berkeley's CS61A/B/C are the best courses to learn CS and coding”
    CS61A was awful for me and made me hate computer science.

    Valid criticism. Think for most students, 61A has too steep of a learning curve for an introductory class. For people without any programming experience, it’s a bit too much too fast and with a class size of 2000+, you struggle for resources.

    For those with prior experience, it feels like unnecessary training wheels. You learn a little bit of Python, SQL, and Scheme. You have to do environment diagrams (What Would Python Do) on paper, and learn how to use a debugger. Projects and tests have mad-libs style fill in the skeleton code.

    In my experience, 61A is a tasting menu of computer science: you take it for the experience, and leave hungry and confused – but excited.

    I tested out of 61B.

    OP, you really missed a lot by testing out. This class is half theory, half learn by doing. For example, you learn about red-black trees or Dijkstra's in lecture and then go to lab and implement it.

    I know theory and algorithms seem bland at first, but look at the applications. https://www.cs.princeton.edu/~wayne/kleinberg-tardos/

    Favorite aspect of this class was designing and then writing a smaller version of git. You had to write a design spec that was checked off, and then your implementation had to pass a test suite.

    If that’s not software development, then I don’t know what it is.

    61C taught me how computers actually work and simultaneously made me quit the major.

    61C was not one of my favorite classes because of how low level it is (compilers, RISC-V, concurrency, etc.). But if you stopped taking classes before upper division, you missed out on a whole gamut of “practical” classes like algorithms (CS170) and operating systems (CS162).

  2. Recommendskingkongjaffa2025in “Ask HN: How should new programmers learn in the AI era?”

    I would do (and have done) CS50X online https://cs50.harvard.edu/x/ do all the problem sets and projects by hand using no AI to write any code. The lectures and tutorials are outstanding. By the time you're done you'll be ready to build whatever and research what you need to learn to build most things

    If you need to go deeper, then do https://cs50.harvard.edu/web/ as well.

    If you need to really nail DS/ Algorithms do the courses from Berkley:

    https://cs61a.org/ (if you did CS50x already you can skip)

    https://sp25.datastructur.es/ (CS61B)

    https://cs61c.org/fa25/ (Optional/advanced stuff)

  3. Mentionsaabhay2023in “Tell HN: UC Berkeley's CS61A/B/C are the best courses to learn CS and coding”

    I did not appreciate it at the time but CS 61 abc absolutely transformed by foundational understanding of computer science and the concepts they push are absolutely and non-negotiably important for someone to learn.

    My only recommendation is to learn programming in a more useful and productive language like C++, as the thing you do not want to do in CS61A is to simultaneously learn to program and learn the concepts in those courses. The right way to think about it is those courses are trying to make you go “ohh that’s how things actually work”.

  4. Mentions85899345912019in “Ask HN: How do I choose the right resource to learn CS fundamentals?”

    I think I might go with this recommendation, maybe watch the CS61B videos as and when necessary.

    I did the intro course from the sedgewick and wayne from coursera along with their book and loved it. Would recommend it to anyone who likes a decent challenge while learning. The book is pretty dense.

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