Course Schedule
COURSE SCHEDULE: fall 2026
EN 1-08
Applications in Engineering: Simple Robotics

Introduction of various concepts in engineering. Emphasis on project work, engineering ethics, and engineering design process. Discipline topic areas vary each term. Limited to first-year students. For more information on all sections of EN1, please visit SoE First Year Courses website at https://sites.tufts.edu/soefirstyear/

Ethan E. Danahy
MWF 10:30-11:45
Joyce Cummings Center 265
EN 1-18A
Applications in Engineering: Exploring Computer Science

Introduction of various concepts in engineering. Emphasis on project work, engineering ethics, and engineering design process. Discipline topic areas vary each term. Limited to first-year students. EN 0001-18A Exploring Computer Science Successful completion of this course will provide students with placement into CS11. Placement into CS11 allows students to complete CS11 as the Introductory Computing requirement instead of CS10 or ES2. Students who pass the computer programming placement exam are encouraged to enroll in another section of EN1. Concurrent enrollment in CS10 is discouraged. This lecture section requires an accompanying lab. Select 1 Lecture (either 18A or 18B - note different times) and 1 Laboratory (options are 18L1 - 18L4) to be correctly enrolled in this course. For more information on all sections of EN1, please visit SoE First Year Courses website at https://sites.tufts.edu/soefirstyear/

Diane L Souvaine
T 10:30-11:45
Anderson Wing (TTC) 210
R 10:30-11:45
Joyce Cummings Center 235
EN 1-18B
Applications in Engineering: Exploring Computer Science

Introduction of various concepts in engineering. Emphasis on project work, engineering ethics, and engineering design process. Discipline topic areas vary each term. Limited to first-year students. EN 0001-18B Exploring Computer Science Successful completion of this course will provide students with placement into CS11. Placement into CS11 allows students to complete CS11 as the Introductory Computing requirement instead of CS10 or ES2. Students who pass the computer programming placement exam are encouraged to enroll in another section of EN1. Concurrent enrollment in CS10 is discouraged. This lecture section requires an accompanying lab. Select 1 Lecture (either 18A or 18B - note different times) and 1 Laboratory (options are 18L1 - 18L4) to be correctly enrolled in this course. For more information on all sections of EN1, please visit SoE First Year Courses website at https://sites.tufts.edu/soefirstyear/

Diane L Souvaine
T 9:00-10:15
Anderson Wing (TTC) 210
R 9:00-10:15
Joyce Cummings Center 235
CS 4-01
Teaching Computer Science

Mechanics of teaching, reviewing, and evaluating computer science coursework. Constructive question answering, grading with consistency, and creating an inclusive and welcoming environment. Enrolled students must be undergraduate teaching assistants for Computer Science classes.

Megan Monroe
R 4:30-7:30p
Olin Center 012
CS 5-01
Special Topics for non-majors: Career Success for CS students

Content and prerequisites to be announced. Please see department website for specific details.

Karen Donoghue
MW 4:30-5:45p
Eaton Hall 201
CS 5-02
Special Topics for non-majors: Career Success for CS students

Content and prerequisites to be announced. Please see department website for specific details.

Karen Donoghue
MW 4:30-5:45p
Eaton Hall 201
CS 5-03
Special Topics for non-majors: Career Success for CS students

Content and prerequisites to be announced. Please see department website for specific details.

Karen Donoghue
MW 4:30-5:45p
Eaton Hall 201
CS 10-01
Programming Fundamentals

Fundamental concepts of computer science and computer programming for students with no prior programming experience but who are interested in taking CS11. Data structures and algorithms, text and data manipulation, simulation using random numbers. Students cannot receive credit for CS 10 subsequent to earning a grade of C- or better in CS 11 or CS 15. Students may receive credit for either CS10 or ES2, but not both. Recommendation: high school algebra

Elyse L. Cornwall
MW 3:00-4:15
Joyce Cummings Center 270
CS 11-01
Intro Computer Science

The study of computer science centers on two complementary aspects of the discipline. First, computer science is fundamentally concerned with the problem-solving methodologies it derives from its foundational fields: the design principles of engineering, mathematical theory, and scientific empirical study. Second, these methodologies are applied in the complex context of a modern day computing system. In this course we will address both of these important aspects. As a means for developing your design skills, we will discuss the fundamental features of a high level, general purpose programming language — namely C++ — and learn how to use it as a tool for problem solving. We will also consider the performance of solutions, and how to apply both analytical and empirical assessment techniques. Finally, we will explore the Unix operating system as a context for problem solving. Students who have completed CS 15 with a C- or better cannot subsequently earn credit for CS11.

Elyse L. Cornwall, Marty Allen
TR 12:00-1:15
Joyce Cummings Center 270
CS 11-02
Intro Computer Science

The study of computer science centers on two complementary aspects of the discipline. First, computer science is fundamentally concerned with the problem-solving methodologies it derives from its foundational fields: the design principles of engineering, mathematical theory, and scientific empirical study. Second, these methodologies are applied in the complex context of a modern day computing system. In this course we will address both of these important aspects. As a means for developing your design skills, we will discuss the fundamental features of a high level, general purpose programming language — namely C++ — and learn how to use it as a tool for problem solving. We will also consider the performance of solutions, and how to apply both analytical and empirical assessment techniques. Finally, we will explore the Unix operating system as a context for problem solving. Students who have completed CS 15 with a C- or better cannot subsequently earn credit for CS11.

