CS Courses for Fall 2024
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: |
Orit Shaer |
Meeting Time(s): |
Science Center Hub 402 CS Computer Lab - MR 11:20 AM - 12:35 PM |
|
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.
Students are required to attend an additional two-hour laboratory section each week. |
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 03 - Computer Programming and Problem Solving
Course: |
CS 111 - 03 |
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.
Students are required to attend an additional two-hour laboratory section each week. |
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 11:20 AM - 12: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.
Students are required to attend an additional two-hour laboratory section each week. |
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: |
Eni Mustafaraj |
Meeting Time(s): |
Science Center L Wing 180 Computer Science Computer Lab - TF 8:30 AM - 9:45 AM |
|
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 8:30 AM - 10:20 AM |
|
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 10:30 AM - 12: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 1:30 PM - 3: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: |
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 10:30 AM - 12: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: |
Accompanying required laboratory for CS 111. |
Prerequisite(s): |
None. |
Notes: |
|
Instructors: |
Sara Melnick |
Meeting Time(s): |
Science Center Hub 402 CS Computer Lab - W 1:30 PM - 3:20 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: |
Peter Andrew Mawhorter |
Meeting Time(s): |
Science Center L Wing 180 Computer Science Computer Lab - T 4:00 PM - 5:50 PM |
|
CS 111L L07 - Laboratory: Computer Programming and Problem Solving
Course: |
CS 111L - L07 |
Title: |
Laboratory: Computer Programming and Problem Solving |
Credit Hours: |
0 |
Description: |
Accompanying required laboratory for CS 111. |
Prerequisite(s): |
None. |
Notes: |
|
Instructors: |
Peter Andrew Mawhorter |
Meeting Time(s): |
Science Center E Wing 101 Computer Science Computer Classroom - W 12:30 PM - 2:20 PM |
|
CS 111X 01 - Computer Programming and Problem Solving
Course: |
CS 111X - 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. Students in this section will complete self-directed weekly labs. This section is intended for students who have some previous programming experience, but would benefit from more before taking CS 230. Students unsure about whether to take CS 111, CS 111X, or CS 230 as their first Wellesley CS course should complete the CS placement questionnaire. Enrollment in this course is by permission of the instructor. Students interested in taking this course should fill out this Google Form. |
Prerequisite(s): |
Fulfillment of the Quantitative Reasoning (QR) component of the Quantitative Reasoning & Data Literacy requirement. |
Notes: |
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 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 2:20 PM - 3: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): |
CS 111 or permission of the instructor. |
Notes: |
|
Distribution(s): |
Mathematical Modeling and Problem Solving |
Instructors: |
Scott Anderson |
Meeting Time(s): |
Gray Lot Modular M212 Computer Classroom - TF 12:45 PM - 2:00 PM
Gray Lot Modular M212 Computer Classroom - W 1:30 PM - 2: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 111, CS 115/MAS 115. |
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 221 01 - Digital Worlds for Gaming
Course: |
CS 221 - 01 |
Title: |
Digital Worlds for Gaming |
Credit Hours: |
1 |
Description: |
Digital games visualize compelling worlds that can resemble real-life environments and imagine other-worldly spaces. These virtual realms frame our experience of games and their design dramatically impacts our interpretation of their narratives and mechanics. Designers code environments to shape player agency and weave complex relationships between game characters. This course will teach students to create digital worlds and critically assess them as politically rich spaces that convey meaning. Students will build both 2D and 3D digital environments, coding elements such as interactivity and non-player entities, crafting game experiences that tell meaningful stories. CS221 continues to explore the Unity Game Engine and topics introduced by CS121, but enrollment is suitable for any student with 100-level coding experience and an interest in game design. |
Prerequisite(s): |
Any 100-level CS course. |
Notes: |
|
Distribution(s): |
Mathematical Modeling and Problem Solving |
Cross Listed Courses: |
MAS 221 01 - Digital Worlds for Gaming
|
Instructors: |
Jordan Tynes |
Meeting Time(s): |
Science Center L Wing 140 Computer Science Computer 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. This course has a required co-requisite lab - CS 230L. A student is required to have confirmation of authorization from the CS 111 faculty that is based on the mastery of the CS 111 concepts in order to enroll in CS 230. Students who did not take CS 111 at Wellesley and who wish to enroll in CS 230 should contact the CS department to take a placement questionnaire. |
Prerequisite(s): |
CS 111 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 2:20 PM - 3:35 PM |
|
CS 230L L03 - Laboratory: Data Structures
Course: |
CS 230L - L03 |
Title: |
Laboratory: Data Structures |
Credit Hours: |
0 |
Description: |
Accompanying required laboratory for CS 230. The grading option chosen for the lecture (CS 230) - 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: |
Smaranda Sandu |
Meeting Time(s): |
Science Center Hub 402 CS Computer Lab - T 2:10 PM - 4:00 PM |
|
CS 230L L02 - Laboratory: Data Structures
Course: |
CS 230L - L02 |
Title: |
Laboratory: Data Structures |
Credit Hours: |
0 |
Description: |
Accompanying required laboratory for CS 230. The grading option chosen for the lecture (CS 230) - 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: |
Smaranda Sandu |
Meeting Time(s): |
Science Center Hub 402 CS Computer Lab - T 11:20 AM - 1:10 PM |
|
CS 230L L01 - Laboratory: Data Structures
Course: |
CS 230L - L01 |
Title: |
Laboratory: Data Structures |
Credit Hours: |
0 |
Description: |
Accompanying required laboratory for CS 230. The grading option chosen for the lecture (CS 230) - 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: |
Smaranda Sandu |
Meeting Time(s): |
Science Center Hub 402 CS Computer Lab - T 9:10 AM - 11:00 AM |
|
CS 230P 01 - Data Structures
Course: |
CS 230P - 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 *additional self-driven weekly programming practice using the Java programming language.
Students are required to attend an additional two-hour laboratory section each week. CS 230P is open to all students who did not meet the prerequisites for CS 230, or for students who took CS 111 before the last semester, or students who would appreciate additional academic support because of their prior MATH and CS experience. Class meetings are followed by a 30-minutes practice session to provide for extra time to work with the instructor after class. Students who wish to enroll in CS 230P must enroll in a lecture and an accompanying laboratory.
|
Prerequisite(s): |
CS 111 or permission of the instructor. |
Notes: |
|
Distribution(s): |
Mathematical Modeling and Problem Solving |
Instructors: |
Panagiotis Metaxas |
Meeting Time(s): |
Science Center L Wing 180 Computer Science Computer Lab - MW 6:30 PM - 7:45 PM |
|
CS 230PL L03 - Laboratory: Data Structures
Course: |
CS 230PL - L03 |
Title: |
Laboratory: Data Structures |
Credit Hours: |
0 |
Description: |
This is a required co-requisite laboratory for CS 230P. The grading option chosen for the lecture (CS 230P) - 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): |
CS 111 or permission of the instructor. |
Notes: |
|
Instructors: |
Sara Melnick |
Meeting Time(s): |
Science Center E Wing 101 Computer Science Computer Classroom - T 3:30 PM - 5:20 PM |
|
CS 230PL L01 - Laboratory: Data Structures
Course: |
CS 230PL - L01 |
Title: |
Laboratory: Data Structures |
Credit Hours: |
0 |
Description: |
This is a required co-requisite laboratory for CS 230P. The grading option chosen for the lecture (CS 230P) - 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): |
CS 111 or permission of the instructor. |
Notes: |
|
Instructors: |
Sara Melnick |
Meeting Time(s): |
Science Center E Wing 101 Computer Science Computer Classroom - T 10:30 AM - 12:20 PM |
|
CS 230PL L02 - Laboratory: Data Structures
Course: |
CS 230PL - L02 |
Title: |
Laboratory: Data Structures |
Credit Hours: |
0 |
Description: |
This is a required co-requisite laboratory for CS 230P. The grading option chosen for the lecture (CS 230P) - 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): |
CS 111 or permission of the instructor. |
Notes: |
|
Instructors: |
Sara Melnick |
Meeting Time(s): |
Science Center E Wing 101 Computer Science Computer Classroom - T 1:30 PM - 3:20 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. 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. 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. Enrollment in this course is by permission of the instructor only. Students interested in taking this course should fill out this Google Form prior to registration. |
Prerequisite(s): |
CS 111 or permission of the instructor. |
Notes: |
|
Distribution(s): |
Mathematical Modeling and Problem Solving |
Instructors: |
Catherine Grevet Delcourt |
Meeting Time(s): |
Science Center Hub 402 CS Computer Lab - MR 9:55 AM - 11:10 AM |
|
CS 231 01 - Fundamental Algorithms
Course: |
CS 231 - 01 |
Title: |
Fundamental Algorithms |
Credit Hours: |
1 |
Description: |
An introduction to the design and analysis of fundamental algorithms. General techniques covered: divide-and-conquer algorithms, dynamic programming, greediness, probabilistic algorithms. Topics include: sorting, searching, graph algorithms, compression, cryptography, computational geometry, and NP-completeness. |
Prerequisite(s): |
CS 230 and MATH 225, or permission of the instructor. |
Notes: |
|
Distribution(s): |
Mathematical Modeling and Problem Solving |
Instructors: |
Christine Bassem |
Meeting Time(s): |
Science Center Hub 305 Classroom - TF 9:55 AM - 11:10 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): |
CS 230 and MATH 225, or permission of the instructor. |
Notes: |
|
Distribution(s): |
Mathematical Modeling and Problem Solving |
Instructors: |
Smaranda Sandu |
Meeting Time(s): |
Science Center Hub 101 Lecture Hall - MR 9:55 AM - 11:10 AM |
|
CS 235 02 - Theory of Computation
Course: |
CS 235 - 02 |
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): |
CS 230 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 401 Classroom - MR 11:20 AM - 12:35 PM |
|
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): |
CS 230, 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): |
CS 230, 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 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 2:30 PM - 5:30 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: |
Peter Andrew Mawhorter |
Meeting Time(s): |
Science Center L Wing 037 Computer Science Lab - T 12:45 PM - 3:45 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 8:30 AM - 11:30 AM |
|
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): |
CS 230 or permission of the instructor. |
Notes: |
|
Distribution(s): |
Mathematical Modeling and Problem Solving |
Instructors: |
Christine Bassem |
Meeting Time(s): |
Science Center Hub 305 Classroom - TF 11:20 AM - 12:35 PM |
|
CS 244 01 - Machine Learning
Course: |
CS 244 - 01 |
Title: |
Machine Learning |
Credit Hours: |
1 |
Description: |
Machine learning is the science of teaching computers how to learn from observations. It is ubiquitous in our interactions with society, such as in face recognition, web search, targeted advertising, speech processing, and genetic analysis. It is currently at the forefront of research in artificial intelligence, and has been making rapid strides given the vast availability of data today. This course is a broad introduction to the field, covering the theoretical ideas behind widely used algorithms like decision trees, linear regression, support vector machines, and many more. We will also study practical applications of these algorithms to problems in a variety of domains, including vision, speech, language, medicine, and the social sciences. |
Prerequisite(s): |
CS 230. |
Notes: |
Mandatory Credit/Non Credit. |
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 299 01 - Research Methods for Ethics of Technology
Course: |
CS 299 - 01 |
Title: |
Research Methods for Ethics of Technology |
Credit Hours: |
1 |
Description: |
How do we educate the next generation of data scientists, software engineers, and user experience designers to think of their work as not just technical but also ethical? What moral responsibilities come with the design, adoption, use, and consumption of digital technology? The way that these questions are interrogated, discussed, and the sort of answers we might propose will be informed by a thoroughgoing interdisciplinary lens. Students will learn theoretical frameworks from both Philosophy and Computational and Data Sciences and work together to see how knowledge of frameworks from both disciplines serves to enrich our understanding of the ethical issues that face the development and employment of digital technologies, as well as empower us to find creative solutions. This course includes a sustained, semester-long research project, hence the additional meeting time. Enrollment in this course is by permission of the instructor. Interested students should fill out this Google Form. |
Prerequisite(s): |
Permission of the instructor. |
Notes: |
|
Distribution(s): |
Data Literacy (Formerly QRF)
Data Literacy (Formerly QRDL)
Religion, Ethics, and Moral Philosophy |
Cross Listed Courses: |
PHIL 222 01 - Research Methods for Ethics of Technology
|
Instructors: |
Julie Walsh
Eni Mustafaraj |
Meeting Time(s): |
Science Center L Wing 043 Classroom - TF 12:45 PM - 2:00 PM
Science Center L Wing 045 Classroom - W 1:30 PM - 3:20 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. |
Prerequisite(s): |
CS 230 or permission of the instructor. |
Notes: |
|
Distribution(s): |
Mathematical Modeling and Problem Solving |
Instructors: |
Scott Anderson |
Meeting Time(s): |
Gray Lot Modular M212 Computer Classroom - TF 9:55 AM - 11:10 AM
Gray Lot Modular M212 Computer Classroom - W 10:30 AM - 11:20 AM |
|
CS 325 01 - Designing for Accessibility
Course: |
CS 325 - 01 |
Title: |
Designing for Accessibility |
Credit Hours: |
1 |
Description: |
As technology increasingly integrates with our lives, how can we ensure that its design is inclusive of users' different abilities? CS 325 expands on the fundamentals of design and qualitative research to explore how technology can be made accessible for diverse users, with an emphasis on people with disabilities. In this course, we will read about and analyze approaches to inclusive technology, study how design intersects with disability justice, learn about the history of accessible and assistive technologies, understand how to create multimodal user experiences, learn accessible web programming, and test state-of-the-art tools. Students will also conduct a semester-long case study project in which they work in groups to identify accessibility issues on the Wellesley campus and work with the community to build appropriate technology solutions. |
Prerequisite(s): |
CS 220 or permission of the instructor. |
Notes: |
|
Distribution(s): |
Mathematical Modeling and Problem Solving |
Instructors: |
Vinitha Gadiraju |
Meeting Time(s): |
Science Center L Wing 120 Computer Science HCI Lab - TF 2:10 PM - 3:25 PM |
|
CS 349 01 - Probabilistic Foundations of Machine Learning
Course: |
CS 349 - 01 |
Title: |
Probabilistic Foundations of Machine Learning |
Credit Hours: |
1 |
Description: |
In recent years, Artificial Intelligence has enabled applications that were previously not thought possible—from systems that propose novel drugs or generate new art/music, to systems that accurately and reliably predict outcomes of medical interventions in real-time. But what has enabled these developments? Probabilistic Machine Learning, a paradigm that casts recent advances in Machine Learning, like neural networks, into a statistical learning framework. In this course, we introduce the foundational concepts behind this paradigm—statistical model specification, and statistical learning and inference—focusing on connecting theory with real-world applications and hands-on practice. This course lays the foundation for advanced study and research in Machine Learning. Topics include: directed graphical models, deep Bayesian regression/classification, generative models (latent variable models) for clustering, dimensionality reduction, and time-series forecasting. Students will get hands-on experience building models for specific tasks ,most taken from healthcare contexts, using a probabilistic programming language based in Python. Enrollment in this course is by permission of the instructor only. Students interested in taking this course should fill out this google form prior to registration. |
Prerequisite(s): |
CS 230 and at least one of the following - MATH 205, MATH 206, MATH 225. Permission of the instructor is also required. |
Notes: |
|
Distribution(s): |
Mathematical Modeling and Problem Solving |
Instructors: |
Yaniv Yacoby |
Meeting Time(s): |
Gray Lot Modular M212 Computer Classroom - MR 9:55 AM - 11:10 AM
Gray Lot Modular M212 Computer Classroom - W 9:30 AM - 10:20 AM |
|
CS 366 01 - Advanced Projects in Interactive Media
Course: |
CS 366 - 01 |
Title: |
Advanced Projects in Interactive Media |
Credit Hours: |
1 |
Description: |
Students with deep interest in interactive media will drive cutting-edge research that shapes and examines novel user experiences with technology. Students will work in small groups to identify a direction of research, explore and iterate over designs, prototype at varying fidelities, build working systems, consider ethical implications, conduct evaluative studies, and report findings. This course is designed for students who have experience in designing and implementing interactive media through either curricular activities or by working on projects. Students will be expected to have moderate levels of experience with front-end web development. |
Prerequisite(s): |
One of the following - CS204, CS220, CS320 or CS323. |
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 366 01 - Advanced Projects in Interactive Media
|
Instructors: |
Orit Shaer |
Meeting Time(s): |
Science Center L Wing 120 Computer Science HCI Lab - R 2:20 PM - 5:00 PM |
|