CS Courses for Fall 2026
Please click on the course title for more information.
|
CS 110 01 - Sociotechnical Dimensions of Computing in the Age of AI
|
Course: |
CS 110 - 01 |
|
Title: |
Sociotechnical Dimensions of Computing in the Age of AI |
|
Credit Hours: |
1 |
|
Description: |
The rapid advancement of artificial intelligence (AI) is transforming the way we work, interact, and make decisions. AI is integrated into applications and devices that are woven into our daily lives. How does AI work? What impact will AI have on individuals, communities, and our global society?
This course aims to provide students with the knowledge and skills to become informed digital citizens in the age of AI, ready to navigate the digital landscape. Students will gain fundamental technical understanding of how computers, the Web, and AI work, and will study three programming languages: HTML5, CSS, and JavaScript. Students will also examine and discuss societal and ethical issues related to the Web and AI technologies, and consider responsible and future use of these technologies. |
|
Prerequisite(s): |
Fulfillment of the Quantitative Reasoning (QR) component of the Quantitative Reasoning & Data Literacy requirement. No prior background with computers is expected.
|
|
Notes: |
Mandatory Credit/Non Credit. |
|
Distribution(s): |
Mathematical Modeling and Problem Solving |
|
Cross Listed Courses: |
MAS 110 01 - Sociotechnical Dimensions of Computing in the Age of AI
|
|
Instructors: |
Brian Brubach |
|
Meeting Time(s): |
Science Center E Wing 311 Classroom - TF 2:10 PM - 3:25 PM |
|
CS 111 01 - Computer Programming and Problem Solving
|
Course: |
CS 111 - 01 |
|
Title: |
Computer Programming and Problem Solving |
|
Credit Hours: |
1 |
|
Description: |
An introduction to problem-solving through computer programming. Students learn how to read, modify, design, debug, and test algorithms that solve problems. Programming concepts include control structures, data structures, abstraction, recursion, and modularity. Students explore these concepts in the context of interactive programs, data processing, and graphics or audio, using the Python programming language.
This course has a required co-requisite laboratory - CS 111L. |
|
Prerequisite(s): |
Fulfillment of the Quantitative Reasoning (QR) component of the Quantitative Reasoning & Data Literacy requirement. No prior background with computers is expected. |
|
Notes: |
Does not fulfill the laboratory requirement. Mandatory Credit/Non Credit. |
|
Distribution(s): |
Mathematical Modeling and Problem Solving |
|
Instructors: |
Smaranda Sandu |
|
Meeting Time(s): |
Science Center Hub 403 Classroom - TF 9:55 AM - 11:10 AM |
|
CS 111 02 - Computer Programming and Problem Solving
|
Course: |
CS 111 - 02 |
|
Title: |
Computer Programming and Problem Solving |
|
Credit Hours: |
1 |
|
Description: |
An introduction to problem-solving through computer programming. Students learn how to read, modify, design, debug, and test algorithms that solve problems. Programming concepts include control structures, data structures, abstraction, recursion, and modularity. Students explore these concepts in the context of interactive programs, data processing, and graphics or audio, using the Python programming language.
This course has a required co-requisite laboratory - CS 111L. |
|
Prerequisite(s): |
Fulfillment of the Quantitative Reasoning (QR) component of the Quantitative Reasoning & Data Literacy requirement. No prior background with computers is expected. |
|
Notes: |
Does not fulfill the laboratory requirement. Mandatory Credit/Non Credit. |
|
Distribution(s): |
Mathematical Modeling and Problem Solving |
|
Instructors: |
Sohie Lee |
|
Meeting Time(s): |
Science Center Hub 302 Active Learning Classroom - TF 11:20 AM - 12:35 PM |
|
CS 111L L01 - Laboratory: Computer Programming and Problem Solving
|
Course: |
CS 111L - L01 |
|
Title: |
Laboratory: Computer Programming and Problem Solving |
|
Credit Hours: |
0 |
|
Description: |
This is a required co-requisite laboratory for CS 111. |
|
Prerequisite(s): |
None. |
|
Notes: |
|
|
Instructors: |
Sara Melnick |
|
Meeting Time(s): |
Science Center Hub 402 CS Computer Lab - T 1:30 PM - 3:20 PM |
|
CS 111L L02 - Laboratory: Computer Programming and Problem Solving
|
Course: |
CS 111L - L02 |
|
Title: |
Laboratory: Computer Programming and Problem Solving |
|
Credit Hours: |
0 |
|
Description: |
This is a required co-requisite laboratory for CS 111. |
|
Prerequisite(s): |
None. |
|
Notes: |
|
|
Instructors: |
Sara Melnick |
|
Meeting Time(s): |
Science Center Hub 402 CS Computer Lab - T 3:30 PM - 5:20 PM |
|
CS 111L L03 - Laboratory: Computer Programming and Problem Solving
|
Course: |
CS 111L - L03 |
|
Title: |
Laboratory: Computer Programming and Problem Solving |
|
Credit Hours: |
0 |
|
Description: |
This is a required co-requisite laboratory for CS 111. |
|
Prerequisite(s): |
None. |
|
Notes: |
|
|
Instructors: |
Sara Melnick |
|
Meeting Time(s): |
Science Center L Wing 180 Computer Science Computer Lab - W 10:30 AM - 12:20 PM |
|
CS 111L L04 - Laboratory: Computer Programming and Problem Solving
|
Course: |
CS 111L - L04 |
|
Title: |
Laboratory: Computer Programming and Problem Solving |
|
Credit Hours: |
0 |
|
Description: |
This is a required co-requisite laboratory for CS 111. |
|
Prerequisite(s): |
None. |
|
Notes: |
|
|
Instructors: |
Sara Melnick |
|
Meeting Time(s): |
Science Center L Wing 180 Computer Science Computer Lab - W 1:30 PM - 3:20 PM |
|
CS 111L L05 - Laboratory: Computer Programming and Problem Solving
|
Course: |
CS 111L - L05 |
|
Title: |
Laboratory: Computer Programming and Problem Solving |
|
Credit Hours: |
0 |
|
Description: |
This is a required co-requisite laboratory for CS 111. |
|
Prerequisite(s): |
None. |
|
Notes: |
|
|
Instructors: |
Sara Melnick |
|
Meeting Time(s): |
Science Center L Wing 180 Computer Science Computer Lab - W 3:30 PM - 5:20 PM |
|
CS 121 01 - Intro to Game Design
|
Course: |
CS 121 - 01 |
|
Title: |
Intro to Game Design |
|
Credit Hours: |
1 |
|
Description: |
Video games are a popular form of interactive media that engage players in dynamic experiences through unprecedented combinations of storytelling, visualization, interactivity, and multi-sensory immersion. This course will introduce students to video game production and concepts. We will develop a framework for critically analyzing this medium, learn to identify effective strategies for creating games and describe what elements of design impact the final experience of a game. We’ll also identify the function of user agency in this medium to better understand how players are affected by representation in video games. Throughout the course, students will be asked to apply these concepts while building their own games and become familiar with the fundamentals of video game design. |
|
Prerequisite(s): |
None. Open to First-Years and Sophomores. Juniors and Seniors by permission of the instructor. |
|
Notes: |
|
|
Distribution(s): |
Mathematical Modeling and Problem Solving |
|
Cross Listed Courses: |
MAS 121 01 - Intro to Game Design
|
|
Instructors: |
Jordan Tynes |
|
Meeting Time(s): |
Science Center L Wing 140 Computer Science Computer Lab - MR 11:20 AM - 12:35 PM |
|
CS 220 01 - Human-Computer Interaction
|
Course: |
CS 220 - 01 |
|
Title: |
Human-Computer Interaction |
|
Credit Hours: |
1 |
|
Description: |
Human-Computer Interaction is one of the areas that have transformed the way we use computers in the last 30 years. Topics include methodology for designing and testing user interfaces, interaction styles (command line, menus, graphical user interfaces, virtual reality, tangible user interfaces), interaction techniques (including use of voice, gesture, eye movements), design guidelines, and user interface software tools. Students will design a user interface, program a prototype, and test the results for usability. |
|
Prerequisite(s): |
One of the following courses - CS 110/MAS 110, CS 111, CS 111M, CS 111X, or CS 112 |
|
Notes: |
|
|
Distribution(s): |
Mathematical Modeling and Problem Solving |
|
Instructors: |
Catherine Grevet Delcourt |
|
Meeting Time(s): |
Science Center E Wing 111 Classroom - TF 11:20 AM - 12:35 PM |
|
CS 230 2LA - Data Structures
|
Course: |
CS 230 - 2LA |
|
Title: |
Data Structures |
|
Credit Hours: |
0 |
|
Description: |
An introduction to techniques and building blocks for organizing large programs. Topics include: modules, abstract data types, recursion, algorithmic efficiency, and the use and implementation of standard data structures and algorithms, such as lists, trees, graphs, stacks, queues, priority queues, tables, sorting, and searching. Students become familiar with these concepts through weekly programming assignments using the Java programming language. To enroll in CS 230, students need an explicit authorization of concept mastery from faculty of one of the following courses CS 111, CS 111M, CS 111X, or CS 112; or have taken CS 200. Students who did not take CS 111 or equivalent at Wellesley complete a placement questionnaire. |
|
Prerequisite(s): |
Fulfillment of the Quantitative Reasoning (QR) component of the Quantitative Reasoning & Data Literacy requirement and one of the following (CS 111, CS 111M, CS 111X) or CS 112, or CS 200; or permission of the instructor. |
|
Notes: |
Does not fulfill the laboratory requirement. |
|
Distribution(s): |
Mathematical Modeling and Problem Solving |
|
Instructors: |
Stella Kakavouli |
|
Meeting Time(s): |
Science Center Hub 402 CS Computer Lab - W 1:30 PM - 3:20 PM |
|
CS 230 2LB - Data Structures
|
Course: |
CS 230 - 2LB |
|
Title: |
Data Structures |
|
Credit Hours: |
0 |
|
Description: |
An introduction to techniques and building blocks for organizing large programs. Topics include: modules, abstract data types, recursion, algorithmic efficiency, and the use and implementation of standard data structures and algorithms, such as lists, trees, graphs, stacks, queues, priority queues, tables, sorting, and searching. Students become familiar with these concepts through weekly programming assignments using the Java programming language. To enroll in CS 230, students need an explicit authorization of concept mastery from faculty of one of the following courses CS 111, CS 111M, CS 111X, or CS 112; or have taken CS 200. Students who did not take CS 111 or equivalent at Wellesley complete a placement questionnaire. |
|
Prerequisite(s): |
Fulfillment of the Quantitative Reasoning (QR) component of the Quantitative Reasoning & Data Literacy requirement and one of the following (CS 111, CS 111M, CS 111X) or CS 112, or CS 200; or permission of the instructor. |
|
Notes: |
Does not fulfill the laboratory requirement. |
|
Distribution(s): |
Mathematical Modeling and Problem Solving |
|
Instructors: |
Stella Kakavouli |
|
Meeting Time(s): |
Science Center Hub 402 CS Computer Lab - W 3:30 PM - 5:20 PM |
|
CS 230 1LB - Data Structures
|
Course: |
CS 230 - 1LB |
|
Title: |
Data Structures |
|
Credit Hours: |
0 |
|
Description: |
An introduction to techniques and building blocks for organizing large programs. Topics include: modules, abstract data types, recursion, algorithmic efficiency, and the use and implementation of standard data structures and algorithms, such as lists, trees, graphs, stacks, queues, priority queues, tables, sorting, and searching. Students become familiar with these concepts through weekly programming assignments using the Java programming language. To enroll in CS 230, students need an explicit authorization of concept mastery from faculty of one of the following courses CS 111, CS 111M, CS 111X, or CS 112; or have taken CS 200. Students who did not take CS 111 or equivalent at Wellesley complete a placement questionnaire. |
|
Prerequisite(s): |
Fulfillment of the Quantitative Reasoning (QR) component of the Quantitative Reasoning & Data Literacy requirement and one of the following (CS 111, CS 111M, CS 111X) or CS 112, or CS 200; or permission of the instructor. |
|
Notes: |
Does not fulfill the laboratory requirement. |
|
Distribution(s): |
Mathematical Modeling and Problem Solving |
|
Instructors: |
Stella Kakavouli |
|
Meeting Time(s): |
Science Center Hub 402 CS Computer Lab - W 10:30 AM - 12:20 PM |
|
CS 230 1LA - Data Structures
|
Course: |
CS 230 - 1LA |
|
Title: |
Data Structures |
|
Credit Hours: |
0 |
|
Description: |
An introduction to techniques and building blocks for organizing large programs. Topics include: modules, abstract data types, recursion, algorithmic efficiency, and the use and implementation of standard data structures and algorithms, such as lists, trees, graphs, stacks, queues, priority queues, tables, sorting, and searching. Students become familiar with these concepts through weekly programming assignments using the Java programming language. To enroll in CS 230, students need an explicit authorization of concept mastery from faculty of one of the following courses CS 111, CS 111M, CS 111X, or CS 112; or have taken CS 200. Students who did not take CS 111 or equivalent at Wellesley complete a placement questionnaire. |
|
Prerequisite(s): |
Fulfillment of the Quantitative Reasoning (QR) component of the Quantitative Reasoning & Data Literacy requirement and one of the following (CS 111, CS 111M, CS 111X) or CS 112, or CS 200; or permission of the instructor. |
|
Notes: |
Does not fulfill the laboratory requirement. |
|
Distribution(s): |
Mathematical Modeling and Problem Solving |
|
Instructors: |
Stella Kakavouli |
|
Meeting Time(s): |
Science Center Hub 402 CS Computer Lab - M 1:30 PM - 3:20 PM |
|
CS 230 01 - Data Structures
|
Course: |
CS 230 - 01 |
|
Title: |
Data Structures |
|
Credit Hours: |
1 |
|
Description: |
An introduction to techniques and building blocks for organizing large programs. Topics include: modules, abstract data types, recursion, algorithmic efficiency, and the use and implementation of standard data structures and algorithms, such as lists, trees, graphs, stacks, queues, priority queues, tables, sorting, and searching. Students become familiar with these concepts through weekly programming assignments using the Java programming language. To enroll in CS 230, students need an explicit authorization of concept mastery from faculty of one of the following courses CS 111, CS 111M, CS 111X, or CS 112; or have taken CS 200. Students who did not take CS 111 or equivalent at Wellesley complete a placement questionnaire. Once the course fills, students can add themselves to the waitlist by filling out this form. |
|
Prerequisite(s): |
Fulfillment of the Quantitative Reasoning (QR) component of the Quantitative Reasoning & Data Literacy requirement and one of the following (CS 111, CS 111M, CS 111X) or CS 112, or CS 200; or permission of the instructor. |
|
Notes: |
Does not fulfill the laboratory requirement. |
|
Distribution(s): |
Mathematical Modeling and Problem Solving |
|
Instructors: |
Stella Kakavouli |
|
Meeting Time(s): |
Science Center Hub 402 CS Computer Lab - MR 11:20 AM - 12:35 PM |
|
CS 230 02 - Data Structures
|
Course: |
CS 230 - 02 |
|
Title: |
Data Structures |
|
Credit Hours: |
1 |
|
Description: |
An introduction to techniques and building blocks for organizing large programs. Topics include: modules, abstract data types, recursion, algorithmic efficiency, and the use and implementation of standard data structures and algorithms, such as lists, trees, graphs, stacks, queues, priority queues, tables, sorting, and searching. Students become familiar with these concepts through weekly programming assignments using the Java programming language. To enroll in CS 230, students need an explicit authorization of concept mastery from faculty of one of the following courses CS 111, CS 111M, CS 111X, or CS 112; or have taken CS 200. Students who did not take CS 111 or equivalent at Wellesley complete a placement questionnaire. Once the course fills, students can add themselves to the waitlist by filling out this form. |
|
Prerequisite(s): |
Fulfillment of the Quantitative Reasoning (QR) component of the Quantitative Reasoning & Data Literacy requirement and one of the following (CS 111, CS 111M, CS 111X) or CS 112, or CS 200; or permission of the instructor. |
|
Notes: |
Does not fulfill the laboratory requirement. |
|
Distribution(s): |
Mathematical Modeling and Problem Solving |
|
Instructors: |
Yaniv Yacoby |
|
Meeting Time(s): |
Science Center L Wing 180 Computer Science Computer Lab - MR 3:45 PM - 5:00 PM |
|
CS 230X 01 - Data Structures
|
Course: |
CS 230X - 01 |
|
Title: |
Data Structures |
|
Credit Hours: |
1 |
|
Description: |
An introduction to techniques and building blocks for organizing large programs. Topics include: modules, abstract data types, recursion, algorithmic efficiency, and the use and implementation of standard data structures and algorithms, such as lists, trees, graphs, stacks, queues, priority queues, tables, sorting, and searching. Students become familiar with these concepts through weekly programming assignments using the Java programming language. CS 230X is intended for students with significant prior experience in Java programming as demonstrated by a 5 in CS AP A, or equivalent demonstration of experience. Students in this section will complete self-directed weekly labs. If you did not take the CS AP A exam and would like to take this class, you may take the CS placement questionnaire to see if you qualify. CS230X is intended for students with significant prior experience in Java programming as demonstrated by a 5 in CS AP A, or equivalent demonstration of experience. If you did not take the CS AP A exam and would like to take this class, you may take the CS placement exam to see if you qualify at https://cs.wellesley.edu/~placement/. Enrollment in this course is by permission of instructor, all students who wish to enroll must apply using this form. |
|
Prerequisite(s): |
One of the following CS 111, CS 111M, CS 111X, or CS 112; or permission of the instructor. |
|
Notes: |
|
|
Distribution(s): |
Mathematical Modeling and Problem Solving |
|
Instructors: |
Catherine Grevet Delcourt |
|
Meeting Time(s): |
Science Center L Wing 180 Computer Science Computer Lab - TF 12:45 PM - 2:00 PM |
|
CS 231 01 - Design and Analysis of Algorithms
|
Course: |
CS 231 - 01 |
|
Title: |
Design and Analysis of Algorithms |
|
Credit Hours: |
1 |
|
Description: |
This course introduces the design and analysis of fundamental algorithms. It focuses on the basic skills needed to design efficient, correct algorithms and mathematically prove these properties. General problem-solving techniques covered: divide-and-conquer, dynamic programming, greediness, and probabilistic algorithms. Topics include: sorting, searching, graph algorithms, optimization, network flows, asymptotic analysis, compression, and NP-completeness. |
|
Prerequisite(s): |
One of the following (CS 230, CS 230P, or CS 230X) and MATH 225, or permission of the instructor. |
|
Notes: |
|
|
Distribution(s): |
Mathematical Modeling and Problem Solving |
|
Instructors: |
Brian Brubach |
|
Meeting Time(s): |
Science Center L Wing 047 Classroom - TF 9:55 AM - 11:10 AM
Science Center L Wing 047 Classroom - W 10:30 AM - 11:20 AM |
|
CS 232 02 - Artificial Intelligence
|
Course: |
CS 232 - 02 |
|
Title: |
Artificial Intelligence |
|
Credit Hours: |
1 |
|
Description: |
What is artificial intelligence (AI) and should humans fear it as one of "our biggest existential threats"? In this course, we will grapple with these difficult questions and investigate them in different ways. We will discuss the development of the field from the symbolic, knowledge-rich approaches of the 20th century AI (e.g., rule-based systems), to statistical approaches that rely on increasingly large amounts of data, including an overview of contemporary deep learning techniques. We will explore how to apply these techniques in several AI application areas, including robotics, computer vision, and natural language processing, and consider ethical issues around AI in society. By the end of the semester, students should be able to answer the starting questions in-depth and with nuance. |
|
Prerequisite(s): |
One of the following (CS 111, CS 111M, CS 111X, or CS 112) and one of the following (CS 230, CS 230P, or CS 230X), or permission of the instructor. |
|
Notes: |
|
|
Distribution(s): |
Mathematical Modeling and Problem Solving |
|
Instructors: |
Carolyn Anderson |
|
Meeting Time(s): |
Science Center Hub 402 CS Computer Lab - TF 11:20 AM - 12:35 PM |
|
CS 232 01 - Artificial Intelligence
|
Course: |
CS 232 - 01 |
|
Title: |
Artificial Intelligence |
|
Credit Hours: |
1 |
|
Description: |
What is artificial intelligence (AI) and should humans fear it as one of "our biggest existential threats"? In this course, we will grapple with these difficult questions and investigate them in different ways. We will discuss the development of the field from the symbolic, knowledge-rich approaches of the 20th century AI (e.g., rule-based systems), to statistical approaches that rely on increasingly large amounts of data, including an overview of contemporary deep learning techniques. We will explore how to apply these techniques in several AI application areas, including robotics, computer vision, and natural language processing, and consider ethical issues around AI in society. By the end of the semester, students should be able to answer the starting questions in-depth and with nuance. |
|
Prerequisite(s): |
One of the following (CS 111, CS 111M, CS 111X, or CS 112) and one of the following (CS 230, CS 230P, or CS 230X), or permission of the instructor. |
|
Notes: |
|
|
Distribution(s): |
Mathematical Modeling and Problem Solving |
|
Instructors: |
Carolyn Anderson |
|
Meeting Time(s): |
Science Center Hub 402 CS Computer Lab - TF 8:30 AM - 9:45 AM |
|
CS 235 01 - Theory of Computation
|
Course: |
CS 235 - 01 |
|
Title: |
Theory of Computation |
|
Credit Hours: |
1 |
|
Description: |
This course offers an introduction to the theory of computation. Topics include languages, regular expressions, finite automata, grammars, pushdown automata, and Turing machines. The first part of the course covers the Chomsky hierarchy of languages and their associated computational models. The second part of the course focuses on decidability issues and unsolvable problems. The final part of the course investigates complexity theory. |
|
Prerequisite(s): |
One of the following (CS230, CS230P, or CS230X) and MATH 225, or permission of the instructor. |
|
Notes: |
|
|
Distribution(s): |
Mathematical Modeling and Problem Solving |
|
Instructors: |
Smaranda Sandu |
|
Meeting Time(s): |
Science Center E Wing 311 Classroom - MR 8:30 AM - 9:45 AM |
|
CS 240 01 - Foundations of Computer Systems with Laboratory
|
Course: |
CS 240 - 01 |
|
Title: |
Foundations of Computer Systems with Laboratory |
|
Credit Hours: |
1.25 |
|
Description: |
This course examines how computers run programs, introducing key software and hardware abstractions and implementations between programming languages and transistors. The course traces representation and translation of data and programs through three broad topics in computer systems: computer hardware implementation, including digital logic, computer arithmetic, and machine organization; the hardware-software interface, including instruction set architecture, assembly code, and the C programming language; and abstractions for practical systems, including the physical memory hierarchy, the operating system process model, virtual memory, and memory management. Students complete extensive hands-on projects in hardware and software systems. Students are required to attend one three-hour laboratory weekly. |
|
Prerequisite(s): |
One of the following (CS230, CS230P, or CS230X) or permission of the instructor. |
|
Notes: |
This course satisfies the laboratory requirement. |
|
Distribution(s): |
Natural and Physical Sciences Laboratory
Mathematical Modeling and Problem Solving |
|
Instructors: |
Franklyn Turbak |
|
Meeting Time(s): |
Science Center N Wing 207 Classroom - TF 11:20 AM - 12:35 PM |
|
CS 240L L01 - Laboratory: Foundations of Computer Systems Laboratory
|
Course: |
CS 240L - L01 |
|
Title: |
Laboratory: Foundations of Computer Systems Laboratory |
|
Credit Hours: |
0 |
|
Description: |
This is a required co-requisite laboratory for CS 240. The grading option chosen for the lecture (CS 240) - either Letter Grade or Credit/Non Credit - will apply to the lab as well; the final grade is a single unified grade for both lecture and lab and is based on the grading option you choose for the lecture. |
|
Prerequisite(s): |
None. |
|
Notes: |
|
|
Instructors: |
Peter Andrew Mawhorter |
|
Meeting Time(s): |
Science Center L Wing 037 Computer Science Lab - T 1:30 PM - 4:30 PM |
|
CS 240L L02 - Laboratory: Foundations of Computer Systems Laboratory
|
Course: |
CS 240L - L02 |
|
Title: |
Laboratory: Foundations of Computer Systems Laboratory |
|
Credit Hours: |
0 |
|
Description: |
This is a required co-requisite laboratory for CS 240. The grading option chosen for the lecture (CS 240) - either Letter Grade or Credit/Non Credit - will apply to the lab as well; the final grade is a single unified grade for both lecture and lab and is based on the grading option you choose for the lecture. |
|
Prerequisite(s): |
None. |
|
Notes: |
|
|
Instructors: |
Peter Andrew Mawhorter |
|
Meeting Time(s): |
Science Center L Wing 037 Computer Science Lab - W 8:30 AM - 11:30 AM |
|
CS 240L L03 - Laboratory: Foundations of Computer Systems Laboratory
|
Course: |
CS 240L - L03 |
|
Title: |
Laboratory: Foundations of Computer Systems Laboratory |
|
Credit Hours: |
0 |
|
Description: |
This is a required co-requisite laboratory for CS 240. The grading option chosen for the lecture (CS 240) - either Letter Grade or Credit/Non Credit - will apply to the lab as well; the final grade is a single unified grade for both lecture and lab and is based on the grading option you choose for the lecture. |
|
Prerequisite(s): |
None. |
|
Notes: |
|
|
Instructors: |
Peter Andrew Mawhorter |
|
Meeting Time(s): |
Science Center L Wing 037 Computer Science Lab - W 12:00 PM - 3:00 PM |
|
CS 245 01 - Probabilistic Foundations of Machine Learning
|
Course: |
CS 245 - 01 |
|
Title: |
Probabilistic Foundations of Machine Learning |
|
Credit Hours: |
1 |
|
Description: |
In recent years, Machine Learning (ML) has been used in novel applications—from generating new art and music to systems that accurately and reliably predict outcomes of medical interventions in real-time. Faster computing hardware, large datasets, and the probabilistic paradigm of ML, which frames advances like neural networks within statistical learning, have enabled these developments. In this course, we introduce the foundational concepts behind the probabilistic paradigm of predictive ML: statistical model specification and learning. We will focus on connecting theory with real-world applications. Students will get hands-on experience building models for specific tasks, most taken from healthcare contexts, using probabilistic programming languages. While expanding our methodological toolkit, we will simultaneously introduce critical perspectives to examine the ethics of ML within sociotechnical systems. This course lays the foundation for advanced study and research in ML. Topics include: directed graphical models, deep regression/classification, frequentist learning, and model evaluation. For more information, see the course website: https://mogu-lab.github.io/cs245/. Enrollment in this course is by permission of the instructor. Students interested in taking this course should fill out this Google Form. |
|
Prerequisite(s): |
One of the following (CS 230, CS 230P, CS 230X) and MATH 115, and one of the following (MATH 205, MATH 206, MATH 220, MATH 225, STAT 218, or STAT 318), and permission of the instructor. |
|
Notes: |
This course will not be offered in the 27-28 Academic Year. |
|
Distribution(s): |
Mathematical Modeling and Problem Solving
Data Literacy (Formerly QRDL) |
|
Instructors: |
Yaniv Yacoby |
|
Meeting Time(s): |
Science Center L Wing 047 Classroom - MR 2:20 PM - 3:35 PM
Science Center L Wing 047 Classroom - W 2:30 PM - 3:45 PM |
|
CS 298 01 - Social Media and Elections
|
Course: |
CS 298 - 01 |
|
Title: |
Social Media and Elections |
|
Credit Hours: |
1 |
|
Description: |
How do politicians and activists harness social media to reach voters? Can algorithmic filter bubbles or echo chambers distort electoral outcomes? In this cross-listed and co-taught course, we investigate the intersection of digital algorithmic platforms and American democracy. We begin with fundamentals: how US elections work and the institutions that shape them. Then we explore social media's dual role—as a tool for voter mobilization and a vector for propaganda, conspiracy theories and disinformation—and its effects on political polarization and public trust. Throughout the semester, students will engage in hands-on projects including digital youth mobilization campaigns, auditing of simulated algorithmic filter bubbles, and quantitative analyses of electoral campaign digital strategies. They will leave the class with both conceptual and practical skills for contributing to digital democracy. |
|
Prerequisite(s): |
One of the following - CS 110, CS 111, CS 112, POL 200, or any other CS or POL course at a higher level. Ideally students would have taken both a CS and a POL course before enrolling. However, they can take them concurrently with this course.
|
|
Notes: |
|
|
Distribution(s): |
Mathematical Modeling and Problem Solving
Data Literacy (Formerly QRDL)
Social and Behavioral Analysis |
|
Cross Listed Courses: |
POL1 259 01 - Social Media and Elections
|
|
Instructors: |
Eni Mustafaraj
Maneesh Arora |
|
Meeting Time(s): |
Science Center Hub 103 Classroom - MR 9:55 AM - 11:10 AM
Science Center Hub 103 Classroom - W 9:30 AM - 10:20 AM |
|
CS 304 01 - Databases with Web Interfaces
|
Course: |
CS 304 - 01 |
|
Title: |
Databases with Web Interfaces |
|
Credit Hours: |
1 |
|
Description: |
CS 304 is a course in full-stack web development. The stack comprises the front-end (typically a web browser), the back-end (a database for storing and retrieving user-contributed data) and the middleware that knits the two together. We will learn how to parse the incoming web request, route the request to the appropriate handler, retrieve data from the database that is relevant to the user's search, combine that data with static templates of web pages, and deliver that data to the browser. We will build endpoints to handle Ajax requests and learn about REST APIs. We will also discuss performance, reliability, concurrency, and security issues. In a semester project, we will create dynamic websites driven by database entries. In the fall, the CS 304 stack will comprise Flask and MySQL. In the spring, the CS 304 stack will comprise Node.js and MongoDB. Please consult this webpage for more information about the two versions of CS 304. |
|
Prerequisite(s): |
One of the following (CS 230, CS 230P, or CS 230X), or permission of the instructor. |
|
Notes: |
|
|
Distribution(s): |
Mathematical Modeling and Problem Solving |
|
Instructors: |
Scott Anderson |
|
Meeting Time(s): |
Science Center Hub 305 Classroom - TF 2:10 PM - 3:25 PM
Science Center Hub 305 Classroom - W 3:30 PM - 4:45 PM |
|
CS 315 01 - Data Science for the Web
|
Course: |
CS 315 - 01 |
|
Title: |
Data Science for the Web |
|
Credit Hours: |
1 |
|
Description: |
The web is a dynamic ecosystem where socio-technical systems like Google, Facebook, Wikipedia, and other platforms shape and reflect human behavior on a global scale. In this course, students will explore how to investigate social phenomena on the web using data science as a research methodology. Concretely, students will learn to formulate research questions about online socio-technical systems; collect, clean, and analyze web-native data through a variety of Python libraries; investigate human behavior and its interplay with algorithmic systems using quantitative and qualitative methods; and critically evaluate findings within the broader context of societal, cultural, and ethical considerations. This course includes a semester-long research project on a provided theme, which culminates with an incrementally written research paper. Enrollment in this course is by permission of the instructor. Students interested in taking this course should fill out this Google Form. |
|
Prerequisite(s): |
One of the following CS 230, CS 230P, or CS 230X and permission of the instructor. |
|
Notes: |
|
|
Distribution(s): |
Mathematical Modeling and Problem Solving
Data Literacy (Formerly QRDL) |
|
Instructors: |
Eni Mustafaraj |
|
Meeting Time(s): |
Science Center L Wing 035 Classroom - TF 12:45 PM - 2:00 PM
Science Center L Wing 035 Classroom - W 12:30 PM - 2:20 PM |
|
CS 317 01 - Mobile App Development
|
Course: |
CS 317 - 01 |
|
Title: |
Mobile App Development |
|
Credit Hours: |
1 |
|
Description: |
Mobile devices have become more popular than desktops or laptops for communicating with others, accessing information, and performing computation. This course covers the principles and practice of developing applications for mobile devices, with an emphasis on features that distinguish them from desktop/laptop applications and web applications. Topics include: the functionality of modern smartphones and tablets, including device sensors, actuators, and communication; an iterative design process for apps that people find both useful and usable; designing and implementing mobile app interfaces and behaviors; and tools for developing software in teams. In this hands-on and programming-intensive course, groups will build web apps and mobile apps using a process that combines aspects of Human Computer Interaction and software engineering. This course begins by using the React JS framework to build interactive web apps out of modular components. It then transitions to React Native, a cross-platform component-based mobile app development environment for creating mobile apps that run on both iOS and Android devices. The course also explores how apps can leverage cloud databases to store and share information.
|
|
Prerequisite(s): |
One of the following - CS 230, CS 230X, or CS 230P and at least one programming course beyond 230. |
|
Notes: |
|
|
Distribution(s): |
Mathematical Modeling and Problem Solving |
|
Instructors: |
Franklyn Turbak |
|
Meeting Time(s): |
Science Center E Wing 111 Classroom - TF 2:10 PM - 3:25 PM
Science Center E Wing 111 Classroom - W 3:30 PM - 4:45 PM |
|
CS 321 01 - Extended Reality
|
Course: |
CS 321 - 01 |
|
Title: |
Extended Reality |
|
Credit Hours: |
1 |
|
Description: |
Mixed and Augmented Reality technologies combine virtual content with the physical environment, allowing people to interact with computers and digital content in exciting new ways. These emerging human-computer interaction paradigms have been applied to a variety of fields including medicine, education, design, entertainment, and play. This course introduces fundamental methods, principles, and tools for designing, programming, and testing mixed and augmented reality applications. Topics include the history of virtual and augmented reality, application domains, hardware for 3D input and display, tracking and registration, 3D perception, and societal implications. Students will work individually and in teams to develop novel virtual and augmented reality experiences. |
|
Prerequisite(s): |
CS 220 or CS 221/MAS221 or one of the following CS 230, CS 230P, or CS 230X. |
|
Notes: |
Ann E. Maurer '51 Speaking Intensive Course. |
|
Distribution(s): |
Mathematical Modeling and Problem Solving |
|
Instructors: |
Jordan Tynes |
|
Meeting Time(s): |
Science Center L Wing 140 Computer Science Computer Lab - MR 2:20 PM - 3:35 PM |
|
CS 344 01 - Deep Learning
|
Course: |
CS 344 - 01 |
|
Title: |
Deep Learning |
|
Credit Hours: |
1 |
|
Description: |
Deep learning is the study of how computers can learn from data in a manner inspired by neural connections in the human brain. It is revolutionizing how people and machines interact. This course explores the principles and practice of modern deep learning systems. Students will design and implement their own artificial neural networks as well as analyze massive deep learning models at the forefront of the field of machine learning. Deep learning algorithms such as convolutional neural networks and recurrent neural networks will be applied in a variety of domains, including medical diagnosis, self-driving cars, and large-language models. Students will further investigate the societal impacts and ethical considerations of these deep learning systems. |
|
Prerequisite(s): |
One of the following (CS 230, CS 230P, or CS 230X) and MATH 225. |
|
Notes: |
|
|
Distribution(s): |
Mathematical Modeling and Problem Solving |
|
Instructors: |
Brian Tjaden |
|
Meeting Time(s): |
Science Center L Wing 180 Computer Science Computer Lab - MR 9:55 AM - 11:10 AM |
|
CS 344 02 - Deep Learning
|
Course: |
CS 344 - 02 |
|
Title: |
Deep Learning |
|
Credit Hours: |
1 |
|
Description: |
Deep learning is the study of how computers can learn from data in a manner inspired by neural connections in the human brain. It is revolutionizing how people and machines interact. This course explores the principles and practice of modern deep learning systems. Students will design and implement their own artificial neural networks as well as analyze massive deep learning models at the forefront of the field of machine learning. Deep learning algorithms such as convolutional neural networks and recurrent neural networks will be applied in a variety of domains, including medical diagnosis, self-driving cars, and large-language models. Students will further investigate the societal impacts and ethical considerations of these deep learning systems. |
|
Prerequisite(s): |
One of the following (CS 230, CS 230P, or CS 230X) and MATH 225. |
|
Notes: |
|
|
Distribution(s): |
Mathematical Modeling and Problem Solving |
|
Instructors: |
Brian Tjaden |
|
Meeting Time(s): |
Science Center L Wing 180 Computer Science Computer Lab - MR 11:20 AM - 12:35 PM |
|
CS 365 01 - Advanced Projects in Playable Media
|
Course: |
CS 365 - 01 |
|
Title: |
Advanced Projects in Playable Media |
|
Credit Hours: |
1 |
|
Description: |
Students with a deep personal interest in digital game design and other forms of playable media will work in collaborative units to explore all aspects of the game development process while contributing to a semester-length project of their own devising. This course will require students to explore an ethical approach to game development that will introduce new practices for ideation, pitching, designing, playtesting, and versioning through an iterative process that will result in a finished game. This course is specifically designed for students who have moderate experience with game development through either curricular activities or by working on projects of their own. Students will be expected to have moderate levels of experience with the Unity Game Engine. |
|
Prerequisite(s): |
One of the following - CS 321, CS 221/MAS 221, CS 220, CS 320, or CS 121/MAS 121 and one of the following CS 230, CS 230P, or CS 230X, or permission of the instructor (portfolio must be able to demonstrate some previous experience with game development). |
|
Notes: |
This course may be used to fulfill the capstone requirement for the MAS major. |
|
Distribution(s): |
Mathematical Modeling and Problem Solving |
|
Cross Listed Courses: |
MAS 365 01 - Advanced Projects in Playable Media
|
|
Instructors: |
Jordan Tynes |
|
Meeting Time(s): |
Science Center L Wing 140 Computer Science Computer Lab - W 1:30 PM - 4:10 PM |
|