Elyse L. Cornwall, Marty Allen
TR 10:30-11:45
Joyce Cummings Center 270
CS 11-M1
Intro Computer Science

The study of computer science centers on two complementary aspects of the discipline. First, computer science is fundamentally concerned with the problem-solving methodologies it derives from its foundational fields: the design principles of engineering, mathematical theory, and scientific empirical study. Second, these methodologies are applied in the complex context of a modern day computing system. In this course we will address both of these important aspects. As a means for developing your design skills, we will discuss the fundamental features of a high level, general purpose programming language — namely C++ — and learn how to use it as a tool for problem solving. We will also consider the performance of solutions, and how to apply both analytical and empirical assessment techniques. Finally, we will explore the Unix operating system as a context for problem solving. Students who have completed CS 15 with a C- or better cannot subsequently earn credit for CS11.

STAFF
M 7:30p-9:00p
Online
CS 12-01
Cyber for Future Policymakers

Relevance of computer technologies to policy development. Internet architecture and basic networking, the Web, cloud architectures, cryptography, security and privacy, AI and machine learning, and open-source systems. Developing technologies, including quantum computing and post-quantum cryptography. Recommendations: CS 10 or CS 11.

Dave Lillethun
TR 12:00-1:15
Joyce Cummings Center 140
CS 13-01
How Systems Work

How computing systems work: bits, bytes, the representation of information, the CPU, assembly language, programming languages. Networking: including peering, packets, and the Internet. Algorithms and the fundamental limitations of computing. Recommendations: CS 10 or CS 11.

Mark A Sheldon
MW 10:30-11:45
Joyce Cummings Center 140
CS 14-01
Emerging Scholars Comp Sci

Weekly, peer-led workshops exploring topics in computer science. Emphasis on the collaborative and problem-solving nature of computer science. No prior programming experience is necessary. Students must apply to enroll – see departmental website for details. Prerequisite: first year or sophomore standing

Richard Townsend
F
CS 15-01
Data Structures

A second course in computer science. Data structures and algorithms are studied through major programming projects. Topics include linked lists, trees, graphs, dynamic storage allocation, and recursion. Enrollment priority given to freshmen or sophomores; computer science majors or minors; or majors or minors that list CS15 as a requirement or elective.

Milod Kazerounian
MW 1:30-2:45
Barnum Dana Complex LL08
CS 15-M1
Data Structures

A second course in computer science. Data structures and algorithms are studied through major programming projects. Topics include linked lists, trees, graphs, dynamic storage allocation, and recursion. Enrollment priority given to freshmen or sophomores; computer science majors or minors; or majors or minors that list CS15 as a requirement or elective.

STAFF
T 7:30p-9:00p
Online
CS 20-01
Web Programming

An introduction to techniques, principles, and practices of writing computer programs for the World Wide Web. Server and browser capabilities and limits. Media types, handlers, and limitations. Web programming languages and techniques. Web security, privacy, and commerce. Lectures augmented with programming projects illustrating concepts and current practice. Students may receive credit for either CS20 or CS120, but not both.

Lisa Diorio
TR 9:00-10:15
Joyce Cummings Center 160
CS 23-01
Game Design

Processes, procedures, methodologies, and principles of game design. Managing teamwork, project scope and user experience. Paper and digital prototyping, including the use of software for programming, art, and audio production. Recommendations: CS 15

Jason Wiser
T 6:00p-9:00p
Joyce Cummings Center 180
CS 30-M1
Programming for Data Science: Programming for Data Science

Fundamentals of programming for data-intensive science. Data structures and algorithms for data manipulation, cleaning, and preparation. Design of data manipulation programs. Coding standards and practices. Use and creation of software libraries. Techniques for improving program performance. Examples drawn from data preparation and transformation, statistical data analysis, machine learning, deep learning, and deep data science including recommendation systems and trend analysis.

STAFF
W 6:00p-7:30p
Online
CS 31-01
Foundations for AI

Foundations of artificial intelligence (AI) from both a programming and mathematical perspective, with a focus on practical applications across a number of disciplines and domains. Techniques and applications of graph search, including heuristic search. Optimization via linear programming, satisfiability solvers, and constraint satisfaction solvers. Basics of probability theory and game theory as used in AI systems. Agent-based systems, including multiagent systems, Markov methods, and reinforcement learning. Human factors including trustworthiness and accountability.

James Skripchuk
TR 12:00-1:15
574 Boston Avenue 204
CS 39-01
Ethics for AI, Robotics

Ethical problems and challenges prompted by current and future technological advances in AI, robotics, and human-robot interaction. Philosophical foundations of the main ethical theories and links between these and algorithmic approaches in artificial agents. Functional tradeoffs and implications for autonomous robots and AI systems, explicating and contrasting the assumptions underlying each algorithmic approach. Moral psychology and human-robot/human-technology interaction, including the societal implications of AI and robot technology. Social, economic, legal, and military ramifications. No graduate enrollment. Graduate students may take CS 239 instead.

