Back to index
OtherFull semester, around ten to twelve hours a week·Free course notes, slides and lecture recordings published online

UC Berkeley Data 100: Principles and Techniques of Data Science

4.5

The best free treatment of the unglamorous middle of data science, the part between an introductory course and a machine learning course that almost nobody teaches well. The online course notes function as a proper textbook.

What We Liked

  • The published course notes are a genuine textbook, not slide dumps
  • Teaches pandas and SQL properly rather than assuming you will pick them up
  • Data cleaning, missingness and messy real data get serious attention
  • Visualisation is taught as an analytical tool with actual principles behind it
  • Derives regression and gradient descent from the mathematics rather than calling a library

What Could Be Better

  • Assignments are on Gradescope, so self learners cannot get anything graded
  • Machine learning coverage is deliberately shallow because this is a bridge course
  • Prerequisites assume Berkeley's own Data 8 and CS 61A, which self learners must substitute
  • Nothing about deep learning, language models or anything modern in AI
  • Materials are split across semester specific sites, which makes navigation awkward

Detailed review

There is a predictable failure pattern among people who learn machine learning from courses. They can explain gradient descent, they can talk about regularisation, and then they are handed a real dataset with inconsistent date formats, three different spellings of the same category, and twenty percent missing values in the column that matters, and they have no idea what to do. Data 100 is the course that addresses precisely that gap, and it is one of the few that does. The course sits deliberately between Berkeley's introductory Data 8 and its upper division machine learning courses.

It covers the full data science lifecycle: framing a question, collecting and cleaning data, exploratory analysis, visualisation, statistical inference, prediction and the decisions that follow. Practically that means pandas and SQL taught properly, regular expressions and text processing, visualisation principles, linear and logistic regression derived from the mathematics, gradient descent implemented rather than imported, principal component analysis, clustering, and the bias variance material that sits underneath model selection. The published course notes are the reason I recommend this to self learners rather than just to Berkeley students. They are not slide exports.

They are a written textbook with prose, worked examples and derivations, and they stand on their own without the lectures. Lecture recordings and slides are also published. That combination puts Data 100 among the more genuinely open courses from a major university, and the quality is high enough that I would prefer it to several paid data science programmes I have looked at. The data cleaning material deserves specific mention because it is so rarely taught.

Missingness types and what each implies about how you should handle them. Why dropping rows is usually wrong. Granularity, scope, temporality and faithfulness as a checklist for interrogating a dataset before you touch it. This is the material that separates someone who produces analysis from someone who produces analysis you can trust, and it is boring enough that most curricula skip it.

Berkeley does not, and the course is much better for it. The visualisation section is similarly substantive. Not a tour of chart types, but a treatment of perception, scale transformations, when a smoothed density misleads, and how visualisation functions as a tool for interrogating data rather than presenting conclusions. Anyone who has sat through a corporate dashboard course will notice the difference immediately.

The mathematical derivations are the third strength. Ordinary least squares is derived, gradient descent is implemented from scratch, and the linear algebra behind PCA is worked through rather than asserted. This is the right amount of rigour for the level: enough that you understand what the library call is doing, not so much that the course becomes a proofs course. Now the problems, and the first is unavoidable for outside learners.

Assignments run through Gradescope and autograders that are not available to people outside the university. You can read the assignments and work through them, and many are published with data, but you get no feedback and no verification. This is the standard limitation of open university courseware and Data 100 is no worse than the rest, though it does mean the practical component is weaker for you than for enrolled students. The prerequisites need translating.

The formal requirements are Data 8 or Stat 20, CS 61A or equivalent programming, and linear algebra. For a self learner, that means you should be comfortable writing Python functions, have seen basic probability and statistics, and know what a matrix multiplication does. If any of those are missing, Data 8 is also published free and is a reasonable place to start. The scope limits are worth stating clearly for anyone arriving from an AI search.

The machine learning content is intentionally introductory. Linear models, logistic regression, some clustering, some dimensionality reduction. There is no deep learning, no neural networks of any depth, nothing about transformers or language models. Data 100 is preparation for those courses rather than a substitute, and Berkeley is explicit that it feeds into CS 189 and similar.

If you want AI, this is the course you take first and then leave. The site organisation is a minor irritation. Materials live on semester specific subsites, different semesters have different instructors and slightly different emphases, and finding the most current version takes a moment. Pick a recent semester and stay in it rather than mixing.

My 4.5 reflects a course that teaches the thing everyone needs and nobody wants to learn, teaches it rigorously, and publishes everything for free. The score is not higher only because the graded component is closed to outsiders, which is a real limitation for a course where doing the work is most of the value.

[ final ]

The verdict.

Work through this if your data handling is weaker than your modelling, which for most self taught people it is. It is the course that fixes the gap you did not know you had.