Computer Science

Course System Home All Areas of Study Computer Science

Select Filters and then click Apply to load new results

Term
Time & Day Offered
Level
Credits
Course Duration

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

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,

Blockchain/Web3 as an evolution of the consumer web — CS2138.01

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

The large-scale consumer web has been defined by epochs. The first epoch was defined by the user as consumer: large companies created content which was consumed by the masses. The second web epoch (web 2.0) has been defined by consumer creators, large companies own and deliver content created by users to other users (Facebook, TikTok,

Computing and Data in Practice — CS4389.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

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

Data Structures and Algorithms — CS4388.01

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

How do we organize data to solve complex problems efficiently? This course studies the fundamental structures and algorithms that form the cornerstone of computational problem-solving. Building upon the programming foundations established in CS1, we will explore how algorithmic thinking and sophisticated data organization enables us to tackle increasingly challenging

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

Electronics Lab — PHY2213.02

Instructor: Hugh Crowl
Days & Time: MO 1:40pm-5:20pm
Credits: 2

This course will serve as an introduction to working with circuits in a lab setting. We will learn about the relatively simple rules necessary for working with analog circuits and how those rules can be used to build objects of growing complexity. We will then move on to understanding how to build circuits that can measure properties of and interact with their

Introduction to Computer Science 1: Programming and Computer Science — CS2139.01

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

Have you ever imagined speaking in the language of computers, and transforming your ideas into actions that computers can perform? This course is a gateway to discovering the art and science of programming, a crucial skill that serves as the backbone of computer science. But computer science transcends mere programming. Our actual aim is to nurture your ability to think like

Linear Algebra: An Introduction — MAT2482.01

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

Together with calculus, linear algebra is one of the foundations of higher-level mathematics and its applications. This is NOT just the algebra you know from high school. There are several perspectives one can take on linear algebra: it is a method for handling large systems of linear equations, it is a theory of linear geometry (including in dimensions larger than three),

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

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

Sets and Structures — MAT2121.01

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

In the eighteenth and nineteenth centuries, mathematics underwent a vast expansion, into new, exciting, and increasingly counter-intuitive realms. The subject risked mystification and mutual incomprehensibility between experts in different sub-fields. In the first part of the twentieth century, a group of French mathematicians, under the pseudonym Bourbaki, undertook an

Systems 1: Hardware Architecture and Design—From circuits to machine code — CS2114.01

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

Have you ever wondered what a computer is and how it actually works?  In this course, we’ll answer the hardware half of this question.

Working from the ground up, we will start with basic circuits and develop elementary logic gates.  Taking these gates as our building blocks, we will construct the core components of a modern computer: the central processing