Marty Allen
TR 4:30-5:45p
Anderson Wing (TTC) 212
CS 40-01
Mach Struc & Programming

Structure of machine-level data and code, including memory, cache, registers, machine arithmetic, and bitwise operations. Encapsulating machine functionality through interfaces and abstract data types. Structure of assembly code, relocatable object code, and binary machine code, and the translations between them. Applications of machine-level operations and code translations in programming projects. High demand (see "course notes" for signup procedure).

Mark A Sheldon
TR 1:30-2:45
Braker Hall 001
CS 45-01
Computer Organization

(Cross-listed w/ EE 25) Computer organization including performance measurement, instruction set architectures, digital arithmetic, processor datapath, control, pipelining, memory hierarchy, caches and input/output. Prerequisite: ES 4

Mark David Hempstead
MW 1:30-2:45
Halligan Hall 169
CS 61-01
Discrete Mathematics

(Cross-listed as MATH 61). Sets, relations and functions, logic and methods of proof, combinatorics, graphs and digraphs. Recommendations: MATH 32 or COMP 11 or permission of instructor.

Harry Bendekgey, Karen Edwards
MWF 9:30-10:20
Joyce Cummings Center 160
CS 61-02
Discrete Mathematics

(Cross-listed as MATH 61). Sets, relations and functions, logic and methods of proof, combinatorics, graphs and digraphs. Recommendations: MATH 32 or COMP 11 or permission of instructor.

Harry Bendekgey, Karen Edwards
MWF 10:30-11:20
Joyce Cummings Center 160
CS 61-M1
Discrete Mathematics

(Cross-listed as MATH 61). Sets, relations and functions, logic and methods of proof, combinatorics, graphs and digraphs. Recommendations: MATH 32 or COMP 11 or permission of instructor.

STAFF
R 7:30p-9:00p
Online
CS 97-01
Sr Capstone Project I

Requirements analysis and design of a senior capstone project. Requirements analysis and elicitation methods, and prototyping. Design principles and methods, including designing for usability, security, testability, performance, and scaling. Project management and planning, including cost and effort estimation. Writing effective documentation. Recommendations: CS 40 and Senior Standing.

Dave Lillethun, Robert Jacob
F 12:00-2:45
Braker Hall 001
CS 105-01
Programming Languages

Principles and application of computer programming languages. Emphasizes ideas and techniques most relevant to practitioners, but includes foundations crucial for intellectual rigor: abstract syntax, lambda calculus, type systems, dynamic semantics. Case studies, reinforced by programming exercises. Grounding sufficient to read professional literature. CS 80 and CS 105 cannot both be taken for credit.

Richard Townsend
MW 10:30-11:45
Joyce Cummings Center 270
CS 107-01
Compilers

Translation and implementation of programming languages. Parsing, code generation, and optimization. Compiler design projects for simple block-structured programming languages are used to illustrate the concepts and methods.

Guannan Wei
TR 12:00-1:15
Joyce Cummings Center 280
CS 112-01
Networks

Computer Networks and Protocols. Design and implementation of computer communication networks, protocols, and applications, with an emphasis on the Internet protocol suite. Network architectures and programming interfaces. Data link, transport, and routing protocols. Congestion sources and remedies. Addressing and naming in local area and wide area networks. Network security and network management.

Fahad Rafique Dogar
TR 12:00-1:15
Joyce Cummings Center 180
CS 113-01
Human Factors Security &Privcy

Usability and human-computer interaction (HCI) problems of privacy and security. Common HCI methods that can be used to measure usability issues in security and privacy mechanisms. Practical experience understanding and designing studies which evaluate usability issues in security and privacy systems. Course instruction assumes students are familiar with introductory concepts in programing.

Daniel Jared Votipka
MW 3:00-4:15
Joyce Cummings Center 265
CS 115-01
Database Systems

Fundamental concepts of database systems, including conceptual design, relational and object-oriented data models, query languages (SQL, QBE), and implementation issues (indexing, transaction processing, concurrent control). The concepts and algorithms covered encompass many of those used in commercial and experimental database systems. Other topics include distributed databases and distributed query processing. Recommendations: CS 40

Johes Bater
MW 6:00p-7:15p
Joyce Cummings Center 160
CS 115-M1
Database Systems

Fundamental concepts of database systems, including conceptual design, relational and object-oriented data models, query languages (SQL, QBE), and implementation issues (indexing, transaction processing, concurrent control). The concepts and algorithms covered encompass many of those used in commercial and experimental database systems. Other topics include distributed databases and distributed query processing. Recommendations: CS 40

Cody Doucette
M 7:00p-8:30p
Online
CS 116-01
Introduction to Security

A holistic and broad perspective on cyber security. Attacking and defending networks, cryptography, vulnerabilities, reverse engineering, web security, static and dynamic analysis, malware, forensics. Principles illustrated through hands-on labs and projects, including Capture The Flag (CTF) games.

