CS Courses for Spring 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 Hub 401 Classroom - MR 2:20 PM - 3:35 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: |
Vinitha Gadiraju |
|
Meeting Time(s): |
Science Center L Wing 180 Computer Science Computer Lab - 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: |
Franklyn Turbak |
|
Meeting Time(s): |
Science Center L Wing 180 Computer Science Computer Lab - TF 2:10 PM - 3:25 PM |
|
CS 111L L06 - Laboratory: Computer Programming and Problem Solving
|
Course: |
CS 111L - L06 |
|
Title: |
Laboratory: Computer Programming and Problem Solving |
|
Credit Hours: |
0 |
|
Description: |
Accompanying required laboratory for CS 111. |
|
Prerequisite(s): |
None. |
|
Notes: |
|
|
Instructors: |
Sara Melnick |
|
Meeting Time(s): |
Science Center E Wing 101 Computer Science Computer Classroom - R 4:20 PM - 6:10 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: |
Accompanying required laboratory for CS 111. |
|
Prerequisite(s): |
None. |
|
Notes: |
|
|
Instructors: |
Sara Melnick |
|
Meeting Time(s): |
Science Center E Wing 101 Computer Science Computer Classroom - R 2:20 PM - 4:10 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: |
Accompanying required laboratory for CS 111. |
|
Prerequisite(s): |
None. |
|
Notes: |
|
|
Instructors: |
Sara Melnick |
|
Meeting Time(s): |
Science Center E Wing 101 Computer Science Computer Classroom - W 12:30 PM - 2: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: |
Accompanying required laboratory for CS 111. |
|
Prerequisite(s): |
None. |
|
Notes: |
|
|
Instructors: |
Sohie Lee |
|
Meeting Time(s): |
Science Center L Wing 180 Computer Science Computer Lab - W 3:00 PM - 4:50 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: |
Accompanying required laboratory for CS 111. |
|
Prerequisite(s): |
None. |
|
Notes: |
|
|
Instructors: |
Sohie Lee |
|
Meeting Time(s): |
Science Center L Wing 180 Computer Science Computer Lab - W 12:30 PM - 2:20 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: |
Accompanying required laboratory for CS 111. |
|
Prerequisite(s): |
None. |
|
Notes: |
|
|
Instructors: |
Sohie Lee |
|
Meeting Time(s): |
Science Center L Wing 180 Computer Science Computer Lab - W 10:30 AM - 12:20 PM |
|
CS 112 01 - Introduction to Computing for the Sciences
|
Course: |
CS 112 - 01 |
|
Title: |
Introduction to Computing for the Sciences |
|
Credit Hours: |
1 |
|
Description: |
An introduction to problem-solving through computer programming with special focus on application to problems relevant to physics, chemistry, and biology. Students learn how to read, modify, design, debug, and test algorithms that solve problems. Programming concepts include control structures, problem solving strategies, abstraction, recursion, and modularity. Students explore these concepts in the context of interactive programs, data processing, and graphical and numerical analysis, using the Python programming language. Students are required to attend a 2.5-hour lab where they will apply concepts learned in lecture to study topics at the intersection of chemistry and physics. Topics might include: chemical kinetics, numerical integration, molecular dynamics, computational biology, Monte Carlo techniques, and basic statistical analysis. This course has a required co-requisite Laboratory - CS 112L. Enrollment in this course is by permission of the instructor. Students who are interested in this course should fill out this form. |
|
Prerequisite(s): |
MATH 115 and fulfillment of the Quantitative Reasoning portion of the Quantitative Reasoning and Data Literacy requirement. Prerequisites or Co-requisites - one of the following; ASTR 107, CHEM 105, CHEM 105P, CHEM 116 / BISC 116, CHEM 120, BISC 110, BISC111, BISC 112, BISC 113, ES 100, ES 101, GEOS 101, GEOS 102, NEUR 100, PHYS 100, PHYS 104, PHYS 106, PHYS 107, PHYS 108. |
|
Notes: |
|
|
Distribution(s): |
Mathematical Modeling and Problem Solving |
|
Instructors: |
Smaranda Sandu |
|
Meeting Time(s): |
Science Center N Wing 207 Classroom - MR 8:30 AM - 9:45 AM |
|
CS 112L L01 - Laboratory: Introduction to Computing for the Sciences
|
Course: |
CS 112L - L01 |
|
Title: |
Laboratory: Introduction to Computing for the Sciences |
|
Credit Hours: |
0 |
|
Description: |
This is a required co-requisite laboratory for CS 112. |
|
Prerequisite(s): |
MATH 115 and fulfillment of the Quantitative Reasoning portion of the Quantitative Reasoning and Data Literacy requirement. Prerequisites or Co-requisites - one of the following; ASTR 107, CHEM 105, CHEM 105P, CHEM 116 / BISC 116, CHEM 120, BISC 110, BISC111, BISC 112, BISC 113, ES 100, ES 101, GEOS 101, GEOS 102, NEUR 100, PHYS 100, PHYS 104, PHYS 106, PHYS 107, PHYS 108. |
|
Notes: |
|
|
Instructors: |
Michael Mavros |
|
Meeting Time(s): |
Science Center E Wing 101 Computer Science Computer Classroom - T 1:30 PM - 4:10 PM |
|
CS 112L L02 - Laboratory: Introduction to Computing for the Sciences
|
Course: |
CS 112L - L02 |
|
Title: |
Laboratory: Introduction to Computing for the Sciences |
|
Credit Hours: |
0 |
|
Description: |
This is a required co-requisite laboratory for CS 112. |
|
Prerequisite(s): |
MATH 115 and fulfillment of the Quantitative Reasoning portion of the Quantitative Reasoning and Data Literacy requirement. Prerequisites or Co-requisites - one of the following; ASTR 107, CHEM 105, CHEM 105P, CHEM 116 / BISC 116, CHEM 120, BISC 110, BISC111, BISC 112, BISC 113, ES 100, ES 101, GEOS 101, GEOS 102, NEUR 100, PHYS 100, PHYS 104, PHYS 106, PHYS 107, PHYS 108. |
|
Notes: |
|
|
Instructors: |
Michael Mavros |
|
Meeting Time(s): |
Science Center L Wing 120 Computer Science HCI Lab - W 1:30 PM - 4:10 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 204 01 - Introduction to Front-End Web Development
|
Course: |
CS 204 - 01 |
|
Title: |
Introduction to Front-End Web Development |
|
Credit Hours: |
1 |
|
Description: |
This course introduces modern web development using HTML, CSS, and JavaScript. JavaScript is explored in detail, including scoping, closures, objects, classes, object-oriented programming, and modules. The jQuery library is also introduced, and the course covers event handling and Ajax interactions. Students will build web pages that manage data structures using menus and forms, and that save/restore that data from local storage resulting in a persistent, dynamic web application. Designed web pages will be modern, responsive, and accessible. The course also covers Bootstrap and the jQuery UI (User Interface) library. |
|
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: |
Scott Anderson |
|
Meeting Time(s): |
Science Center Hub 103 Classroom - TF 11:20 AM - 12:35 PM
Science Center Hub 103 Classroom - W 12:30 PM - 1:20 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: |
Vinitha Gadiraju |
|
Meeting Time(s): |
Science Center L Wing 120 Computer Science HCI Lab - TF 12:45 PM - 2:00 PM |
|
CS 220 02 - Human-Computer Interaction
|
Course: |
CS 220 - 02 |
|
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 L Wing 120 Computer Science HCI Lab - MR 11:20 AM - 12:35 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): |
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 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): |
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: |
Catherine Grevet Delcourt |
|
Meeting Time(s): |
Science Center L Wing 180 Computer Science Computer Lab - MR 9:55 AM - 11:10 AM |
|
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): |
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 2LC - Data Structures
|
Course: |
CS 230 - 2LC |
|
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): |
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 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): |
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 - T 11:30 AM - 1: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): |
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 - T 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): |
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 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 Hub 103 Classroom - MR 9:55 AM - 11:10 AM
Science Center Hub 103 Classroom - W 9:30 AM - 10:20 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 L Wing 047 Classroom - TF 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: |
Alexa VanHattum |
|
Meeting Time(s): |
Science Center L Wing 039 Classroom - MR 2:20 PM - 3:35 PM |
|
CS 240 02 - Foundations of Computer Systems with Laboratory
|
Course: |
CS 240 - 02 |
|
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: |
Alexa VanHattum |
|
Meeting Time(s): |
Science Center L Wing 039 Classroom - MR 3:45 PM - 5:00 PM |
|
CS 240L L03 - Laboratory: Foundations of Computer Systems Laboratory
|
Course: |
CS 240L - L03 |
|
Title: |
Laboratory: Foundations of Computer Systems Laboratory |
|
Credit Hours: |
0 |
|
Description: |
Accompanying required 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: |
Sara Melnick |
|
Meeting Time(s): |
Science Center L Wing 037 Computer Science Lab - W 4:10 PM - 7:10 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: |
Accompanying required 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 1:00 PM - 4:00 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: |
Accompanying required 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 9:30 AM - 12:30 PM |
|
CS 242 01 - Computer Networks
|
Course: |
CS 242 - 01 |
|
Title: |
Computer Networks |
|
Credit Hours: |
1 |
|
Description: |
A systems-oriented approach to data networks, including a theoretical discussion of common networking problems and an examination of modern networks and protocols. Topics include point-to-point links, packet switching, Internet protocols, end-to-end protocols, congestion control, and security. Projects may include client-server applications and network measurement tools. |
|
Prerequisite(s): |
One of the following (CS230, CS230P, or CS230X), or permission of the instructor. |
|
Notes: |
|
|
Distribution(s): |
Mathematical Modeling and Problem Solving |
|
Instructors: |
Christine Bassem |
|
Meeting Time(s): |
Science Center Hub 401 Classroom - TF 12:45 PM - 2:00 PM |
|
CS 245 01 - Probabilistic Foundations of Predictive Machine Learning
|
Course: |
CS 245 - 01 |
|
Title: |
Probabilistic Foundations of Predictive 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. Enrollment in this course is by permission of the instructor. Students interested in this course should fill out this 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: |
|
|
Distribution(s): |
Data Literacy (Formerly QRF)
Mathematical Modeling and Problem Solving |
|
Instructors: |
Yaniv Yacoby |
|
Meeting Time(s): |
Science Center N Wing 207 Classroom - MR 2:20 PM - 3:35 PM
Science Center N Wing 207 Classroom - W 1:30 PM - 2:45 PM |
|
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:20 PM |
|
CS 320 01 - Tangible User Interfaces
|
Course: |
CS 320 - 01 |
|
Title: |
Tangible User Interfaces |
|
Credit Hours: |
1 |
|
Description: |
Tangible user interfaces emerge as a novel human-computer interaction style that interlinks the physical and digital worlds. Extending beyond the limitations of the computer mouse, keyboard, and monitor, tangible user interfaces allow users to take advantage of their natural spatial skills while supporting collaborative work. Students will be introduced to conceptual frameworks, the latest research, and a variety of techniques for designing and building these interfaces. Developing tangible interfaces requires creativity as well as an interdisciplinary perspective. Hence, students will work in teams to design, prototype, and physically build tangible user interfaces. |
|
Prerequisite(s): |
CS 220 or 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: |
Orit Shaer |
|
Meeting Time(s): |
Science Center L Wing 120 Computer Science HCI Lab - MR 3:45 PM - 5:00 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 342 01 - Computer Security
|
Course: |
CS 342 - 01 |
|
Title: |
Computer Security |
|
Credit Hours: |
1 |
|
Description: |
An introduction to computer security. Topics include the security mindset, authentication, access control, operating system security (with a focus on Linux), cryptography, security protocols, software security, network security, usable security, privacy, social engineering, and the ethics of hacking. This course will emphasize hands-on experience with technical topics and the ability to communicate security and privacy topics to lay and expert audiences. Assignments will include technical exercises exploring security exploits and tools in a Linux environment; problem sets including exercises and proofs related to theoretical aspects of computer security; and opportunities to research, write, present, and lead discussions on security-related topics. |
|
Prerequisite(s): |
CS 240 or permission of the instructor. |
|
Notes: |
|
|
Distribution(s): |
Mathematical Modeling and Problem Solving |
|
Instructors: |
Franklyn Turbak |
|
Meeting Time(s): |
Science Center L Wing 039 Classroom - TF 11:20 AM - 12:35 PM
Science Center L Wing 039 Classroom - W 12:30 PM - 1:20 PM |
|
CS 343 01 - Distributed Computing
|
Course: |
CS 343 - 01 |
|
Title: |
Distributed Computing |
|
Credit Hours: |
1 |
|
Description: |
This course is for students interested in understanding the fundamental concepts and algorithms underlying existing distributed systems. By the end of this course, students will have the knowledge needed to work with and build distributed systems, such as distributed file systems, peer-to-peer systems, and cloud computing systems. Topics discussed include MapReduce, distributed file systems, distributed coordination algorithms, consensus, fault-tolerance, and security. Enrollment in this course is by permission of the instructor. Students interested in this course should fill out this form. |
|
Prerequisite(s): |
One of the following CS 230, CS 230P, or CS 230X (required); CS 231 or CS 242 (recommended). |
|
Notes: |
|
|
Distribution(s): |
Mathematical Modeling and Problem Solving |
|
Instructors: |
Christine Bassem |
|
Meeting Time(s): |
Science Center Hub 401 Classroom - TF 9:55 AM - 11:10 AM
Science Center Hub 401 Classroom - W 10:30 AM - 11:20 AM |
|
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 Hub 402 CS 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, or permission of the instructor. |
|
Notes: |
|
|
Distribution(s): |
Mathematical Modeling and Problem Solving |
|
Instructors: |
Brian Tjaden |
|
Meeting Time(s): |
Science Center Hub 402 CS 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 |
|