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.

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.

projects in animation and projections — MA4314.01

Instructor: Sue Rees
Days & Time: TH 8:30am-12:10pm
Credits: 4

The course will be for sustained work on an animation or design project, and should be a space for both experimentation, ambition and a consistent endeavor.  Students will be expected to create a complete animation, a series of experiments, projection or interactive project.  The expectation is that students will be fully engaged in all aspects of the class from critiques, to experimenting with ideas, undertaking research and being present.

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.

Introduction to Counterpoint — MTH2118.01

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

Composers throughout the ages have cut their teeth on the study of counterpoint – the intricate practice of writing melodies for several voices sounding at once. In this course, we’ll look mainly at 16th-century composers of counterpoint, and sing through pieces from Palestrina to Weelkes, while learning to compose in a variety of practices such as canons, the motet, and familiar style. We’ll gradually work our way from two-voice to four-voice counterpoint, and set texts in a variety of harmonic styles.

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). 

Hand-drawn Animation — MA2217.01

Instructor: John Crowe
Days & Time: TU 2:10pm-4:00pm
Credits: 2

Fundamentals of 2-D animation principles will be explored through drawing, from basic motion cycles to straight-ahead animation. Students will primarily work with wet/dry mediums on paper, with additional instruction in After Effects compositing workflow, and digital drawing. Weekly exercises will explore a variety of animation techniques to create short projects. While Screenings, critiques and demonstrations parallel regular viewings of student work.

Intermediate Ear Training — MTH4284.01

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

In this course, students will develop skills in aural perception, learning to visualize, sing, and notate music through melodic, harmonic, and rhythmic exercises. Students will learn to identify key signatures, intervals, 7th chords, triads, key relationships, common cadences and phrase structures, larger forms, tempo markings, and more.

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.

The Tuning in The Trees — MUS4279.01

Instructor: Omeed Goodarzi
Days & Time: FR 2:10pm-4:00pm
Credits: 2

The Tuning in the Trees is an advanced seminar in microtonality that treats tuning systems as both technical structures and living landscapes. Students will explore how musical intervals emerge from natural patterns—such as tree bifurcations, harmonic ratios, and number sequences—while engaging deeply with Just intonation, Meantone, Bohlen–Pierce, and other non-Western tunings.

Digital Modelling and Animation — MA2103.01

Instructor: Sue Rees
Days & Time: FR 8:30am-12:10pm
Credits: 2

This course introduces students to the basic language of 3D animation and modeling.  Students will be expected to become familiar with the basic principles of the MAYA program. A series of modeled objects placed in locations will be created. The emphasis will be on becoming proficient with modelling forms, texturing using Arnold Renderer, basic animation and utilizing lights and cameras.