Spring 2026 Course Search

Computing and Data in Practice — CS4392.01

Instructor: Michael Corey
Days & Time: Tu 8:30AM-10:20AM
Credits: 2

For students doing work-study or internships, we will focus on three core areas of professionalization. First, each week will journal our work weeks, discussing and sharing our work experiences in a round-table. Second, we will build our professionalization skills, especially networking (in person and on LinkedIn), resume writing, and doing practice interviews. Finally, we will work on writing 5-year plans, to help us figure out where we’d like to be a few years after graduation. More specifically

Analyzing Blockchain/Web3 as an open distributed database — CS4391.01

Instructor: Michael Corey
Days & Time: TH 3:40pm-5:30pm
Credits: 2

Following up on the fall course on web3, this course helps students learn to track transactions and actions across blockchains, which are large distributed censorship resistant databases. The course starts by exploring the fundamental nature of the blockchain: how data is stored, accessed, and traversed. It then introduces common patterns and software used for blockchain analytics.

Artificial Intelligence — CS4105.01

Instructor: Darcy Otto
Days & Time: TU,FR 2:10pm-4:00pm
Credits: 4

How can we create machines that think, learn, and solve problems? This course explores the fascinating field of artificial intelligence (AI), introducing the fundamental concepts, techniques, and ethical considerations that drive this rapidly evolving discipline.

Building upon your programming knowledge, you will explore key AI paradigms including search algorithms, evolutionary algorithms, swarm intelligence, and machine learning.  You will implement AI solutions to real-world problems, and gain an understanding of how to think about contemporary AI development.

Econometrics — PEC2282.01

Instructor: Emma Kast
Days & Time: WE 10:00am-11:50am & WE 2:10pm-4:00pm
Credits: 4

This course introduces students to econometric approaches to asking and answering questions about the economy relating to employment, health, and well-being. The primary aim of the course is to understand how economists analyze data to determine causal effect. We will analyze data sets to ask and answer socioeconomic questions such as: What factors affect a person’s income, and how do we know? How might we investigate the main causes of unemployment?

Calculus: A Classical Approach — MAT4288.01

Instructor: Andrew McIntyre
Days & Time: TU,FR 2:10pm-4:00pm
Credits: 4

This course covers the breadth of university calculus: differentiation, integration, infinite series, and ordinary differential equations. It focuses on concepts and interconnections. In order to cover this much material, computational techniques are de-emphasized. The approach is historically based and classical, following original texts where possible.

Multivariable Calculus — MAT4301.01

Instructor: Andrew McIntyre
Days & Time: MO,TH 1:40pm-3:30pm
Credits: 4

Multivariable calculus is one of the core parts of an undergraduate mathematics curriculum. Introductory calculus mostly concentrates on situations where there is one input and one output variable; multivariable extends differentiation, integration, and differential equations to cases where there are multiple input and output variables. In this way, multivariable calculus combines calculus and linear algebra; the subject can also be called vector and matrix calculus.

Metric Spaces and Geometry — MAT4162.01

Instructor: Andrew McIntyre
Days & Time: TU,FR 8:30am-10:20am
Credits: 4

Everything is geometry! This class is about two things: first, about how mathematicians have extended the concept of "geometry" beyond triangles and circles, into higher-dimensional spaces, curved spaces, spaces of functions, discrete spaces, and more. Second, about how this extension of "geometry" can allow us to apply our powerful geometric intuition to a wide range of problems that might not initially seem geometric, both within mathematics, and in physics, computer science, and elsewhere.

Statistical Methods for Data Analysis — MAT2104.01

Instructor: Katie Montovan
Days & Time: TU,FR 8:30am-10:20am
Credits: 4

In this course, we will focus on developing the statistical skills needed to answer questions by collecting data, designing experimental studies, and analyzing large publicly available datasets. The skills learned will also help students to be critical consumers of statistical results. We will use a variety of datasets to develop skills in data management, analysis, and effective presentation of results.

Discrete Mathematics — MAT4107.01

