Courses

Course Listing

Data Science 2: Advanced Topics in Data Science

APCOMP 209B
2025 Spring

Pavlos Protopapas, Natesh Sivasubramonia Pillai
Monday, Wednesday, Friday
9:00am to 10:15am

Data Science 2 is the second half of a one-year introduction to data science. Building upon the material in Data Science 1, the course introduces advanced methods for statistical modeling, representation, and prediction. Topics include multiple deep learning architectures such as CNNs, RNNs, transformers, language models, autoencoders, and generative models as well as basic Bayesian methods, and unsupervised learning. Students are strongly encouraged to enroll in both the fall and spring course within the same academic year. Part two of a two-part series.

Course Website

Critical Thinking in Data Science

APCOMP 221
2025 Spring

Michael Smith, Simson Garfinkel
Monday, Wednesday
3:45pm to 5:00pm

This course examines the wide-ranging impact data science has on the world and how to think critically about issues of fairness, privacy, ethics, and bias while building algorithms and predictive models that get deployed in the form of products, policy and scientific research. Topics will include algorithmic accountability and discriminatory algorithms, black box algorithms, data privacy and security, ethical frameworks; and experimental and product design. We will work through case studies in a variety of contexts including media, tech and sharing economy platforms; medicine and public health; data science for social good, and politics. We will look at the underlying machine learning algorithms, statistical models, code and data. Threads of history, philosophy, business models and strategy; and regulatory and policy issues will be woven throughout the course.

Course Website

Computational Science and Engineering Capstone Project

APCOMP 297R
2025 Spring

Weiwei Pan
Wednesday
12:45pm to 3:30pm

The capstone course is intended to provide students with an opportunity to work in groups of 3-4 on a real-world project. Students will develop novel ideas while applying and enhancing skills they have acquired from their core courses and electives. By requiring students to complete a substantial and challenging collaborative project, the capstone course will prepare students for the professional world and ensure that they are trained to conduct research. There will be no additional homework. There will be several mini-lectures, focusing on supplemental skills such as technical writing, public speaking, reading research papers, using version control software, identifying biases, etc. Since the projects concern real-world projects, datasets will likely be messy, and there is a focus on effectively communicating your progress to both the staff and partner organization.

Course Website

Special Topics in Applied Computation

APCOMP 299R
2025 Spring

Daniel Weinstock

Supervision of experimental or theoretical research on acceptable applied computation problems and supervision of reading on topics not covered by regular courses of instruction.

Course Website

Advanced Scientific Computing: Stochastic Methods for Data Analysis, Inference and Optimization

APMTH 207
Fall 2023

Petros Koumoutsakos
T/TH
12:00pm - 1:15pm

The class aims to highlight the process of scientific discovery under uncertainty in the age of data. The class content stresses a unifying approach to data driven modeling and inference through stochastic  simulations, optimization and Bayesian uncertainty quantification. The class projects require transferring an idea to software in multi- and many-core computer architectures.

Course Website

Advanced Scientific Computing: Numerical Methods

APMTH 205
Fall 2023

LLoyd Trefethen
M/W
3:00pm - 4:15pm

Mathematical theory and implementation aspects of well-established numerical algorithms applied in various scientific and engineering disciplines. The course will cover data fitting, numerical linear algebra, numerical differentiation and integration, optimization, and numerical solvers for differential equations. There will be a significant programming component. Students will be expected to implement a range of numerical methods as part of individual and group-based projects. The material is sufficiently diverse to match each student's background and programming skills.

Course Website

High Performance Computing for Science and Engineering

COMPSCI 205
Fall 2023

TBD
T/TH
2:15pm - 3:30pm

With manufacturing processes reaching the limits in terms of transistor density on today’s computing architectures, efficient modern code must exploit parallel execution to maintain scaling of available hardware resources. The use of computers in academia, industry and society is a fundamental tool for solving (scientific) problems while the "think parallel" mindset of code developers is still lagging behind. The aim of this course is to introduce the student to the fundamentals of parallel programming and its relationship on computer architectures. Various forms of parallelism are discussed and exploited through different programming models with focus on shared and distributed memory programming. The learned techniques are tried out by means of homework, lab sessions and a term project.

Course Website