| EN 1-08 |
Applications in Engineering: Simple RoboticsIntroduction 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/ |
MWF 10:30-11:45 Joyce Cummings Center 265 |
| EN 1-18A |
Applications in Engineering: Exploring Computer ScienceIntroduction 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/ |
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 ScienceIntroduction 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/ |
T 9:00-10:15 Anderson Wing (TTC) 210 R 9:00-10:15 Joyce Cummings Center 235 |
| CS 4-01 |
Teaching Computer ScienceMechanics 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. |
R 4:30-7:30p Olin Center 012 |
| CS 5-01 |
Special Topics for non-majors: Career Success for CS studentsContent and prerequisites to be announced. Please see department website for specific details. |
MW 4:30-5:45p Eaton Hall 201 |
| CS 5-02 |
Special Topics for non-majors: Career Success for CS studentsContent and prerequisites to be announced. Please see department website for specific details. |
MW 4:30-5:45p Eaton Hall 201 |
| CS 5-03 |
Special Topics for non-majors: Career Success for CS studentsContent and prerequisites to be announced. Please see department website for specific details. |
MW 4:30-5:45p Eaton Hall 201 |
| CS 10-01 |
Programming FundamentalsFundamental 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 |
MW 3:00-4:15 Joyce Cummings Center 270 |
| CS 11-01 |
Intro Computer ScienceThe 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. |
TR 12:00-1:15 Joyce Cummings Center 270 |
| CS 11-02 |
Intro Computer ScienceThe 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. |
TR 10:30-11:45 Joyce Cummings Center 270 |
| CS 11-M1 |
Intro Computer ScienceThe 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. |
M 7:30p-9:00p Online |
| CS 12-01 |
Cyber for Future PolicymakersRelevance 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. |
TR 12:00-1:15 Joyce Cummings Center 140 |
| CS 13-01 |
How Systems WorkHow 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. |
MW 10:30-11:45 Joyce Cummings Center 140 |
| CS 14-01 |
Emerging Scholars Comp SciWeekly, 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 |
F |
| CS 15-01 |
Data StructuresA 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. |
MW 1:30-2:45 Barnum Dana Complex LL08 |
| CS 15-M1 |
Data StructuresA 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. |
T 7:30p-9:00p Online |
| CS 20-01 |
Web ProgrammingAn 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. |
TR 9:00-10:15 Joyce Cummings Center 160 |
| CS 23-01 |
Game DesignProcesses, 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 |
T 6:00p-9:00p Joyce Cummings Center 180 |
| CS 30-M1 |
Programming for Data Science: Programming for Data ScienceFundamentals 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. |
W 6:00p-7:30p Online |
| CS 31-01 |
Foundations for AIFoundations 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. |
TR 12:00-1:15 574 Boston Avenue 204 |
| CS 39-01 |
Ethics for AI, RoboticsEthical 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. |
TR 4:30-5:45p Anderson Wing (TTC) 212 |
| CS 40-01 |
Mach Struc & ProgrammingStructure 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). |
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 |
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. |
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. |
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. |
R 7:30p-9:00p Online |
| CS 97-01 |
Sr Capstone Project IRequirements 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. |
F 12:00-2:45 Braker Hall 001 |
| CS 105-01 |
Programming LanguagesPrinciples 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. |
MW 10:30-11:45 Joyce Cummings Center 270 |
| CS 107-01 |
CompilersTranslation 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. |
TR 12:00-1:15 Joyce Cummings Center 280 |
| CS 112-01 |
NetworksComputer 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. |
TR 12:00-1:15 Joyce Cummings Center 180 |
| CS 113-01 |
Human Factors Security &PrivcyUsability 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. |
MW 3:00-4:15 Joyce Cummings Center 265 |
| CS 115-01 |
Database SystemsFundamental 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 |
MW 6:00p-7:15p Joyce Cummings Center 160 |
| CS 115-M1 |
Database SystemsFundamental 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 |
M 7:00p-8:30p Online |
| CS 116-01 |
Introduction to SecurityA 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. |
TR 4:30-5:45p Barnum Dana Complex 104 |
| CS 116-M1 |
Introduction to SecurityA 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. |
W 5:30p-7:00p Online |
| CS 117-01 |
Internet-scale Distributed SysPrinciples 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. |
TR 4:30-5:45p Joyce Cummings Center 402 |
| CS 118-01 |
Cloud ComputingCloud 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. |
MW 4:30-5:45p Joyce Cummings Center 260 |
| CS 120-M1 |
Web Programming & EngineeringWeb 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. |
T 5:30p-7:00p Online |
| CS 121-01 |
Software EngineeringCore 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. |
MW 3:00-4:15 Joyce Cummings Center 160 |
| CS 121-M1 |
Software EngineeringCore 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. |
T 6:00p-7:30p Online |
| CS 123-01 |
Software Performance EngringAchieving 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. |
MW 3:00-4:15 Anderson Wing (TTC) 211 |
| CS 131-01 |
Artificial IntelligenceHistory, 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. |
TR 4:30-5:45p Joyce Cummings Center 180 |
| CS 131-M1 |
Artificial IntelligenceHistory, 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. |
M 7:30p-9:00p Online |
| CS 133-01 |
Human-Robot InteractionHuman-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 |
TR 9:00-10:15 Joyce Cummings Center 260 |
| CS 135-01 |
Machine LearningAn 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. |
TR 9:00-10:15 Barnum Dana Complex LL08 |
| CS 135-M1 |
Machine LearningAn 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. |
R 6:00p-7:30p Online |
| CS 136-01 |
Stat Pattern RecognitionStatistical 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 |
TR 12:00-1:15 Science and Technology Center 136 |
| CS 138-01 |
Reinforcement LearningAgents 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. |
TR 10:30-11:45 Joyce Cummings Center 180 |
| CS 138-M1 |
Reinforcement LearningAgents 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. |
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. |
MW 1:30-2:45 Science and Technology Center 136 |
| CS 150-01 |
Special Topics: Natural Language ProcessingAn 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. |
MW 3:00-4:15 Joyce Cummings Center 610 |
| CS 150-02 |
Special Topics: Numerical MethodsNumerical 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. |
TR 1:30-2:45 Joyce Cummings Center 502 |
| CS 150-03 |
Special Topics: Advanced AIRecommended pre-requisites: CS131: Intro to AI and CS135: Intro to Machine Learning |
TR 9:00-10:15 Joyce Cummings Center 140 |
| CS 150-04 |
Special Topics: Algorithmic Music CompositionThis 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) |
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. |
F 2:00-4:30 TBA |
| CS 151-01 |
Special Topics Data Infrastruc: Disaggragated SystemsThis 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/ |
MW 1:30-2:45 Joyce Cummings Center 074 |
| CS 151-02 |
Special Topics Data Infrastruc: Systems, Security &Public LifeThis 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. |
MW 4:30-5:45p Joyce Cummings Center 610 |
| CS 152-01 |
Special Topics Data Analysis: Scientific Machine LearningScientific 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. |
TR 4:30-5:45p Joyce Cummings Center 610 |
| CS 152-02 |
Special Topics Data Analysis: AI for BiologyThe 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 |
MW 1:30-2:45 Joyce Cummings Center 402 |
| CS 153-01 |
Spec Tpcs Computational & Theo: Computational Complexity TheorComputational 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. |
F 9:00-12:00 Anderson Wing (TTC) 211 |
| CS 153-02 |
Spec Tpcs Computational & Theo: Generative ModelsGenerative 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. |
MW 1:30-2:45 Joyce Cummings Center 076 |
| CS 153-03 |
Spec Tpcs Computational & Theo: AI PlanningArtificial 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. |
MW 6:00p-7:15p Joyce Cummings Center 260 |
| CS 160-01 |
AlgorithmsIntroduction 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). |
MW 4:30-5:45p Pearson Laboratory 104 |
| CS 160-M1 |
AlgorithmsIntroduction 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). |
R 7:30p-9:00p Online |
| CS 162-01 |
Quantum Computer ScienceElementary-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 |
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. |
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. |
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. |
T 7:30p-9:00p Online |
| CS 171-01 |
Human Computer InteractnIntroduction 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 |
TR 12:00-1:15 Joyce Cummings Center 265 |
| CS 175-01 |
Computer GraphicsFundamentals 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). |
TR 12:00-1:15 Joyce Cummings Center 260 |
| CS 177-01 |
VisualizationVisualization 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. |
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. |
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. |
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. |
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 studentsContent and prerequisites to be announced. Please see departmental website for specific details. |
MW 4:30-5:45p Eaton Hall 201 |
| CS 250-02 |
Advanced Special Topics: Career Success for CS studentsContent and prerequisites to be announced. Please see departmental website for specific details. |
MW 4:30-5:45p Eaton Hall 201 |
| CS 250-03 |
Advanced Special Topics: Career Success for CS studentsContent and prerequisites to be announced. Please see departmental website for specific details. |
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 |
MW 3:00-4:15 Joyce Cummings Center 076 |
| CS 291-01 |
Seminar in Computer ScienceA 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. |
R 3:00-4:15 Joyce Cummings Center 160 |
| CS 291-02 |
Seminar in Computer ScienceA 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. |
F 1:30-2:30 Joyce Cummings Center 435 |
| DS 97-01 |
Sr Capstone Proj in Data Sci IApplication 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. |
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. |
T 4:30-7:15p Anderson Wing (TTC) 208 |
| DS 153-02 |
Special Topics Computational: Generative ModelsStudents wishing to enroll in for Generative Models should register for under CS 153-02. |
MW 1:30-2:45 Joyce Cummings Center 076 |
summer 2026