Ming Yan Chow
TR 4:30-5:45p
Barnum Dana Complex 104
CS 116-M1
Introduction to Security

A holistic and broad perspective on cyber security. Attacking and defending networks, cryptography, vulnerabilities, reverse engineering, web security, static and dynamic analysis, malware, forensics. Principles illustrated through hands-on labs and projects, including Capture The Flag (CTF) games.

Ming Yan Chow
W 5:30p-7:00p
Online
CS 117-01
Internet-scale Distributed Sys

Principles and practices in designing large-scale distributed software systems on the Internet and beyond, including core principles of the design of the World-Wide Web. Key issues and fundamental principles are explored, e.g. global uniform naming, location independence, Metcalfe's law and network effects, function placement and the End-to-End principle, extensibility and evolution of distributed systems including Postel’s law, leaky abstractions, etc. Comparison with more traditional distributed system designs, e.g. distributed objects, client/server, publish/subscribe, reliable queuing, and remote procedure calls.

Noah Mendelsohn
TR 4:30-5:45p
Joyce Cummings Center 402
CS 118-01
Cloud Computing

Cloud computing fundamentals, including cloud architecture, scalability, elasticity, and metrics of cloud performance including service-level objectives (SLOs) and service-level agreements (SLAs). Cloud programming models and abstractions including Map/Reduce. Persistent storage mechanisms, including key/value stores and cold storage. Geo-distributed cloud systems. Cloud networking, including data center architecture, software defined networking, and middleboxes. Cloud security.

Raja Raman Sambasivan
MW 4:30-5:45p
Joyce Cummings Center 260
CS 120-M1
Web Programming & Engineering

Web applications as complex systems that deliver functionality to a large number of users, and exhibit unique behaviors and demands in terms of performance, scalability, usability, and security. How the web works, limitations of client-side and server-side technologies including frameworks and APIs, content optimization, and data persistence and storage. Projects will involve search, using the cloud infrastructure, location-based services, mobile web development, and using tools to assess the security and privacy of web applications. Students may receive credit for either CS20 or CS120, but not both.

Lisa Diorio
T 5:30p-7:00p
Online
CS 121-01
Software Engineering

Core principles and ideas that enable development of large-scale software systems, with a focus on programming. Abstraction, modularity, design patterns, specification, testing, verification, debugging, and the use of generative AI.

Jeffrey Foster
MW 3:00-4:15
Joyce Cummings Center 160
CS 121-M1
Software Engineering

Core principles and ideas that enable development of large-scale software systems, with a focus on programming. Abstraction, modularity, design patterns, specification, testing, verification, debugging, and the use of generative AI.

Jeffrey Foster
T 6:00p-7:30p
Online
CS 123-01
Software Performance Engring

Achieving optimal performance from modern computing platforms. Performance analysis, data representation, bit manipulation and vectorization, assembly language, task-parallel programming, work/span analysis, compiler optimization, cache-oblivious algorithms, race conditions and synchronization, nondeterministic programming, and scalable system development.

Dave Lillethun
MW 3:00-4:15
Anderson Wing (TTC) 211
CS 131-01
Artificial Intelligence

History, theory, and computational methods of artificial intelligence. Basic concepts include representation of knowledge and computational methods for reasoning. One or two application areas will be studied, to be selected from expert systems, robotics, computer vision, natural language understanding, and planning.

James Skripchuk
TR 4:30-5:45p
Joyce Cummings Center 180
CS 131-M1
Artificial Intelligence

History, theory, and computational methods of artificial intelligence. Basic concepts include representation of knowledge and computational methods for reasoning. One or two application areas will be studied, to be selected from expert systems, robotics, computer vision, natural language understanding, and planning.

Fabrizio Santini
M 7:30p-9:00p
Online
CS 133-01
Human-Robot Interaction

Human-robot interaction (HRI) at the intersection of psychology, human factors engineering, computer science, and robotics. Case studies of developing robots for various societal tasks, from flexible and adaptive robots for industrial manufacturing, to socially assistive robots for elder care. Discussion of key papers in HRI. Short student presentations on HRI studies and designs; work in interdisciplinary groups on a term project to design and conduct an HRI study. Recommendations: At least one course beyond Math 34, including Math 42, 44, 61, 70, or 72

Reuth Mirsky
TR 9:00-10:15
Joyce Cummings Center 260
CS 135-01
Machine Learning

An overview of methods whereby computers can learn from data or experience and make decisions accordingly. Topics include supervised learning, unsupervised learning, reinforcement learning, and knowledge extraction from large databases with applications to science, engineering, and medicine. Recommendations: CS 160 is highly recommended.

Chris Magnano
TR 9:00-10:15
Barnum Dana Complex LL08
CS 135-M1
Machine Learning

An overview of methods whereby computers can learn from data or experience and make decisions accordingly. Topics include supervised learning, unsupervised learning, reinforcement learning, and knowledge extraction from large databases with applications to science, engineering, and medicine. Recommendations: CS 160 is highly recommended.

Chris Magnano
R 6:00p-7:30p
Online
CS 136-01
Stat Pattern Recognition

