Recent and/or future instructors:
One of: ASTR 107, CHEM105, CHEM105P, CHEM116/BISC116, CHEM120, BISC110, BISC111, BISC112, BISC113, GEOS 101, GEOS 102, NEUR 100, PHYS 100, PHYS 104, PHYS 106, PHYS 107, PHYS 108. This course may be taken as a co-requisite with CS 112 instead of a strict pre-requisite.
offered | Each semester |
---|---|
details | See course browser |
meeting info | See course browser |
distributions | See course browser |
linked courses | |
prerequisites | See course browser |
extra info |
Recent and/or future instructors: Orit Shaer
Introduces basic programming concepts while also discussing artificial intelligence. Intro course for the MAS major.
offered | Fall semester only |
---|---|
details | CRN: See course browser; Credit Hours: 1; Size: See course browser |
meeting info | Meeting Times & Locations TBD |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving |
linked courses | |
prerequisites | Prerequisites(s): Fulfillment of the basic skills component of the Quantitative Reasoning requirement. No prior background with computers is expected. |
extra info |
Recent and/or future instructors: Carolyn Anderson, Vinitha Gadiraju, Sohie Lee, Peter Andrew Mawhorter, Eni Mustafaraj, Franklyn Turbak, Smaranda Sandu
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. Students with prior programming experience may be eligible to join a section of the course without a required laboratory section.Enrollment in this course is by permission of the instructor only. Students interested in taking this course should fill out this Google Form.First-Year students interested in CS 111, please fill out the google form no later than Friday, Aug 25th. If we are able to offer you a spot, you will get an email from the Registrar before noon on Tuesday, Aug 29th that you have been granted permission of instructor to register for CS 111. You may then add CS 111 to your Workday Saved Schedule in preparation for course registration which occurs on Friday, September 1st. Note that historically, there are more students interested in CS 111 than there are spots.
offered | Each semester |
---|---|
details | CRN: 11013; Credit Hours: 0; Current Enrollment: 32; Seats Available: 4; Max Enrollment: 36; |
meeting info | Meeting Time(s): - |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving |
linked courses | |
prerequisites | Prerequisites(s): Fulfillment of the Quantitative Reasoning (QR) component of the Quantitative Reasoning & Data Literacy requirement. No prior background with computers is expected. |
extra info |
Prerequisite rule enforced at registration:
Permission: Instructor Permission Required |
Recent and/or future instructors: Smaranda Sandu
An introduction to computer programming that provides the tools necessary for students to use computers effectively in scientific work, including physical sciences, biological sciences, medicine, mathematics, psychology, and economics. Students learn to write software to solve problems, visualize and analyze data, perform computer simulations, and implement and test computational models that arise in a wide range of scientific disciplines. Students are required to attend an additional two-hour laboratory section each week.
offered | Spring semester only |
---|---|
details | CRN: 27210; Credit Hours: 1; Current Enrollment: 15; Seats Available: 15; Max Enrollment: 30; |
meeting info | Meeting Time(s): TBD |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving |
linked courses | |
prerequisites | Prerequisites(s): Math 115 (or equivalent). Already completed OR concurrently enrolled in an introductory science course: one of ASTR 107, CHEM 105, CHEM 105P, CHEM 116/BISC 116, CHEM 120, BISC 110, BISC 111, BISC 112, BISC 113, GEOS 101, GEOS 102, NEUR 100, PHYS 100, PHYS 104, PHYS 106, PHYS 107, or PHYS 108. No prior background with computers is expected. |
extra info |
Recent and/or future instructors: Jordan Tynes
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.
offered | Each semester |
---|---|
details | CRN: 18064; Credit Hours: 1; Current Enrollment: 18; Seats Available: 0; Max Enrollment: 18; |
meeting info | Meeting Time(s): MR - 2:20 PM - 3:35 PM Loc: Science Center L Wing 140 Computer Science Computer Lab |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving |
linked courses | |
prerequisites | Prerequisites(s): None. Open to First-Years and Sophomores. Juniors and Seniors by permission of the instructor. |
extra info |
Cross-listed courses: MAS 121 01 - Intro to Game Design Prerequisite rule enforced at registration: Class Restriction: Open to First-Years and Sophomores Seat Reservations: 2 - reserved for Cohort: 1st or 2nd semesters until 09/04/2023 |
Recent and/or future instructors: Stella Kakavouli
Introduction to the Java programming language and the object-oriented programming paradigm. Provides a strong foundation for taking CS 230, but is not required for students who did well in CS 111.
offered | Fall semester only |
---|---|
details | CRN: See course browser; Credit Hours: 1; Size: See course browser |
meeting info | Meeting Times & Locations TBD |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving |
linked courses | |
prerequisites | Prerequisites(s): CS 111 |
extra info |
Recent and/or future instructors: Scott Anderson
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.
offered | Fall semester only |
---|---|
details | CRN: 19096; Credit Hours: 1; Current Enrollment: 24; Seats Available: 4; Max Enrollment: 28; |
meeting info | Meeting Time(s): TF - 11:20 AM - 12:35 PM Loc: Science Center E Wing 101 Computer Science Computer Classroom; W - 12:30 PM - 1:20 PM Loc: Science Center Hub 305 Classroom |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving |
linked courses | |
prerequisites | Prerequisites(s): CS 111 or permission of the instructor. |
extra info |
Prerequisite rule enforced at registration:
Course: CS 111 |
Recent and/or future instructors: Catherine Grevet Delcourt, Vinitha Gadiraju
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.
offered | Each semester |
---|---|
details | CRN: 19097; Credit Hours: 1; Current Enrollment: 18; Seats Available: 0; Max Enrollment: 18; |
meeting info | Meeting Time(s): TF - 2:10 PM - 3:25 PM Loc: Science Center L Wing 120 Computer Science HCI Lab |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving |
linked courses | |
prerequisites | Prerequisites(s): One of the following courses - CS 111, CS 115/MAS 115. |
extra info |
Recent and/or future instructors: Jordan Tynes
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.
offered | Fall semester only |
---|---|
details | CRN: 18066; Credit Hours: 1; Current Enrollment: 18; Seats Available: 0; Max Enrollment: 18; |
meeting info | Meeting Time(s): MR - 11:20 AM - 12:35 PM Loc: Science Center L Wing 140 Computer Science Computer Lab |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving |
linked courses | |
prerequisites | Prerequisites(s): Any 100-level CS course. |
extra info |
Cross-listed courses: MAS 221 01 - Digital Worlds for Gaming Prerequisite rule enforced at registration: Course: Any 100-level CS course |
Recent and/or future instructors: Smaranda Sandu, Scott Anderson, Stella Kakavouli, Panagiotis Metaxas, Catherine Grevet Delcourt
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. Students are required to attend an additional two-hour laboratory section each week. Students with prior programming experience may be eligible to join a special section of the course without a required laboratory section.Enrollment in this course is by permission of the instructor only. Students interested in taking this course should fill out this Google Form.
offered | Each semester |
---|---|
details | CRN: 11014; Credit Hours: 0; Current Enrollment: 29; Seats Available: 2; Max Enrollment: 31; |
meeting info | Meeting Time(s): - |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving |
linked courses | |
prerequisites | Prerequisites(s): CS111 or permission of the instructor |
extra info |
Recent and/or future instructors: Christine Bassem, Brian Brubach
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.
offered | Each semester |
---|---|
details | CRN: 19106; Credit Hours: 1; Current Enrollment: 21; Seats Available: 3; Max Enrollment: 24; |
meeting info | Meeting Time(s): TF - 11:20 AM - 12:35 PM Loc: Science Center Hub 305 Classroom |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving |
linked courses | |
prerequisites | Prerequisites(s): CS 230 and MATH 225, or permission of the instructor. |
extra info |
Prerequisite rule enforced at registration:
Course: CS 230 and MATH 225, or permission of instructor |
Recent and/or future instructors: Carolyn Anderson
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. Enrollment in this course is by permission of the instructor only. Students interested in taking this course should fill out this Google Form.
offered | Each semester |
---|---|
details | CRN: 19107; Credit Hours: 1; Current Enrollment: 21; Seats Available: 3; Max Enrollment: 24; |
meeting info | Meeting Time(s): TF - 8:30 AM - 9:45 AM Loc: Science Center L Wing 043 Classroom |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving |
linked courses | |
prerequisites | Prerequisites(s): CS 230 or permission of the instructor. |
extra info |
Prerequisite rule enforced at registration:
Permission: Instructor Permission Required |
Recent and/or future instructors: Eni Mustafaraj
As the number of our digital traces continues to grow, so does the opportunity for discovering meaningful patterns in these traces. In this course, students will initially learn how to collect, clean, format, and store data from digital platforms. By adopting a computational approach to statistical analysis, students will then implement in code different statistical metrics and simulation scenarios for hypothesis testing and estimation. Finally, students will generate meaningful visualizations for data exploration and communicating results. Additionally, we will discuss the ethics of data collection and think critically about current practices of experimenting with online users. Students will work in groups to create their own datasets, ask an interesting question, perform statistical analyses and visualizations, and report the results.Enrollment in this course is by permission of the instructor only. Interested students should fill out this Google Form.
offered | Not offered this year |
---|---|
details | CRN: 18173; Credit Hours: 1; Current Enrollment: 22; Seats Available: 2; Max Enrollment: 24; |
meeting info | Meeting Time(s): MR - 9:55 AM - 11:10 AM Loc: Science Center Hub 103 Classroom |
distributions | Distributions: DL - Data Literacy (Formerly QRF); MM - Mathematical Modeling and Problem Solving; DL - Data Literacy (Formerly QRDL) |
linked courses | |
prerequisites | Prerequisites(s): CS 230 or permission of the instructor. |
extra info |
Prerequisite rule enforced at registration:
Permission: Instructor Permission Required |
Recent and/or future instructors: Franklyn Turbak, Brian Tjaden, Smaranda Sandu
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.
offered | Each semester |
---|---|
details | CRN: 19109; Credit Hours: 1; Current Enrollment: 18; Seats Available: 6; Max Enrollment: 24; |
meeting info | Meeting Time(s): MR - 11:20 AM - 12:35 PM Loc: Science Center N Wing 321 Classroom |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving |
linked courses | |
prerequisites | Prerequisites(s): CS 230 and MATH 225, or permission of the instructor. |
extra info |
Prerequisite rule enforced at registration:
Course: CS 230 and MATH 225, or permission of instructor |
Recent and/or future instructors: Alexa VanHattum, Peter Andrew Mawhorter
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.
offered | Each semester |
---|---|
details | CRN: 19114; Credit Hours: 0; Current Enrollment: 12; Seats Available: 4; Max Enrollment: 16; |
meeting info | Meeting Time(s): W - 2:30 PM - 5:30 PM Loc: Science Center L Wing 037 Computer Science Lab |
distributions | Distributions: LAB - Natural and Physical Sciences Laboratory; MM - Mathematical Modeling and Problem Solving |
linked courses | |
prerequisites | Prerequisites(s): CS 230, or permission of the instructor. |
extra info |
Prerequisite rule enforced at registration:
Alternate Waitlist active -- access alternate waitlist through green 'W' waitlist icon above. |
Recent and/or future instructors: Christine Bassem
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.
offered | Fall semester only |
---|---|
details | CRN: 19115; Credit Hours: 1; Current Enrollment: 21; Seats Available: 1; Max Enrollment: 22; |
meeting info | Meeting Time(s): TF - 12:45 PM - 2:00 PM Loc: Science Center Hub 305 Classroom |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving |
linked courses | |
prerequisites | Prerequisites(s): CS 230 or permission of the instructor. |
extra info |
Prerequisite rule enforced at registration:
Course: CS 230 or permission of the instructor |
Recent and/or future instructors: Brian Tjaden
Machine learning is the science of teaching computers how to learn from observations. It is ubiquitous in our interactions with society, showing up in face recognition, web search, targeted advertising, speech processing, genetic analysis, and even Facebook's selection of posts to display. 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.
offered | Each semester |
---|---|
details | CRN: 19117; Credit Hours: 1; Current Enrollment: 0; Seats Available: 18; Max Enrollment: 18; |
meeting info | Meeting Time(s): MR - 11:20 AM - 12:35 PM Loc: Science Center Hub 402 CS Computer Lab |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving; EC - Epistemology and Cognition |
linked courses | |
prerequisites | Prerequisites(s): CS 230 |
extra info |
Recent and/or future instructors: Carolyn Anderson
This course introduces the principles underlying the design, semantics, and implementation of modern programming languages in major paradigms including function-oriented, imperative, and object-oriented. The course examines: language dimensions including syntax, naming, state, data, control, types, abstraction, modularity, and extensibility; issues in the runtime representation and implementation of programming languages; and the expression and management of parallelism and concurrency. Students explore course topics via programming exercises in several languages, including the development of programming language interpreters.
offered | Spring semester only |
---|---|
details | CRN: 18184; Credit Hours: 1; Current Enrollment: 5; Seats Available: 19; Max Enrollment: 24; |
meeting info | Meeting Time(s): TF - 11:20 AM - 12:35 PM Loc: Science Center L Wing 043 Classroom |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving |
linked courses | |
prerequisites | Prerequisites(s): CS 230 or permission of the instructor. |
extra info |
Prerequisite rule enforced at registration:
AR Course: CS 230 |
Recent and/or future instructors: Scott Anderson
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.Enrollment in this course is by permission of the instructor only. Students interested in taking this course should fill out this Google Form.
offered | Each semester |
---|---|
details | CRN: 19116; Credit Hours: 1; Current Enrollment: 23; Seats Available: 1; Max Enrollment: 24; |
meeting info | Meeting Time(s): MR - 9:55 AM - 11:10 AM Loc: Science Center Hub 402 CS Computer Lab; W - 9:30 AM - 10:20 AM Loc: Science Center E Wing 111 Classroom |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving |
linked courses | |
prerequisites | Prerequisites(s): CS 230 or permission of the instructor. |
extra info |
Prerequisite rule enforced at registration:
Permission: Instructor Permission Required |
Recent and/or future instructors: Scott Anderson
A survey of topics in computer graphics with an emphasis on fundamental techniques. Topics include: graphics hardware, fundamentals of three-dimensional graphics including modeling, projection, coordinate transformation, synthetic camera specification, color, lighting, shading, hidden surface removal, animation, and texture-mapping. We also cover the mathematical representation and programming specification of lines, planes, curves, and surfaces. Students will build graphics applications using a browser-based platform.
offered | Spring semester only |
---|---|
details | CRN: 20193; Credit Hours: 1; Current Enrollment: 27; Seats Available: 1; Max Enrollment: 28; |
meeting info | Meeting Time(s): MR - 9:55 AM - 11:10 AM Loc: Science Center Hub 402 CS Computer Lab; W - 9:30 AM - 10:20 AM Loc: Science Center Hub 402 CS Computer Lab |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving |
linked courses | |
prerequisites | Prerequisites(s): CS 230 or permission of the instructor. |
extra info |
Prerequisite rule enforced at registration:
Course: CS 230 or permission of the instructor |
Recent and/or future instructors: Brian Tjaden
Many elegant computational problems arise naturally in the modern study of molecular biology. This course is an introduction to the design, implementation, and analysis of algorithms with applications in genomics. Topics include bioinformatic algorithms for dynamic programming, tree-building, clustering, hidden Markov models, expectation maximization, Gibbs sampling, and stochastic context-free grammars. Topics will be studied in the context of analyzing DNA sequences and other sources of biological data. Applications include sequence alignment, gene-finding, structure prediction, motif and pattern searches, and phylogenetic inference. Course projects will involve significant computer programming in Java. No biology background is expected.
offered | Not offered this year |
---|---|
details | CRN: 28228; Credit Hours: 1; Current Enrollment: 17; Seats Available: 1; Max Enrollment: 18; |
meeting info | Meeting Time(s): MR - 11:20 AM - 12:35 PM Loc: Science Center L Wing 180 Computer Science Computer Lab |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving |
linked courses | |
prerequisites | Prerequisites(s): CS 230 or permission of the instructor. |
extra info |
Recent and/or future instructors: Eni Mustafaraj
In the past decade, we have experienced the rise of socio-technical systems used by millions of people: Google, Facebook, Twitter, Wikipedia, etc. Such systems are on the one hand computational systems, using sophisticated infrastructure and algorithms to organize huge amount of data and text, but on the other hand social systems, because they cannot succeed without human participation. How are such systems built? What algorithms underlie their foundations? How does human behavior influence their operation and vice-versa? In this class, we will delve into answering these questions by means of: a) reading current research papers on the inner-workings of such systems; b) implementing algorithms that accomplish tasks such as web crawling, web search, random walks, learning to rank, text classification, topic modeling; and c) critically thinking about the unexamined embrace of techno-solutionism using a humanistic lens.Enrollment in CS 315 is by permission of the instructor only. Interested students should fill out this Google Form.
offered | Spring semester only |
---|---|
details | CRN: 20170; Credit Hours: 1; Current Enrollment: 17; Seats Available: 1; Max Enrollment: 18; |
meeting info | Meeting Time(s): TF - 12:45 PM - 2:00 PM Loc: Science Center Hub 101 Lecture Hall |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving; DL - Data Literacy (Formerly QRDL) |
linked courses | |
prerequisites | Prerequisites(s): CS 230 or permission of the instructor. |
extra info |
Prerequisite rule enforced at registration:
Permission: Instructor Permission Required |
Recent and/or future instructors: Franklyn Turbak
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.
offered | Fall semester only |
---|---|
details | CRN: 19118; Credit Hours: 1; Current Enrollment: 21; Seats Available: 0; Max Enrollment: 21; |
meeting info | Meeting Time(s): TF - 11:20 AM - 12:35 PM Loc: Science Center L Wing 039 Classroom |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving |
linked courses | |
prerequisites | Prerequisites(s): CS 230. |
extra info |
Recent and/or future instructors: Orit Shaer
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.
offered | Spring semester only |
---|---|
details | CRN: 20172; Credit Hours: 1; Current Enrollment: 18; Seats Available: 0; Max Enrollment: 18; |
meeting info | Meeting Time(s): MR - 2:20 PM - 3:35 PM Loc: Science Center L Wing 120 Computer Science HCI Lab |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving |
linked courses | |
prerequisites | Prerequisites(s): CS 220 or CS 230, or permission of the instructor. |
extra info |
Prerequisite rule enforced at registration:
Course: CS 220 or CS 230, or permission of the instructor Seat Reservations: 6 - reserved for Cohort: 5th or 6th semesters until 11/24/2023 |
Recent and/or future instructors: Jordan Tynes
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.
offered | Spring semester only |
---|---|
details | CRN: 20173; Credit Hours: 1; Current Enrollment: 18; Seats Available: 0; Max Enrollment: 18; |
meeting info | Meeting Time(s): MR - 11:20 AM - 12:35 PM Loc: Science Center L Wing 140 Computer Science Computer Lab |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving |
linked courses | |
prerequisites | Prerequisites(s): CS 220 or CS 221/ MAS 221 or CS 230. |
extra info |
Prerequisite rule enforced at registration:
Course: CS 220 or CS 221/MAS 221 or CS 230 |
Recent and/or future instructors: Catherine Grevet Delcourt
Social Computing systems connect us to our closest friends, and globally to people all over the world. In recent decades, companies like Facebook, Snapchat, and even Amazon, have reshaped our social environments. All of these systems, at their core, are designed to facilitate interactions between people. What design decisions shape these systems? Students will learn the theoretical foundations of Social Computing drawn from the Social Sciences, and will learn software prototyping and design techniques to create new systems. This class will explore topics such as identity, anonymity, reputation, moderation, crowdsourcing, and social algorithms. Students will work in teams to design, prototype, and build social computing systems.
offered | Not offered this year |
---|---|
details | CRN: 20174; Credit Hours: 1; Current Enrollment: 24; Seats Available: 0; Max Enrollment: 24; |
meeting info | Meeting Time(s): MR - 11:20 AM - 12:35 PM Loc: Science Center N Wing 220 Classroom; W - 11:30 AM - 12:20 PM Loc: Science Center N Wing 220 Classroom |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving |
linked courses | |
prerequisites | Prerequisites(s): CS 220 or CS230. |
extra info |
Prerequisite rule enforced at registration:
Course: CS 220 or CS 230, or permission of the instructor |
Recent and/or future instructors: Vinitha Gadiraju
Teaches concepts and techniques for accessible design, part of the human-computer interaction paradigm.
offered | Fall semester only |
---|---|
details | CRN: See course browser; Credit Hours: 1; Size: See course browser |
meeting info | Meeting Times & Locations TBD |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving |
linked courses | |
prerequisites | Prerequisites(s): CS 220 |
extra info |
Recent and/or future instructors: Brian Brubach
Explore advanced topics in the design and analysis of algorithms and data structures. The focus is on expanding your toolkit of problem-solving techniques and considering new settings that model real-world challenges. Topics may include: randomization, approximation algorithms, online and streaming settings, parallel and distributed computing, linear programming and LP rounding, optimization under uncertainty, bias and fairness in algorithms, and algorithmic foundations of data science and machine learning.
offered | Spring semester only |
---|---|
details | CRN: 20196; Credit Hours: 1; Current Enrollment: 13; Seats Available: 5; Max Enrollment: 18; |
meeting info | Meeting Time(s): TF - 12:45 PM - 2:00 PM Loc: Science Center L Wing 043 Classroom |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving |
linked courses | |
prerequisites | Prerequisites(s): CS 231 or permission of the instructor. |
extra info |
Prerequisite rule enforced at registration:
Course: CS 231 or permission of instructor |
Recent and/or future instructors: Carolyn Anderson
Natural Language Processing (NLP) is the subfield of CS that focuses on language technology. Because language is one of the most complex human abilities, building computational technologies that involve language is both challenging and important. This course introduces NLP methods and applications. Students will (1) learn core NLP algorithms and models; (2) explore the challenges posed by different aspects of human language; (3) learn to evaluate ethical concerns about language technology; and (4) complete a series of projects to implement and improve NLP models. We will cover a range of techniques, including n-gram models, Bayesian classifiers, neural networks, and deep learning. Applications include parsing, sentiment analysis, machine translation, and language generation, as well as information retrieval tasks like summarization, topic modeling, and question-answering.
offered | Fall semester only |
---|---|
details | CRN: 19119; Credit Hours: 1; Current Enrollment: 19; Seats Available: 1; Max Enrollment: 20; |
meeting info | Meeting Time(s): TF - 9:55 AM - 11:10 AM Loc: Science Center L Wing 043 Classroom |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving; SBA - Social and Behavioral Analysis |
linked courses | |
prerequisites | Prerequisites(s): CS 230 and either MATH 206 or MATH 220 or MATH 225. |
extra info |
Prerequisite rule enforced at registration:
Course: CS 230 and either MATH 206 or MATH 220 or MATH 225 Seat Reservations: 6 - reserved for Cohort: 3rd or 4th semesters until 04/28/2023 7 - reserved for Cohort: 5th or 6th semesters until 04/28/2023 |
Recent and/or future instructors: Julie Walsh, Eni Mustafaraj
How do we educate the next generation of data scientists and software engineers to think of their work as not just technical but also ethical? How do we get them to see that the social impact of their work requires that it be driven by sound ethical principles? 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 digital technologies, as well as empower us to find creative solutions.Central questions include: What kinds of ethical considerations are part of the everyday jobs of graduates working in digital technology, either in non-profit or for-profit organizations? What parts of the current liberal arts curriculum, if any, are preparing our graduates for the kinds of ethical decision-making they need to engage in? How to expand the reach of ethical reasoning within the liberal arts curriculum, in order to strengthen the ethical decision-making preparation? A key component in our collective efforts to engage with these questions will involve a sustained semester-long research project with Wellesley alums working in the field of digital tech.Registration is by Permission of the Instructor only. Students interested in taking this course should fill out this Google Form.
offered | Fall semester only |
---|---|
details | CRN: 18142; Credit Hours: 1; Current Enrollment: 18; Seats Available: 0; Max Enrollment: 18; |
meeting info | Meeting Time(s): T - 9:55 AM - 12:35 PM Loc: Science Center Hub 303 Classroom; W - 10:30 AM - 11:20 AM Loc: Science Center L Wing 039 Classroom |
distributions | Distributions: DL - Data Literacy (Formerly QRF); DL - Data Literacy (Formerly QRDL); REP - Religion, Ethics, and Moral Philosophy |
linked courses | |
prerequisites | Prerequisites(s): One course in Philosophy, Computer Science, MAS, or Statistics, and permission of the instructor. |
extra info |
Cross-listed courses: PHIL 322 01 - Seminar: Methods for Ethics of Technology Prerequisite rule enforced at registration: Permission: Instructor Permission Required |
Recent and/or future instructors: Alexa VanHattum
This course focuses on modeling and specifying computer systems. Students will learn how to reason about the properties and expected behavior of modern software. Topics include designing specifications, property-based testing, model checking, and satisfiability solvers. We will use real-world case studies to motivate the analysis of reliable computer systems. By the end of the course, students will be able to (1) design specifications for the expected behavior of a system, (2) model system behavior using state-of-the-art tools with automated formal methods, and (3) identify and prevent software bugs. While prior experience with algorithm design and analysis is expected, the course will cover any necessary background in systems programming and formal methods.Enrollment in this course is by permission of the instructor only. Interested students should fill out this Google Form.
offered | Spring semester only |
---|---|
details | CRN: 20175; Credit Hours: 1; Current Enrollment: 14; Seats Available: 4; Max Enrollment: 18; |
meeting info | Meeting Time(s): MR - 9:55 AM - 11:10 AM Loc: Science Center Hub 401 Classroom; W - 9:30 AM - 10:20 AM Loc: Science Center Hub 401 Classroom |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving |
linked courses | |
prerequisites | Prerequisites(s): CS111 and CS230, or CS111 and permission of the instructor. |
extra info |
Prerequisite rule enforced at registration:
Permission: Instructor Permission Required |
Recent and/or future instructors: Benjamin Wood
This course is designed to provide a solid foundation in the design and implementation of key concepts in existing operating systems. These concepts include process management, scheduling, multitasking, synchronization, deadlocks, memory management, file systems, and I/O operations. Throughout the course, the mechanism design aspects of these concepts will be discussed and assessed from the point of view of a programmer. Moreover, more modern operating systems will be explored, such as virtual operating systems.
offered | Not offered this year |
---|---|
details | CRN: 17273; Credit Hours: 1; Current Enrollment: 18; Seats Available: 0; Max Enrollment: 18; |
meeting info | Meeting Time(s): MTWR - 8:15 PM - 9:30 PM |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving |
linked courses | |
prerequisites | Prerequisites(s): CS 240 or permission of instructor. |
extra info |
Recent and/or future instructors: Ada Lerner
An introduction to computer security and privacy. Topics will include privacy, threat modeling, software security, web tracking, web security, usable security, the design of secure and privacy preserving tools, authentication, anonymity, practical and theoretical aspects of cryptography, secure protocols, network security, social engineering, the relationship of the law to security and privacy, 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- and privacy-related topics. Students are required to attend an additional 70-minute discussion section each week.
offered | Not offered this year |
---|---|
details | CRN: 17274; Credit Hours: 1; Current Enrollment: 19; Seats Available: 0; Max Enrollment: 18; |
meeting info | Meeting Time(s): TF - 10:00 AM - 12:45 PM |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving |
linked courses | |
prerequisites | Prerequisites(s): CS 230 and CS 240 or permission of the instructor. |
extra info |
Recent and/or future instructors: Christine Bassem
What is the “cloud”? What is a distributed system? 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 basic knowledge needed to work with and build distributed systems, such as peer-to-peer systems and cloud computing systems. Topics include MapReduce, Spark, communication models, synchronization, distributed file systems, coordination algorithms, consensus algorithms, fault-tolerance, and security.Enrollment in this course is by permission of the instructor only. Interested students should fill out this Google Form.
offered | Spring semester only |
---|---|
details | CRN: 20176; Credit Hours: 1; Current Enrollment: 18; Seats Available: 0; Max Enrollment: 18; |
meeting info | Meeting Time(s): MR - 11:20 AM - 12:35 PM Loc: Science Center L Wing 039 Classroom; W - 11:30 AM - 12:20 PM Loc: Science Center L Wing 039 Classroom |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving |
linked courses | |
prerequisites | Prerequisites(s): CS 230 (required); CS 231 or CS 242 (recommended). |
extra info |
Prerequisite rule enforced at registration:
Permission: Instructor Permission Required |
Recent and/or future instructors: Brian Tjaden
Covers the area of Deep Learning which involves using multi-layer neural networks to solve machine learning problems. This technology is what is usually being employed by companies using 'AI' these days.
offered | Spring semester only |
---|---|
details | CRN: TBD; Credit Hours: 1; Size: TBD |
meeting info | Meeting Time(s): TBD |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving |
linked courses | |
prerequisites | Prerequisites(s): CS 230 and Math 225 |
extra info |
Recent and/or future instructors: Yaniv Yakoby
This class covers the math behind machine learning, dealing with linear algebra, multivariable calculus, and probability.
offered | Fall semester only |
---|---|
details | CRN: TBD; Credit Hours: 1; Current Enrollment: 0; Seats Available: 18; Max Enrollment: 18; |
meeting info | Meeting Time(s): TBD |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving |
linked courses | |
prerequisites | Prerequisites(s): CS 230 and one of Math 205, Math 206, or Math 225 |
extra info |
Recent and/or future instructors: Jordan Tynes
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.
offered | Spring semester only |
---|---|
details | CRN: 20910; Credit Hours: 1; Current Enrollment: 14; Seats Available: 4; Max Enrollment: 18; |
meeting info | Meeting Time(s): W - 1:30 PM - 4:10 PM Loc: Science Center L Wing 140 Computer Science Computer Lab |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving |
linked courses | |
prerequisites | Prerequisites(s): One of the following - CS 321, CS 221/MAS 221, CS 220, CS 320, or (CS 121/MAS 121 and CS 230), or permission of the instructor (portfolio must be able to demonstrate some previous experience with game development). |
extra info |
Cross-listed courses: MAS 365 01 - Advanced Projects in Playable Media Prerequisite rule enforced at registration: Course: One of the following - CS 321, CS 221/MAS 221, CS 220, CS 320, or (CS 121/MAS 121 and CS 230), or permission of the instructor |
Recent and/or future instructors: Orit Shaer
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.
offered | Fall semester only |
---|---|
details | CRN: 18068; Credit Hours: 1; Current Enrollment: 16; Seats Available: 2; Max Enrollment: 18; |
meeting info | Meeting Time(s): R - 2:20 PM - 5:00 PM Loc: Science Center L Wing 120 Computer Science HCI Lab |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving |
linked courses | |
prerequisites | Prerequisites(s): One of the following - CS204, CS220, CS320 or CS323. |
extra info |
Cross-listed courses: MAS 366 01 - Advanced Projects in Interactive Media Prerequisite rule enforced at registration: Course: One of the following - CS 204, CS 220, CS 230, or CS 323 |
Recent and/or future instructors: Karen Lange, Philip Hirschhorn, Oscar Fernandez, Ismar Volic
Introduction to differential and integral calculus for functions of one variable. The heart of calculus is the study of rates of change. Differential calculus concerns the process of finding the rate at which a quantity is changing (the derivative). Integral calculus reverses this process. Information is given about the derivative, and the process of integration finds the "integral," which measures accumulated change. This course aims to develop a thorough understanding of the concepts of differentiation and integration, and covers techniques and applications of differentiation and integration of algebraic, trigonometric, logarithmic, and exponential functions. MATH 115 is an introductory course designed for students who have not seen calculus before.
offered | Each semester |
---|---|
details | CRN: 19248; Credit Hours: 1; Current Enrollment: 24; Seats Available: 0; Max Enrollment: 24; |
meeting info | Meeting Time(s): TF - 9:55 AM - 11:10 AM Loc: Science Center L Wing 035 Classroom; W - 10:30 AM - 11:20 AM Loc: Science Center L Wing 035 Classroom |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving |
linked courses | |
prerequisites | Prerequisites(s): Not open to students who have completed MATH 116, MATH 120, MATH 205 or the equivalent. Not open to students whose placement is MATH 205 or MATH 206. |
extra info |
Recent and/or future instructors: Megan Kerr, Andy C Schultz, Alexander James Diesl, Philip Hirschhorn
Most real-world systems that one may want to model, whether in the natural or in the social sciences, have many interdependent parameters. To apply calculus to these systems, we need to extend the ideas and techniques of single-variable Calculus to functions of more than one variable. Topics include vectors, matrices, determinants, polar, cylindrical, and spherical coordinates, curves, partial derivatives, gradients and directional derivatives, Lagrange multipliers, multiple integrals, vector calculus: line integrals, surface integrals, divergence, curl, Green's Theorem, Divergence Theorem, and Stokes’ Theorem.
offered | Each semester |
---|---|
details | CRN: 19258; Credit Hours: 1; Current Enrollment: 24; Seats Available: 6; Max Enrollment: 30; |
meeting info | Meeting Time(s): TF - 2:10 PM - 3:25 PM Loc: Founders 126 Classroom; W - 3:30 PM - 4:20 PM Loc: Founders 126 Classroom |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving |
linked courses | |
prerequisites | Prerequisites(s): MATH 116 or MATH 120, or the equivalent. Not open to students who have completed PHYS 216. |
extra info |
Recent and/or future instructors: Karamatou Yacoubou Djima, Ann Trenk, Jonathan Tannenhauser, Stanley Chang, Joe Lauer
Linear algebra is one of the most beautiful subjects in the undergraduate mathematics curriculum. It is also one of the most important with many possible applications. In this course, students learn computational techniques that have widespread applications in the natural and social sciences as well as in industry, finance, and management. There is also a focus on learning how to understand and write mathematical proofs and an emphasis on improving mathematical style and sophistication. Topics include vector spaces, subspaces, linear independence, bases, dimension, inner products, linear transformations, matrix representations, range and null spaces, inverses, and eigenvalues.
offered | Each semester |
---|---|
details | CRN: 19260; Credit Hours: 1; Current Enrollment: 26; Seats Available: 1; Max Enrollment: 27; |
meeting info | Meeting Time(s): TF - 12:45 PM - 2:00 PM Loc: Science Center N Wing 321 Classroom; W - 1:30 PM - 2:20 PM Loc: Science Center N Wing 321 Classroom |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving |
linked courses | |
prerequisites | Prerequisites(s): MATH 205 or MATH 215; or, with permission of the instructor, MATH 116, MATH 120, or the equivalent. |
extra info |
Recent and/or future instructors: Jonathan Tannenhauser
Probability is the mathematics of uncertainty. We begin by developing the basic tools of probability theory, including counting techniques, conditional probability, and Bayes's Theorem. We then survey several of the most common discrete and continuous probability distributions (binomial, Poisson, uniform, normal, and exponential, among others) and discuss mathematical modeling using these distributions. Often we cannot calculate probabilities exactly, and we need to approximate them. A powerful tool here is the Central Limit Theorem, which provides the link between probability and statistics. Another strategy when exact results are unavailable is simulation. We examine Markov chain Monte Carlo methods, which offer a means of simulating from complicated distributions.
offered | Each semester |
---|---|
details | CRN: 18100; Credit Hours: 1; Current Enrollment: 23; Seats Available: 7; Max Enrollment: 30; |
meeting info | Meeting Time(s): MR - 11:20 AM - 12:35 PM Loc: Science Center L Wing 035 Classroom; W - 11:30 AM - 12:20 PM Loc: Science Center L Wing 035 Classroom |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving |
linked courses | |
prerequisites | Prerequisites(s): MATH 205 |
extra info |
Cross-listed courses: STAT 220 01 - Probability |
Recent and/or future instructors: Clara Chan, Philip Hirschhorn, Andy C Schultz, Ann Trenk
Combinatorics is the art of counting possibilities: for instance, how many different ways are there to distribute 20 apples to 10 kids? Graph theory is the study of connected networks of objects. Both have important applications to many areas of mathematics and computer science. The course will be taught emphasizing creative problem-solving as well as methods of proof, such as proof by contradiction and induction. Topics include: selections and arrangements, generating functions, recurrence relations, graph coloring, Hamiltonian and Eulerian circuits, and trees.
offered | Each semester |
---|---|
details | CRN: 19263; Credit Hours: 1; Current Enrollment: 22; Seats Available: 3; Max Enrollment: 25; |
meeting info | Meeting Time(s): TF - 9:55 AM - 11:10 AM Loc: Science Center N Wing 321 Classroom; W - 10:30 AM - 11:20 AM Loc: Science Center N Wing 321 Classroom |
distributions | Distributions: MM - Mathematical Modeling and Problem Solving |
linked courses | |
prerequisites | Prerequisites(s): MATH 116 or MATH 120, or the equivalent; or CS 230 together with permission of the instructor. |
extra info |
Seat Reservations:
3 - reserved for Cohort: 1st or 2nd semesters until 09/04/2023
7 - reserved for Cohort: 3rd or 4th semesters until 04/28/2023 |