Instructor: Katie Montovan
Days & Time: MO,TH 10:00am-11:50am
Credits: 4

Discrete mathematics studies problems that can be broken up into distinct pieces. Some examples of these sorts of systems are letters or numbers in a password, pixels on a computer screen, the connections between friends on Facebook, and driving directions (along established roads) between two cities. In this course we will develop the tools needed to solve relevant, real-world problems. Topics will include: combinatorics (clever ways of counting things), number theory and graph theory. Possible applications include probability, social networks, optimization, and cryptography.

Games and Probability — MAT2377.01

Instructor: Joe Mundt
Days & Time: T/Th 6:30PM-8:30PM
Credits: 4

Throughout history, people have played games — games of chance and games of skill. Many of us grew up playing all kinds of different games, and most of those are infused with the core tenets of statistical reasoning and understanding: probability, risk assessment, expected value, and game theory. This course will look at statistics and probability through this lens. We will consider dice, cards, and several ‘classic’ board games. We will consider situations with both complete and hidden information and how to analyze those.

Robotics and STEM Education: A Workshop — EDU2107.01

Instructor: Hugh Crowl
Days & Time: FR 10:30am-12:20pm
Credits: 1

In this course, students will gain experience with using simple programmable robots and how they can be utilized in STEM education. The focus of this class will be on learning and designing lessons for K-12 students utilizing these robots. This class is accessible for students at all levels of computer programming experience (including none). 

Needs, Wants, and Economic Rights — PEC2279.01

Instructor: Emma Kast
Days & Time: TU,FR 10:30am-12:20pm
Credits: 4

Commodities such as cars, smartphones, laptops, and refrigerators were initially considered luxuries but are now widely viewed as everyday necessities. This shift suggests that our understanding of need is shaped by social, historical, and cultural context. In this class we will explore questions such as: how do we distinguish what we want from what we need to live a dignified life? Moreover, how might societies determine which types of needs should be satisfied through market exchange and which should not?

Economic Minds — PEC2281.01

Instructor: Emma Kast
Days & Time: MO,TH 10:00am-11:50am
Credits: 4

This course explores how ideas about the economy – from money, to labor, to distribution – have changed over time. We will focus on different schools of thought in economics, including mercantilism, physiocracy, classical political economy, the Austrian school, Post-Keynesianism, and neoclassical economics, placing these ideas in their global context. A central focus will be on how different thinkers conceptualize capitalism: both its benefits and pitfalls.

Urban Disasters: Economics, Risk, and the City — PEC2286.01

Instructor: Lopamudra Banerjee
Days & Time: TU 2:10pm-4:00pm
Credits: 2

Catastrophic events—droughts, earthquakes, floods, hurricanes, and landslides—are growing in frequency and intensity around the world. As more of the global population concentrates in urban areas, the nature and consequences of these natural hazards are taking on a distinct and often violent shape in today’s metropolises and megacities. This course investigates how urban life reshapes both the impact of disasters and our capacity to respond to them.

Economic Inequality — PEC4124.01

Instructor: Lopamudra Banerjee
Days & Time: MO,TH 3:40pm-5:30pm
Credits: 4

Economic inequality is often described in terms of uneven distribution of income and wealth. Yet, more importantly, it reflects uneven access to opportunities, advantages, and life chances. Why do some people enjoy a higher standard of living and better quality of life than others? Are such inequalities fair and just? What role do history, policy, and institutions play in sustaining or reducing inequality?

Introduction to Computer Science 2: Algorithms and Application — CS4384.01

Instructor: Darcy Otto
Days & Time: TU,FR 10:30am-12:20pm
Credits: 4

Introduction to Computer Science 2 continues the design-recipe approach started in Introduction to Computer Science 1. We extend our toolkit from structural recursion into generative recursion, abstraction, and algorithmic problem-solving. Students move beyond simple data definitions to work with more sophisticated structures (trees, graphs, sets, maps) while beginning to reason about program efficiency and resource use.