Statistical foundations and algorithms for machine learning with a focus on Bayesian modeling. Topics include: classification and regression problems, regularization, model selection, kernel methods, support vector machines, Gaussian processes, graphical models. Recommendations: MATH 70 or 72, EE 104 or MATH 165, and CS 40 or CS 105, or graduate standing

Harry Bendekgey
TR 12:00-1:15
Science and Technology Center 136
CS 138-01
Reinforcement Learning

Agents that learn, plan, and act in complex, uncertain environments. Varying topics that may include practical successes and challenges of reinforcement learning; common software libraries and packages used to implement and test reinforcement learning algorithms, and advanced topics such as transfer learning and deep reinforcement learning. Recommendations: CS 131 and/or CS 135. Proficiency in one of C++, Java, or Python.

Jivko Sinapov
TR 10:30-11:45
Joyce Cummings Center 180
CS 138-M1
Reinforcement Learning

Agents that learn, plan, and act in complex, uncertain environments. Varying topics that may include practical successes and challenges of reinforcement learning; common software libraries and packages used to implement and test reinforcement learning algorithms, and advanced topics such as transfer learning and deep reinforcement learning. Recommendations: CS 131 and/or CS 135. Proficiency in one of C++, Java, or Python.

Julia R. Santaniello
R 7:30p-9:00p
Online
CS 149-01
Information, Inference & Lrng

(Cross-listed as EE 127). Modern methods for inference and learning through the lens of information theory and statistics. Entropy, relative entropy (KL divergence), mutual information, information inequalities, and their operational interpretation in terms of data compression/rate-distortion. Rigorous bridge through large deviations and statistical inference to variational inference, latent variable models such as Variational Auto-Encoders (VAE), and modern diffusion-based generative models. The unifying theme is the interpretation of inference and learning as optimization of information-theoretic objectives, understructural or computational constraints.

Shuchin Aeron
MW 1:30-2:45
Science and Technology Center 136
CS 150-01
Special Topics: Natural Language Processing

An enormous amount of text (news articles, weblog, tweets) is created every day. Natural language processing transforms text into presumably useful data structures, enabling many applications such as real-time event tracking and question answering. In this course, we will study the mathematics and algorithms in NLP to better understand how they do what they do. We will cover a wide range of text analysis methods, include word level (topic and sentiment analysis), syntactical (grammars and parsing), semantic (meanings of words and phrases), and discourse (pronoun resolution and text structure). We will cover both rule-base systems and statistical models. We will code several algorithms applying what we learn in hands-on projects. We will come away with a deeper understanding of how text is processed by a computer. Prerequisite: Completion of COMP 15, COMP 61, linear algebra (MATH 70, MATH 72, or equivalent), and statistics (ES 56, EE 24, or equivalent); or consent of instructor. Completion of COMP 135, COMP 136, or COMP 131 recommended but not required.

STAFF
MW 3:00-4:15
Joyce Cummings Center 610
CS 150-02
Special Topics: Numerical Methods

Numerical Methods for Large-Scale Scientific Computing bridges classical numerical analysis and modern high-performance computing, with applications to real-world PDE-driven problems in engineering and applied science. Topics span discretization, linear solvers, time integration, mesh adaptivity, and scalable parallel algorithms — including MPI/OpenMP parallelism and GPU-accelerated methods. The course culminates in emerging AI/ML-augmented approaches: physics-informed neural networks, neural operators, and data-driven surrogate models.

Hari Sundar
TR 1:30-2:45
Joyce Cummings Center 502
CS 150-03
Special Topics: Advanced AI

Recommended pre-requisites: CS131: Intro to AI and CS135: Intro to Machine Learning

Harry Bendekgey, Matthias Scheutz
TR 9:00-10:15
Joyce Cummings Center 140
CS 150-04
Special Topics: Algorithmic Music Composition

This course will explore music composition methods that use a purely algorithmic approach: examples include running a monte carlo method for a melody, deriving a chord progression from a grammar, or generating a whole piece with a cellular automaton. Students will compose their own pieces of music using these algorithmic techniques, and implement their compositions as programs. This course does not cover software tools for music generation (e.g., garageband, audacity, SuperCollider) nor how computers generate sound fundamentally. Prerequisite: Comfortable reading sheet music in the treble clef and basic music theory knowledge (pitches, rhythm, intervals, keys, scale degrees)

Richard Townsend
MW 1:30-2:45
Joyce Cummings Center 610
CS 150-09
Special Topics: Analysis Mthds Images, Text &

This survey course serves as a broad overview of fundamentals in programming and data analysis as a primer for more technical courses in artificial intelligence (AI) and machine learning (ML), specifically targeted towards non-CS and non-Engineering students. Programming fundamentals in Python (variables, conditionals, loops) for building analysis pipelines. Manipulating and cleaning tabular data using dataframes. Introductory exploratory data analysis and statistical tests. Foundational principles in training and evaluating AI and ML models. Processing and analyzing unstructured data such as text, images, and audio using state-of-the-art pre-trained AI models. Students will gain hands-on experience working with datasets and problems from a variety of different domains. By the end of the course, students will be able to build an analysis workflow for unstructured data for their own research utilizing modern AI tools. No prior experience in programming, AI, or ML is required. However, basic familiarity with summary statistics and an existing programming language or analysis software (e.g SPSS, R, SAS) is highly recommended.

