Current courses — 2026

Harvard now lists these courses as COMPSCI 1090A and COMPSCI 1090B (formerly CS109A and CS109B).

The official Harvard listings provide course information and links to Canvas. Course access may require a Harvard login. The historical course materials below remain available for independent study.

Course overview and archives

CS109 data science course illustration
Harvard's CS109A course is an introductory course in data science, designed for students with some prior programming experience. The course covers a broad range of topics in data science, including data cleaning, visualization, analysis, and machine learning. Students learn to use tools such as Python to work with data and build statistical models. The course also includes a significant group project component, where students work in teams to apply their skills to a real-world data science problem. Overall, the course aims to provide students with a solid foundation in data science and prepare them for further study in the field.

CS109B is a more advanced course in data science at Harvard, focused on topics in deep learning and probabilistic machine learning. The course covers techniques for building and training deep neural networks, such as convolutional neural networks (CNNs) and recurrent neural networks (RNNs), as well as more recent developments in the field such as transformers and language models like BERT and GPT, GANs, Style Gans. Additionally, the course explores unsupervised learning techniques, such as clustering, and covers probabilistic machine learning in a Bayesian framework. Overall, the course is designed to provide students with a deep understanding of advanced techniques in data science and prepare them for research or careers in the field.

From 2013 to 2015, it was taught as a one-semester course by Hanspeter Pfister and Joe Blitzstein. In 2016 the course expanded to two semesters, CS109A and CS109B, and has been taught by Pavlos Protopapas from SEAS and Natesh Pillai, Kevin Rader, and Mark Glickman from Statistics.

The diagram below extends the course history through 2026 and includes 2027 as a future year. Historical course links are preserved; outlined year markers do not imply a public archive or a confirmed future offering.
CS109 course timeline, 2013–2027 The single CS109 course branches into CS109A and CS109B. Historical links are preserved. Blue 2026 markers link to current Harvard listings. Outlined recent-year markers do not imply public archives. Dashed 2027 markers indicate a future year. Three HarvardX course links appear below. CS109 CS109A CS109B 2013 CS109 2013 2014 CS109 2014 2015 CS109 2015 2016 CS109A 2016 2017 CS109A 2017 CS109B 2017 2018 CS109A 2018 CS109B 2018 2019 CS109A 2019 CS109B 2019 2020 CS109A 2020 CS109B 2020 2021 CS109A 2021 CS109B 2021 2022 CS109A 2022 CS109B 2022 2023 CS109A 2023 CS109B 2023 2024 CS109A 2024 CS109B 2024 2025 CS109A 2025 CS109B 2025 2026 CS109A 2026 CS109B 2026 2027 CS109A 2027 — future year; offering not confirmed CS109B 2027 — future year; offering not confirmed Pan Levine / Dave Tanner Tanner Tanner 2026 listings Future Pfister & Blitzstein, Kaynig-Fittkau Pfister & Blitzstein, Kaynig-Fittkau Irizarry, Kaynig-Fittkau Irizarry, Kaynig-Fittkau Pfister, Glickman & Kaynig-Fittkau Pfister, Glickman & Kaynig-Fittkau Protopapas, Rader Protopapas, Rader Protopapas, Pillai Protopapas, Pillai Protopapas, Glickman Protopapas, Glickman Outlined years: no archive linked Dashed 2027: future, unconfirmed HarvardX Introduction to Data Science with Python Machine Learning and AI with Python Introduction to Neural Networks and Deep Learning with Python

How to Take this Course

Independent study: Browse the historical course links above, including CS109A 2021 and CS109B 2022.

HarvardX online courses

Explore all three courses on Harvard’s official course pages for current enrollment and certificate options:

Harvard Extension School

Consult the course catalog for current offerings, registration requirements, and credit information.

Last reviewed November 14, 2026.