| EN 1-02 |
Applications in Engineering: Intro to Renewable EnergyIntroduction 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/ |
TR 1:30-2:45 Halligan Hall 109 |
| ES 2-04 |
Intro To Computing In EnComputational fluency through common code concepts, data types and data structures, program flow, and algorithmic implementation. Application to engineering projects including mathematical operations, numerical error calculations, and real-world data analysis. Data science concepts exploring data cleansing, descriptive statistics, analysis and visualization of data sets, and modeling and optimization of physical systems through code. Sociotechnical case studies explore the implications of computing and engineering design choices. Students may receive credit for either ES 2 or CS 10, but not both. Students cannot receive credit for ES2 subsequent to earning credit for CS 11 or CS 15. Recommendation: MATH 32 |
TRF 10:30-11:45 Anderson Wing (TTC) 208 |
| ES 85-CS |
Prof Prep for Co-op EducationIntroduction to work-based learning, strategies to optimize work experience and learn skills and habits to best transition into a professional work environment. Writing an effective resume, strategic interviewing, professional networking strategies, and developing a list of goals to achieve and skills to develop in a professional environment. Effective approaches to oral and written communications. |
W 3:00-4:15 Pearson Laboratory 106 |
| 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 007 |
| 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 1:30-2:45 Barnum Dana Complex LL08 |
| 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 10:30-11:45 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 12:00-1:15 Joyce Cummings Center 270 |
| 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 |
|
| 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 10:30-11:45 Barnum Dana Complex LL08 |
| CS 15-02 |
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 3:00-4:15 Robinson Wing (TTC) 253 |
| 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. |
W 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. |
MW 9:00-10:15 Joyce Cummings Center 170 |
| 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 160 |
| CS 27-01 |
How Systems FailFailure of computer systems within the larger context of complex systems, including the power grid and aviation. Failures of algorithms and protocols, engineering and implementation, systems and applications, people and culture. Attacks, attack recovery, security, privacy, and attribution. Case studies of failures and attacks, including distributed denial of service, Meltdown, Spectre, and spear-phishing attacks. |
MW 6:00p-7:15p Joyce Cummings Center 270 |
| CS 28-01 |
Cyber-Security & Cyber-Warfare(Cross-listed as PS 164) An interdisciplinary analysis of cybersecurity and cyberwar in the United States and other countries. Policymaking and intelligence aspects of cybersecurity and political science and the technical constraints of computer networks and software. Exploit methods including packet analysis, password cracking, social engineering, reconnaissance, and malware analysis. State-backed and non-state actors engaged in cyber-espionage, counterintelligence, deterrence, and offensive cyber-operations. Prerequisites: Political Science 61 or Computer Science 11. |
TR 1:30-2:45 Joyce Cummings Center 265 |
| 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 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 Robinson Wing (TTC) 253 |
| 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 5:30p-7:00p Online |
| CS 98-01 |
Sr Capstone Project IIImplementation and testing of the project designed in CS 97. Implementation tools, strategies, and platforms. Testing and debugging methodologies. Maintenance and release management. Legal, ethical, and social impacts of computing. Students must have taken CS 97 the previous semester and be continuing the same project. |
F 12:00-2:45 Barnum Dana Complex 104 |
| 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 3:00-4:15 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 4:30-5:45p Joyce Cummings Center 140 |
| CS 110-01 |
Debugging Cloud ComputingExamination of the causes of problems in cloud datacenters. Read, analyze, and conduct research on tools and techniques to diagnose cloud problems, using domain knowledge, machine learning, and statistics. Includes an introduction to cloud computing and distributed systems. Recommended: One of CS 111, CS 112, CS 117, or CS 118 |
MW 4:30-5:45p Joyce Cummings Center 260 |
| CS 111-01 |
Operating Systems(Cross-listed as EE 128). Fundamental issues in operating system design. Concurrent processes: synchronization, sharing, deadlock, scheduling. Relevant hardware properties of uniprocessor and multiprocessor computer systems. |
MW 1:30-2:45 Joyce Cummings Center 170 |
| CS 111-M1 |
Operating Systems(Cross-listed as EE 128). Fundamental issues in operating system design. Concurrent processes: synchronization, sharing, deadlock, scheduling. Relevant hardware properties of uniprocessor and multiprocessor computer systems. |
R 6:00p-7:30p Online |
| CS 114-01 |
Network SecurityVulnerabilities, attacks, and mitigations at all layers of the network stack. Public and private key cryptography, confidentiality and authentication protocols, botnets, firewalls, intrusion detection systems, and communication privacy and anonymity. Recommendations: CS 40. |
MW 10:30-11:45 Joyce Cummings Center 170 |
| 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 |
M 7:00p-8:30p No Room Assigned |
| 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 |
T 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 Pearson Laboratory 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 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. |
M 5:30p-7:00p Online |
| 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, and debugging. |
M 7:00p-8:30p Online |
| CS 122-01 |
Parallel Computing(Cross-listed as EE 155) Programming modern parallel computer architectures, especially GPUs and multi-core CPUs. Rationale for modern multi-core CPUs. Challenges of multi-threaded programming. High-performance software taking advantage of hardware caches, cache coherency, memory systems and parallel computation. Recommendations: EE 25 or CS 40. |
MW 1:30-2:45 Science and Technology Center 136 |
| 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. |
MW 4:30-5:45p Joyce Cummings Center 170 |
| 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 132-01 |
Computer VisionIntroduction to low and intermediate levels of classic and modern Computer Vision. How to design algorithms that process visual scenes to automatically extract information. Fundamental principles and important applications of computer vision, including image formation, processing, detection and matching features, image segmentation, and multiple views. Basics of machine learning and deep learning for computer vision. Recommendations: CS 160 and Math 165 |
MW 6:00p-7:15p Joyce Cummings Center 265 |
| CS 135-01 |
Intro 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 104 |
| CS 135-02 |
Intro 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 12:00-1:15 Barnum Dana Complex LL08 |
| CS 135-M1 |
Intro 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. |
M 8:00p-9:30p Online |
| CS 137-01 |
Deep Neural NetworksDeep neural networks and their applications including computer vision and natural language processing. Feed-forward, convolutional, and recurrent neural networks. Techniques for training deep neural networks, including optimization, regularization, and usage of related software. Recommendations: CS 135, MATH 42, and MATH 70. |
MW 1:30-2:45 Barnum Dana Complex 104 |
| CS 141-01 |
Probabilistic RoboticsTechniques for probabilistic state estimation and their application to problems such as robot localization, mapping, perception, and planning in the context of Human-Robot Interaction. Machine learning and computer vision techniques commonly used by robots interacting with humans. Recommendations: Proficiency in C/C++ or Python |
TR 10:30-11:45 Joyce Cummings Center 265 |
| CS 145-01 |
Bayesian Deep LearningModern deep learning methods (scalable gradient-based training of flexible neural networks for regression and classification) and modern Bayesian statistical methods. Estimating probabilities and making decisions under uncertainty, using these methods. Modeling innovations (e.g., models for functions and deep generative models), learning paradigms (e.g. MCMC and variational inference), and probabilistic programming platforms (e.g., JAX, PyTorch, Tensorflow, PyMC3). Coding exercises, student-led discussion of recent literature, and a long-term self-designed research project. Designing, implementing, and evaluating new contributions in this exciting research space. |
TR 12:00-1:15 Joyce Cummings Center 265 |
| CS 150-01 |
Special Topics: Multi-Agent SystemsEveryone's hyping "Agentic AI", but most can't even define what an agent is. This course cuts through the buzz, giving you the foundations and frontiers of multi-agent systems: from game theory and multi-agent planning to LLMs as agents, theory of mind, and intelligent disobedience. By the end of this course, you should be able to: 1. Define a multi-agent system problem in a new domain and offer suitable solution approaches. 2. Identify to what extent an "Agentic AI" is truly agentic, and how it might be improved. 3. Implement various frameworks of multiple agents. |
MW 9:00-10:15 Joyce Cummings Center 265 |
| CS 150-02 |
Special Topics: Anon Communications TheoryWe know how to communicate a message so that only the recipient can read the message. (We can encrypt the message.) But how can we communicate over the Internet without anyone learning who we are communicating with? Anonymous channels can help the Iranian protester who wishes to inform the world what is happening in the streets of Tehran by tweeting videos and the netizen in Moscow who wants to read the BBC news (currently banned in Russia). We could use Tor (i.e., “The onion router,” inspired by Chaum's onion routing idea) or VPN, but both are easily blocked, and neither guarantees privacy from the adversary with a full view of the network traffic (e.g., a standard model for a resourceful ISP- or AS-level adversary). In this course, we present cryptography-style definitions of anonymity and study state-of-the-art techniques for achieving provable anonymity. |
F 10:00-1:00 Eaton Hall 201 |
| CS 150-03 |
Special Topics: Generative AI for Social ImpacThis course explores the potential of generative AI technologies in addressing critical social challenges, with a particular focus on marginalized communities. Through case studies and real-world applications, we will investigate how AI-driven solutions can positively impact diverse areas such as healthcare, education, gender equity, accessibility, and governance. Students will gain a broad understanding of key technical tools in using large language models (prompt engineering, context management, retrieval augmented generation (RAG), agentic workflows, etc) while also examining human-centered considerations around ethics, fairness, bias, and inclusivity. A central component of the course is a semester-long, hands-on project that challenges students to design and implement generative AI solutions tailored to the needs of underserved populations. |
MW 10:30-11:45 Joyce Cummings Center 260 |
| CS 150-04 |
Special Topics: Special Topics in Quantum InfoThis is a graduate seminar focusing on special topics in quantum computing and information science. The primary goal of this seminar is to prepare enthusiastic students to explore the literature and perform research in this field. Depending on student interest, potential topics include but are not limited to special topics on quantum algorithms, quantum error-correction, post-quantum cryptography, quantum complexity classes, Hamiltonian complexity and nonlocal games. One of the main objectives of this course is to train students to perform research at the forefront of the field. There are assignments but not exams. Each student in the course will complete a project related to the topics of the course, contribute and lead class discussions, give presentations and write a comprehensive report about the topic. Enthusiastic undergraduate students from fields such as CS, math, and physics are welcome to join this class. Students from CS, mathematics, and physics can benefit from this class. |
TR 4:30-5:45p Joyce Cummings Center 180 |
| CS 150-05 |
Special Topics: Artificial Agents & AutoThe goal of the course is to ask key foundational questions about the nature of artificial agents prompted by recent developments in generative AI and use computational methods for investigating—and potentially answering--questions such as “Do gen AI models like large language models (LLMs) or vision language models (VLMs) have semantics and understanding?”, “Does embodying gen AI models, e.g., in the form of vision-language-action models (VLAs) solve the symbol grounding problem?”, “Do AI agents incorporating such models have genuine intent, desires, goals, etc.?”, “Can such models be conscious, self-aware, etc. in any deep sense?”, “What notion of autonomy applies to such models, in particular, those dubbed 'agentive AI'?”, and others. Students will read and discuss in class foundational papers in generative AI and philosophy of AI and computation. These papers will help students to build a foundational understanding that will enable them to devise computational approaches to chip away at some of those pressing questions about artificial agents through a semester-long course project. While students are encouraged to collaborate, they will have to develop their own ideas and computational models, culminating in a term paper (which for graduate students could be submitted to a main AI conference). To encourage engagement with the material and interactions among students outside of class, all students will also keep a weekly diary (on Canvas) where they will post their thoughts about the texts, questions and ideas for investigations, other interesting information such as relevant papers or talks, etc. which are shared with the whole class and allow anybody in class to comment. |
T 10:30-1:00 Joyce Cummings Center 435 |
| CS 150-06 |
Special Topics: Sports AnalyticsThis course plots the various intersection points between Sports Analytics and Computer Science, including pit stops in machine learning, computer vision, and computational geometry among others. Students will get hands-on experience working with real data and real problems for which there may or may not be absolute right or wrong answers. Assessments will be based on the students' ability to correctly implement the empirical strategies discussed in class, clearly explain their methods, and creatively transform raw data into actionable insights. Prerequisite: Basic working knowledge of major US sports such as Baseball, Football, Soccer, and Basketball is assumed. |
TR 9:00-10:15 Joyce Cummings Center 280 |
| CS 150-07 |
Special Topics: Entrepreneurship for Comp Sci.This is an introductory entrepreneurship course for computer science students. The course provides an overview of entrepreneurship, develops an entrepreneurial perspective, and provides a framework for learning the fundamentals of the essential elements of entrepreneurial ventures, specifically directed toward software-related industries and products. Students learn how to develop their technical ideas into potential business opportunities, and to explore their likelihood of becoming viable businesses. They learn how to do market research, to develop go-to-market strategies, value propositions and to differentiate their products or services from actual or potential competitors. The course consists of a balance of lectures, projects, case studies and interaction with entrepreneurs and computer scientists who participate in entrepreneurial organizations. |
T 5:15p-8:15p Tisch Library 316 |
| CS 150-08 |
Special Topics: MITRE eCTFContent and prerequisites to be announced. Over the past three years, special topics courses have been offered in parallel computing, graph drawing, computational geometry, multimedia data compression, cryptography and security, digital network communication, spoken language systems, system and network administration, and machine learning. Please see departmental website for specific details. |
|
| CS 150-09 |
Special Topics: Introduction to ROSContent and prerequisites to be announced. Over the past three years, special topics courses have been offered in parallel computing, graph drawing, computational geometry, multimedia data compression, cryptography and security, digital network communication, spoken language systems, system and network administration, and machine learning. Please see departmental website for specific details. |
MW 3:00-4:15 Joyce Cummings Center 435 |
| CS 150-10 |
Special Topics: Analysis Mthds Images, Text &Data analysis is often done on structured data - data with clearly defined objects, features, and labels that fit neatly into a spreadsheet. However, traditional approaches struggle when trying to extract insight from large amounts of unstructured data - such as collections of images, audio, and text. Recent advances in machine learning and pre-trained AI models provide a new set of tools for analyzing and processing these types of data at scale. This pilot course provides a practical introduction to collecting, exploring, processing, and analyzing unstructured data using modern workflows and tools in Python and R. This course will give students hands-on practice on common tasks and workflows for different types of unstructured data (e.g. object detection in images, detecting sounds and speech in audio recordings, extracting relationships from a corpus of documents or records). Primary focus will be on image and text processing; however, later sessions will be responsive and guided by student interest, with students being able to bring in their own data from existing projects. By the end of the course, students will be able to build an analysis workflow for unstructured data for their own research. This course is geared towards non-CS and non-Engineering graduate students who have a working knowledge of basic statistics and data analysis, as well as basic familiarity with a programming language (such as Python or R). |
F 1:00-2:00 TBA |
| 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). |
TR 9:00-10:15 Joyce Cummings Center 270 |
| CS 160-02 |
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). |
|
| 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 5:30p-7:30p Online |
| CS 167-01 |
Computational Biology(Cross listed as BME 167) Computational challenges in molecular biology, including sequence alignment and comparison, genomic annotation, transcriptomic data analysis, and proteomics. Underlying computational techniques such as dynamic programming, hidden Markov models, statistical analyses, and search and optimization procedures. |
TR 12:00-1:15 Joyce Cummings Center 260 |
| CS 168-01 |
Convex Optimization(Cross-listed with EE 109) Convex optimization theory and algorithms. Convex sets, convex functions and convex optimization problems; duality theory and optimality conditions; algorithms for solving convex problems including descent, gradient descent, Newton and interior point methods. Examples of applications taken from communications, signal processing, machine learning and other fields. Students may receive credit for only one of the following courses: EE109, EE159, or CS169 |
TR 10:30-11:45 Joyce Cummings Center 610 |
| 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. |
W 5:30p-7: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 |
MW 1:30-2:45 Joyce Cummings Center 180 |
| CS 172-01 |
HCI for DisabilityResearch exploration of human-computer interaction (HCI) applied to meet the needs of users with disabilities. Approaches include assistive technology and accessibility. Academic papers from the HCI community, personal narratives from disabled people, and readings from disability studies literature. Final project. Recommendations: CS 171, CS 133, or another course in HCI or a related area. Also, a prior course that involves substantial reading of the academic literature. |
MW 3:00-4:15 Joyce Cummings Center 160 |
| CS 178-01 |
Visual AnalyticsThe science of combining interactive visual interfaces with data science, machine learning, and AI algorithms to support analytical reasoning. Principles, approaches, and tools for deriving insight from large, dynamic, ambiguous, and often conflicting data, and communicating findings effectively to aid in decision-making. Theoretical foundations illustrated via applying and developing visual analytics tools, as well as evaluating the effectiveness of these tools. Recommendations: CS 20 or 120. |
TR 1:30-2:45 Joyce Cummings Center 260 |
| CS 179-01 |
Experimental Methods for EngrsDesign, execution, and analysis of experiments involving both human participants and machine systems. Theoretical underpinnings of experimental methods, as well as practical aspects. Applications in human-computer interaction, robotics, AI, and systems engineering. Experimental design principles, data collection and statistical analysis methods, and ethical research practices. Final project including experimentation. Recommendation: prior coursework in statistics |
TR 9:00-10:15 Eaton Hall 171 |
| CS 183-01 |
Privacy in the Digital Age(Cross-listed with DHP P237) This module will provide an introduction to the threats to and protections for privacy in the digital age, examining public and private sector threats, and looking at issues from an international point of view. Topics to be covered include privacy threat models, location tracking and first and third party collection by private parties, government threats to privacy, and privacy protective technologies. No programming background needed, but a willingness and interest to play with digital tools is required. |
W 3:00-5:20p Cabot Center 205 |
| CS 203-01 |
How Systems Fail(Cross-listed w/ DHP D293) Graduate version of CS 27. Failure of computer systems within the larger context of complex systems, including the power grid and aviation. Failures of algorithms and protocols, engineering and implementation, systems and applications, people and culture. Attacks, attack recovery, security, privacy, and attribution. Case studies of failures and attacks, including distributed denial of service, Meltdown, Spectre, and spear-phishing attacks. |
MW 6:00p-7:15p Joyce Cummings Center 270 F 1:30-2:45 TBA |
| CS 250-01 |
Advanced Special Topics: Seminar in Comp MetablomicsContent and prerequisites to be announced. Please see departmental website for specific details. |
T 1:30-2:45 Joyce Cummings Center 610 F 10:30-11:45 Joyce Cummings Center 610 |
| 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 270 |
| 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 Anderson Wing (TTC) 206 |
| DS 98-01 |
Sr Capstone Proj Data Sci IIA continuation of DS 97. Analysis of the problem proposed in DS 97 is completed and a final paper summarizes data gathered, analytic results, lessons learned, and opportunities for future study. |
TR 1:30-2:45 No Room Assigned |
| 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) 312 |
| DS 153-02 |
Special Topics Computational: Anon Communications TheoryWe know how to communicate a message so that only the recipient can read the message. (We can encrypt the message.) But how can we communicate over the Internet without anyone learning who we are communicating with? Anonymous channels can help the Iranian protester who wishes to inform the world what is happening in the streets of Tehran by tweeting videos and the netizen in Moscow who wants to read the BBC news (currently banned in Russia). We could use Tor (i.e., “The onion router,” inspired by Chaum's onion routing idea) or VPN, but both are easily blocked, and neither guarantees privacy from the adversary with a full view of the network traffic (e.g., a standard model for a resourceful ISP- or AS-level adversary). In this course, we present cryptography-style definitions of anonymity and study state-of-the-art techniques for achieving provable anonymity. |
F 10:00-1:00 Eaton Hall 201 |
| DS 153-03 |
Special Topics Computational: Generative AI for Social ImpacThis course explores the potential of generative AI technologies in addressing critical social challenges, with a particular focus on marginalized communities. Through case studies and real-world applications, we will investigate how AI-driven solutions can positively impact diverse areas such as healthcare, education, gender equity, accessibility, and governance. Students will gain a broad understanding of key technical tools in using large language models (prompt engineering, context management, retrieval augmented generation (RAG), agentic workflows, etc) while also examining human-centered considerations around ethics, fairness, bias, and inclusivity. A central component of the course is a semester-long, hands-on project that challenges students to design and implement generative AI solutions tailored to the needs of underserved populations. |
MW 10:30-11:45 Joyce Cummings Center 260 |
| DS 153-04 |
Special Topics Computational: Multi-Agent SystemsEveryone's hyping "Agentic AI", but most can't even define what an agent is. This course cuts through the buzz, giving you the foundations and frontiers of multi-agent systems: from game theory and multi-agent planning to LLMs as agents, theory of mind, and intelligent disobedience. By the end of this course, you should be able to: 1. Define a multi-agent system problem in a new domain and offer suitable solution approaches. 2. Identify to what extent an "Agentic AI" is truly agentic, and how it might be improved. 3. Implement various frameworks of multiple agents. |
MW 9:00-10:15 Joyce Cummings Center 265 |
| DS 153-05 |
Special Topics Computational: Special Topics in Quantum InfoThis is a graduate seminar focusing on special topics in quantum computing and information science. The primary goal of this seminar is to prepare enthusiastic students to explore the literature and perform research in this field. Depending on student interest, potential topics include but are not limited to special topics on quantum algorithms, quantum error-correction, post-quantum cryptography, quantum complexity classes, Hamiltonian complexity and nonlocal games. One of the main objectives of this course is to train students to perform research at the forefront of the field. There are assignments but not exams. Each student in the course will complete a project related to the topics of the course, contribute and lead class discussions, give presentations and write a comprehensive report about the topic. Enthusiastic undergraduate students from fields such as CS, math, and physics are welcome to join this class. Students from CS, mathematics, and physics can benefit from this class. |
TR 4:30-5:45p Joyce Cummings Center 180 |
| DS 153-06 |
Special Topics Computational: Artificial Agents & AutoThe goal of the course is to ask key foundational questions about the nature of artificial agents prompted by recent developments in generative AI and use computational methods for investigating—and potentially answering--questions such as “Do gen AI models like large language models (LLMs) or vision language models (VLMs) have semantics and understanding?”, “Does embodying gen AI models, e.g., in the form of vision-language-action models (VLAs) solve the symbol grounding problem?”, “Do AI agents incorporating such models have genuine intent, desires, goals, etc.?”, “Can such models be conscious, self-aware, etc. in any deep sense?”, “What notion of autonomy applies to such models, in particular, those dubbed 'agentive AI'?”, and others. Students will read and discuss in class foundational papers in generative AI and philosophy of AI and computation. These papers will help students to build a foundational understanding that will enable them to devise computational approaches to chip away at some of those pressing questions about artificial agents through a semester-long course project. While students are encouraged to collaborate, they will have to develop their own ideas and computational models, culminating in a term paper (which for graduate students could be submitted to a main AI conference). To encourage engagement with the material and interactions among students outside of class, all students will also keep a weekly diary (on Canvas) where they will post their thoughts about the texts, questions and ideas for investigations, other interesting information such as relevant papers or talks, etc. which are shared with the whole class and allow anybody in class to comment. |
T 10:30-1:00 Joyce Cummings Center 435 |
| DS 153-07 |
Special Topics Computational: Sports AnalyticsThis course plots the various intersection points between Sports Analytics and Computer Science, including pit stops in machine learning, computer vision, and computational geometry among others. Students will get hands-on experience working with real data and real problems for which there may or may not be absolute right or wrong answers. Assessments will be based on the students' ability to correctly implement the empirical strategies discussed in class, clearly explain their methods, and creatively transform raw data into actionable insights. Prerequisite: Basic working knowledge of major US sports such as Baseball, Football, Soccer, and Basketball is assumed. |
TR 9:00-10:15 Joyce Cummings Center 280 |
| DS 153-08 |
Special Topics Computational: MITRE eCTFA special topics course in computational and theoretical aspects of data science, suitable for fulfilling requirements of the Bachelor of Science in Data Science. |
|
fall 2025