James Skripchuk
F 2:00-4:30
TBA
CS 151-01
Special Topics Data Infrastruc: Disaggragated Systems

This course introduces the fundamentals of disaggregated systems, in which compute, memory, and storage are decoupled from fixed server “boxes” and pooled on demand. The course covers how modern cloud workloads and datacenter operators scale resources to meet real-time demands. Students explore active research directions and apply system design principles to architect and evaluate large-scale, composable infrastructures through targeted readings, homework assignments, and hands-on projects. This course is designed to help students deepen their understanding of system design concepts essential for software engineers. Prerequisites: Comp 40 and knowledge of Operating Systems, Distributed Systems, and Networking are preferred. Link to last year’s website: https://www.cs.tufts.edu/comp/151FDS/

Ankit Bhardwaj
MW 1:30-2:45
Joyce Cummings Center 074
CS 151-02
Special Topics Data Infrastruc: Systems, Security &Public Life

This class explores two connected questions: how the design of computer systems interacts with law, governance, and public life; and how people with technical knowledge can use that knowledge to shape public life in return. Students will study cases in which implementation details matter for social and policy outcomes, with possible topics including privacy and surveillance, cybersecurity, AI, online platforms, and internet infrastructure. Through both technical and policy readings students will learn to analyze public debates about computing with nuance (that is so often missing!) and to propose real interventions of their own. The course culminates in students making a public contribution to a live policy issue. See https://cohney.info/policyclass for details! Prerequisite: CS 15 or equivalent programming and data-structures experience; juniors or higher, or permission of instructor. Recommended: prior coursework in ethics, public policy, STS, or the social context of computing.

STAFF
MW 4:30-5:45p
Joyce Cummings Center 610
CS 152-01
Special Topics Data Analysis: Scientific Machine Learning

Scientific Machine Learning: (in reality the use of Machine Learning and AI for science investigations) SciMl is an integration of traditional scientific computing and machine learning, which combines mechanistic models with data-driven reasoning, presented as a unified set of abstractions and a high-performance implementation. Science usage places different demands on ML tools in terms data availability, constraints and questions of interest and requires new approaches which are often generalizing to other traditional applications. For instance, while traditional deep learning methodologies have had difficulties with scientific issues like stiffness, interpretability, and enforcing physical constraints, this blend with data driven analytics and numerical analysis and differential equations has evolved into a field of research with new methods, architectures, and algorithms which overcome these problems while adding the data-driven automatic learning features of modern deep learning. Many successes have already been found, with tools like physics-informed neural networks, universal differential equations, solvers for high dimensional PDEs, and neural surrogates showcasing how ML/AI can greatly improve scientific modeling practice and support decision making where science must be used e.g. climate adaptation.

Abani Patra
TR 4:30-5:45p
Joyce Cummings Center 610
CS 152-02
Special Topics Data Analysis: AI for Biology

The first half of the course will establish familiarity with general machine learning and deep neural network methods and key problems in modern molecular biology where such algorithms have led to substantial advances. The second half will involve reading and discussing papers describing such systems and participating in a team research and implementation project. Coding assignments using PyTorch, student-driven literature discussions, and project work will offer practical experience in this in-demand area of computational biology. Recommendations: Python proficiency (e.g. CS 30 or CS 135 or DATA 201); basic molecular biology (e.g. BIO 13 plus (BIO 41 or BIO 105 or another BIO course numbered higher than 41). Enrollment permission by department based on background survey; exact experience needed will be tuned to the participating students. The survey can be found here: https://tinyurl.com/5expet28

Donna Slonim
MW 1:30-2:45
Joyce Cummings Center 402
CS 153-01
Spec Tpcs Computational & Theo: Computational Complexity Theor

Computational complexity theory studies the inherent difficulty of computational problems by analyzing the resources required to solve them, such as time, space, randomness, and communication. It provides a mathematical framework for understanding what can be computed efficiently, what is likely intractable, and how different models of computation compare. In this course we will study some advanced topics in computational complexity, including some recent advances. The selection of topics will be partially based on the preferences of the participants. Besides the formal prerequisites, familiarity with probability theory and the material of CS 170 is highly recommended.

Vladimir Podolskii
F 9:00-12:00
Anderson Wing (TTC) 211
CS 153-02
Spec Tpcs Computational & Theo: Generative Models

Generative models have achieved remarkable success across various applications, including Large Language Models (LLMs) and multimodal generative AI. This course introduces the probabilistic foundations of deep generative models and provides hands-on experience in coding these models. We begin with simple distributions, exploring different distribution forms and their sampling procedures. Then, we transition to generative models based on neural networks. While these models are highly flexible and capable of capturing complex distributions, they require specialized learning algorithms for effective training. This course covers a range of these algorithms, with a primary focus on sequential models, diffusion-based models, and flow matching—key techniques underpinning modern generative AI. By the end of the course, students will develop a solid theoretical understanding of generative models and gain practical experience in implementing them. Prerequisites: 1) programming: students should be comfortable with python programs. Students will write plenty of programs with numpy and pytorch in this course. 2) probability theory: students should have knowledge of probability theory, which includes concepts of probability (density) functions, conditional/marginal probabilities, log-likelihood, and simple distributions (uniform, Gaussian distribution). 3) linear algebra and calculus: students should know basic operations over matrices and vectors (eigenvalue decomposition is not needed). Students should know the concepts of gradients and partial derivatives.

Liping Liu
MW 1:30-2:45
Joyce Cummings Center 076
CS 153-03
Spec Tpcs Computational & Theo: AI Planning

Artificial Intelligence Planning (AIP) is a course designed to teach students the principles and applications of planning within artificial intelligence. The course begins with the fundamentals of AI planning, covering how to model problems and represent plans. It then introduces classical planning techniques, discussing topics like graph planning, plan-space planners, and planning as satisfiability (SAT). After covering the basics, the course explores more advanced techniques, including temporal and contingent planning. Students will learn to tackle complex planning challenges in various domains, such as robotics and logistics. Finally, the course examines planning under uncertainty, using probabilistic and stochastic methods. Students will gain insights into designing planning systems that can operate with incomplete information and navigate unpredictable outcomes.

Fabrizio Santini
MW 6:00p-7:15p
Joyce Cummings Center 260
CS 160-01
Algorithms

Introduction to the study of algorithms. Strategies such as divide-and-conquer, greedy methods, and dynamic programming. Graph algorithms, sorting, searching, integer arithmetic, hashing, and NP-complete problems. High demand (see "course notes" for signup procedure).

Karen Edwards
MW 4:30-5:45p
Pearson Laboratory 104
CS 160-M1
Algorithms

Introduction to the study of algorithms. Strategies such as divide-and-conquer, greedy methods, and dynamic programming. Graph algorithms, sorting, searching, integer arithmetic, hashing, and NP-complete problems. High demand (see "course notes" for signup procedure).

Andrew Winslow
R 7:30p-9:00p
Online
CS 162-01
Quantum Computer Science

Elementary-level introduction to the computer science foundations of quantum computing. Hilbert spaces, quantum entanglement, quantum measurements, quantum circuits, quantum protocols and algorithms, Hamiltonians and the ground state problem, and quantum error-correcting codes. Open to students from different areas of engineering and sciences, such as computer science, physics, electrical engineering, mathematics, or chemistry. Focus on the theoretical foundations of quantum computing; mathematical enthusiasm is required. Recommended: CS 160 or CS 170

Saeed Mehraban
TR 4:30-5:45p
Joyce Cummings Center 076
CS 166-01
Computational Systems Biology

(Cross-listed as BME 144) Computational modeling of complex biological systems to analyze their emergent properties and understand or predict system behavior. Molecular and protein modeling in the context of biochemical networks. Application of these models across a select set of applications such as metabolomics, gut microbiome analysis, modularity analysis, flux balance analysis, and biological discovery. Introductions to machine learning, linear systems, and statistical concepts that are commonly used in systems biology.

Soha Hassoun
MW 10:30-11:45
Joyce Cummings Center 074
CS 170-01
Computation Theory

(Cross-listed as MATH 191). Models of computation: Turing machines, pushdown automata, and finite automata. Grammars and formal languages, including context-free languages and regular sets. Important problems, including the halting problem and language equivalence theorems.

Megan Monroe
TR 1:30-2:45
Joyce Cummings Center 270
CS 170-M1
Computation Theory

(Cross-listed as MATH 191). Models of computation: Turing machines, pushdown automata, and finite automata. Grammars and formal languages, including context-free languages and regular sets. Important problems, including the halting problem and language equivalence theorems.

STAFF
T 7:30p-9:00p
Online
CS 171-01
Human Computer Interactn

Introduction to human-computer interaction, or how computers communicate with people. Methodology for designing and testing user interfaces, interaction styles (command line, menus, graphical user interfaces, virtual reality), interaction techniques (voice, gesture, eye movement), design guidelines, and user-interface management system software. Students will design a small user interface, program a prototype, and test the result for usability. Recommendations: CS 15 or junior/senior in CBS major

Jaylin Herskovitz
TR 12:00-1:15
Joyce Cummings Center 265
CS 175-01
Computer Graphics

Fundamentals of computer graphics, including 3D rendering via ray casting and ray tracing, viewing transformations, 3D shape representation, GPU and shader programming, and an introduction to modeling and computer animation. Hands-on learning through in-class labs and programming assignments and an open-ended final project in which students design and implement a graphics application of their choosing. Recommendations: Math 70 Linear Algebra (or background in Linear Algebra) and CS20/120 Web Programming (or working knowledge of JavaScript/HTML).

Remco K Chang
TR 12:00-1:15
Joyce Cummings Center 260
CS 177-01
Visualization

Visualization as a tool for data analysis, recall, inference, and decision-making. Tools for visual description and presentation. Principles of effective visualization, including data-visual mapping, interaction techniques, color theory, cognitive and perceptual psychology, and human factors of visual depictions of data.

Megan Monroe
MW 4:30-5:45p
Joyce Cummings Center 140
CS 182-01
Cyber in the Civilian Sector

(Cross-listed as DHP P236) There is a myth that the Internet erases borders. But as Internet companies’ ability to place localized ads show, that’s false. What’s more accurate is that the Internet complicates a nation’s ability to control of the flow of information within its borders. (This is not a new challenge for sovereign nations; consider the telegraph.) This fluidity has created great economic opportunity and simplified trans-border access, the latter potentially threatening security and other basic state functions. With bits increasingly controlling the world around us, the Digital Revolution poses a highly disruptive threat. In this course, we’ll explore cyber clashes in the civilian sec-tor: from jurisdictional issues and the challenges posed by new technologies to criminal activities and impacts on civil infrastructures. While several of the topics are also covered in International Cyber Conflict: An Introduction to Power and Conflict in Cyberspace, DHP P249, the intersection between the two courses will be relatively minimal. Cyber in the Civilian Sector will have a greater focus on technology and, naturally enough, on the civilian, as opposed to national security, side of the house.

Josephine Wolff
MW 12:00-1:20
Joyce Cummings Center 140
CS 201-01
Cyber for Future Policymakers

(Cross-listed w/ DHP D291) Graduate version of CS 12. Relevance of computer technologies to policy development. Internet architecture and basic networking, the Web, cloud architectures, cryptography, security and privacy, artificial intelligence and machine learning, and open-source systems. Developing technologies, including quantum computing and post-quantum cryptography. Prerequisites: Graduate standing in a discipline other than Computer Science, Data Science, Bioinformatics, Cognitive Science, or Human-Robot Interaction. Recommendation: An introductory course in computer science including programming in any language, roughly equivalent to CS 10 or 11.

Dave Lillethun
TR 12:00-1:15
Joyce Cummings Center 140
F 12:00-1:15
Joyce Cummings Center 610
CS 202-01
How Systems Work

(Cross-listed w/ DHP D292) Graduate version of CS 13. How computing systems work: bits, bytes, the representation of information, the CPU, assembly language, programming languages. Networking: including peering, packets, and the Internet. Algorithms and the fundamental limitations of computing. Recommendations: An introductory course in computer science including programming in any language, roughly equivalent to CS 10 or 11.

Mark A Sheldon
MW 10:30-11:45
Joyce Cummings Center 140
F 10:30-11:45
Joyce Cummings Center 610
CS 250-01
Advanced Special Topics: Career Success for CS students

Content and prerequisites to be announced. Please see departmental website for specific details.

Karen Donoghue
MW 4:30-5:45p
Eaton Hall 201
CS 250-02
Advanced Special Topics: Career Success for CS students

Content and prerequisites to be announced. Please see departmental website for specific details.

Karen Donoghue
MW 4:30-5:45p
Eaton Hall 201
CS 250-03
Advanced Special Topics: Career Success for CS students

Content and prerequisites to be announced. Please see departmental website for specific details.

Karen Donoghue
MW 4:30-5:45p
Eaton Hall 201
CS 260-01
Advanced Algorithms

(Cross-listed as MATH 221) Design and analysis of sequential, parallel, probabilistic, and approximation algorithms. Graph algorithms, sorting, searching, geometric algorithms, mathematical programming, lower bounds, and intractable problems. Recommendations: CS 160

Lenore J Cowen
MW 3:00-4:15
Joyce Cummings Center 076
CS 291-01
Seminar in Computer Science

A weekly seminar with guest speakers discussing research challenges and recent advances in Computer Science. Pass/fail only. Satisfactory completion requires students attend and provide feedback for at least 50% of the seminars.

Johnny Redmond, Sandra Schulenburg
R 3:00-4:15
Joyce Cummings Center 160
CS 291-02
Seminar in Computer Science

A weekly seminar with guest speakers discussing research challenges and recent advances in Computer Science. Pass/fail only. Satisfactory completion requires students attend and provide feedback for at least 50% of the seminars.

Jivko Sinapov
F 1:30-2:30
Joyce Cummings Center 435
DS 97-01
Sr Capstone Proj in Data Sci I

Application of data science and analytic principles to the solution of a real-world problem in a group setting. Requirements analysis, review of available data sources, and proposal of a solution strategy to the problem.

Chris Magnano
F 9:00-11:30
Halligan Hall 169
DS 143-01
Data Sci for Sustainability

(Cross-listed w/ CEE 0132 and ME 173). Emerging topics in data science and statistical learning with applications to the three pillars of sustainability (environmental, economic, and social). Building, estimating and interpreting models used in energy and environmental decision-making with emphasis on social justice. Development of critical consumers and responsible producers of data-driven analysis through: learning a suite of data-driven modeling and prediction tools; building the programming and computing expertise to use those tools; and, developing the ability to formulate analyses to answer questions pertaining to sustainability.

Deborah Sunter
T 4:30-7:15p
Anderson Wing (TTC) 208
DS 153-02
Special Topics Computational: Generative Models

Students wishing to enroll in for Generative Models should register for under CS 153-02.

Liping Liu
MW 1:30-2:45
Joyce Cummings Center 076