Updated on Mar 8, 2025
Pathways are a means for organizing our courses into areas. Under the 2020 requirements, undergraduates doing an AB must complete one pathway; those doing an ScB, two. Pathways were removed in the 2024 requirements. Master’s students must complete one pathway (we have not yet updated the MS requirements). The courses allowed for undergraduate pathways are somewhat different from those allowed for master’s pathways, as explained below.
For each pathway we specify core courses, graduate courses, related courses, and intermediate courses. Core courses are 1000-level courses that satisfy both undergraduate and master’s pathways. Graduate courses are 2000-level courses that may be used by undergraduates only if they’re also using a core course in the pathway. Related courses are 1000-level courses that may be used by undergraduates (but not master’s students) as part of the pathway if they’ve also used a core course. The intermediate courses are required of undergraduates completing a pathway, but are not required of master’s students.
Instructions For Undergraduates
To complete a pathway as an undergraduate, you must take one of its core courses and one other course from any of the core, graduate, and related lists. In addition, you must take the intermediate courses that are listed for the pathway. Note that it’s perfectly fine and, in fact, encouraged, for undergraduates to take 2000-level courses for which they satisfy the prerequisites. But you’re definitely not required to take any 2000-level courses.
For the intermediate courses, note that probability and statistics is satisfied only by one of CSCI 1450, APMA 1650, and APMA 1655. Linear algebra is satisfied only by one of CSCI 530, MATH 520, and MATH 540.
CSCI 1970 cannot be used as a pathway course.
Instructions For Master’s Students
To complete a pathway as a Master’s student, you must take one course that is a core course for the pathway and a second that is either a core course or a graduate course in the pathway. You don’t need to take the intermediate courses. Taking a related course won’t count as being part of the pathway. The course you chose that is substantially different from your Pathway cannot be a course taken at another institution.
The current pathways are:
Artificial Intelligence/Machine Learning
Description: Studies the theory and application of algorithms for making decisions and inferences from rules and data
-
Core Courses: Artificial Intelligence (0410/1410/1411), Machine Learning (1420), Computer Vision (1430), Computational Linguistics (1460), Deep Learning (1470 or 2470), Deep Learning in Genomics (1850), Introduction to Robotics (1951R), Algorithmic Aspects of Machine Learning (1520/1952Q) [Note: DATA 2060 may be substituted for 1420 during Fall 2024 only]
-
Graduate Courses: Reading the Large Language Models (2402C), Statistical Models in Natural-Language Understanding (2410), Probabilistic Graphical Models (2420), Topics in Game-Theoretic Artificial Intelligence (2440), Deep Learning (2470), Advanced Probabilistic Methods in Computer Science (2540), Special Topics in Computational Linguistics (CSCI 2950K), Autonomous Agents and Computational Market Design (2951C), Learning and Sequential Decision Making (2951F), Computer Vision for Graphics and Interaction (2951I), Topics in Collaborative Robotics (2951K), Creative Artificial Intelligence for Computer Graphics (2951W), Reintegrating AI (2951X), Advanced Algorithmic Game Theory (2951Z), Learning with Limited Labeled Data (2952C), Computational Semantics (2952D), Deep Learning in Genomics (2952G), Topics in 3D Computer Vision and Deep Learning (2952K), Robotics and Choreography (2952L), Topics in Advanced Deep Learning (2952N), A Practical Introduction to Advanced 3D Robot Perception (2952O), Coordinated Mobile Robotics (CSCI 2952P/ENGN 2912U), Robust Algorithms for Machine Learning (2952Q), Critical Data and Machine Learning Studies (2952W), Research Topics in Self Supervised Learning (2952X), The Design and Analysis of Trading Agents (2955)
-
Related Courses: Algorithmic Game Theory (1440), Probabilistic Methods (1550), Data Science (1951A; will last be offered Spring 2025), Designing Humanity Centered Robots (1951C), Fairness in Automated Decision Making (1951Z), Language Processing in Humans and Machines (1952I/CLPS 1850), Robots as a Medium (1952Z), Recent Applications of Probability and Statistics (APMA 1740), Deep Learning for Scientists and Engineers (APMA 2070), Image Understanding (ENGN 1610)
-
Intermediate Courses: probability and statistics, linear algebra
Faculty: Ayanian, Bach, Cheng, Felzenszwalb, Greenwald, Konidaris, Littman, Pavlick, Ritchie, Singh, Sridhar, Sun, Tellex, Tompkin
Computational Biology
Description: Studies the foundations and applications of algorithms for analyzing biological data and processes
-
Core Courses: Computational Molecular Biology (1810), Algorithmic Foundations of Computational Biology (1820), Deep Learning in Genomics (1850)
-
Graduate Courses: Advanced Algorithms in Computational Biology and Medical Bioinformatics (2820), Deep Learning in Genomics (2952G)
-
Related Courses: Machine Learning (1420), Computer Vision (1430), Deep Learning (1470), Data Science (1951A; will last be offered Spring 2025), Computational Vision (CLPS 1520) [Note: DATA 2060 may be substituted for 1420 during Fall 2024 only]
-
Intermediate Courses: 220, probability and statistics, 1010
Faculty: Istrail, Ramachandran, Singh
Computer Architecture
Description: Studies the design, construction, and analysis of computer architecture and hardware
-
Core Courses: Computer Architecture (CSCI 1952Y), Digital Electronics System Design (ENGN 1630), Design of Computing Systems (ENGN 1640), Embedded Microprocessor Design (ENGN 1650)
-
Graduate Courses: Introduction to Quantum Computing (ENGN 2912M), Low Power VLSI System Design (ENGN 2912E), Topics in Computing with Emerging Technologies (CSCI 2952J)
-
Related Courses: Design of Robotic Systems (CSCI 1951O), Real Time and Embedded Software (1600), Multiprocessor Synchronization (1760), Design of VLSI Systems (ENGN 1600)
-
Intermediate Courses: 330
Faculty: Herlihy, Zizyte, Reda
Data
Description: Studies the management and use of large data collections
-
Core Courses: Database Management Systems (1270), Machine Learning (1420), Data Science (1951A; will last be offered Spring 2025) [Note: DATA 2060 may be substituted for 1420 during Fall 2024 only]
-
Graduate Courses: Topics in Database Management (2270), Privacy-Conscious Computer Systems (2390), Advanced Probabilistic Methods in Computer Science (2540), Algorithms for Big Data (2951H), Foundations of Prescriptive Analytics (2951O), Critical Data and Machine Learning Studies (2952W)
-
Related Courses: Distributed Computer Systems (1380), Probabilistic Methods (1550), Information Retrieval (1580)
-
Intermediate Courses: probability and statistics, (300 or 320 or 330), linear algebra
Faculty: Cetintemel, De Stefani, Littman, Pavlick, Upfal, Venkatasubramanian
Design
Description: Studies the design, construction, and analysis of processes at the interface between humans and systems
-
Core Courses: Computer Graphics (1230 or 2230), UI/UX (1300), Introduction to Sociotechnical Systems and Human-Computer Interaction (1302), Virtual Reality Design for Science (1370), Designing Humanity Centered Robots (1951C), Hypertext/Hypermedia Seminar (1951V)
-
Graduate Courses: Human-Computer Interaction Seminar (2300), Algorithms for the People (2952V)
-
Related Courses: Computer Graphics (1230), Creating Modern Web and Mobile Applications (1320; unlikely to be offered again), Human Factors in Cybersecurity (1360), Real Time and Embedded Software (1600), Data Science (1951A; will last be offered Spring 2025), CSCI Startup (1900), CS for Social Good (1951I), Design of Robotic Systems (1951O), Hypertext/Hypermedia Seminar (1951V), Physical Computing (VISA 1720), Virtual Reality Software Review (1951S), Surveying VR Data Visualization Software for Research (1951T), Responsible Computer Science in Practice (1952B), Accessible and Inclusive Cybersecurity and Privacy (CSCI 1953A), Design of Robotic Systems (ENGN 1931I)
-
Intermediate Courses: (300 or 320 or 330), probability and statistics
Faculty: Huang, Laidlaw, Ritchie, Tompkin, Zizyte
Security
Description: Studies the design, construction, analysis, and defense of techniques to protect systems, data, and communications
-
Core Courses: Cryptography (1510), Applied Cryptography (1515), Software Security and Exploitation (1650), Computer Systems Security (1660 or 2660)
-
Graduate Courses: Advanced Topics in Cryptography (2590), Topics in Applied Cryptography (2950V), Topics in Computer System Security (2951E), Topics in Software Security (CSCI 2951U)
-
Related Courses: Creating Modern Web and Mobile Applications (1320; unlikely to be offered again), Human Factors in Cybersecurity (1360), Distributed Systems (1380), Basics of Cryptography (1040), Operating Systems (1670), Computer Networks (1680), Logic for Systems (1710/1950Y), Programming Languages (1730), Cybersecurity and International Relations (1800), Computer Freedom and Privacy: Current Topics in Law and Policy (1805), Cybersecurity Law and Policy (1860), Cybersecurity Ethics (1870), Blockchains & Cryptocurrencies (1951L), Accessible and Inclusive Cybersecurity and Privacy (CSCI 1953A)
-
Intermediate Courses: (220 or probability and statistics) and (300 or 330)
Faculty: DeMarinis, Doeppner, Kemerlis, Krishnamurthi, Lysyanskaya, Miao, Tamassia
Software Principles
Description: Studies the design, construction, and analysis of modern software systems
-
Core Courses: Compilers and Program Analysis (1260), Creating Modern Web and Mobile Applications (1320; unlikely to be offered again), Real-Time and Embedded Software (1600), Programming Languages (1730), Logic for Systems (1710/1950Y), Software Engineering of Large Systems (CSCI 1951U)
-
Graduate Courses: Programming Environments (2330), Software Engineering (2340), Programming Language Theory (2730), Topics in Programming Languages & Systems (2950X), Topics in Software Security (CSCI 2951U), Systems Transforming Systems (CS2952R)
-
Related Courses: Database Management Systems (1270), Distributed Systems (1380), Software Security and Exploitation (1650), Computer Networks (1680), CS for Social Good (1951I), Virtual Reality Software Review (1951S), Surveying VR Data Visualization Software for Research (1951T), Formal Proof and Verification (1951X)
-
Intermediate Courses: 220, 320, (300 or 330)
Faculty: Fisler, Krishnamurthi, Lewis, Nelson, Reiss, Zizyte
Systems
Description: Studies the design, construction, and analysis of modern, multi-faceted computing systems.
-
Core Courses: Database Management Systems (1270), Distributed Computer Systems (1380), Systems for Machine Learning (CSCI 1390), Operating Systems (1670 or 2670), Designing High-Performance Network Systems (CSCI 1675), Computer Networks (1680)
-
Graduate Courses: Privacy-Conscious Computer Systems (2390), Computer Networks and the Internet (2680), Datacenter and Cloud Operating Systems (2690), Special Topics on Networking and Distributed Systems (2950U), Topics in Network Management: Data-driven and Programmable Networks (2952E), Distributed Systems at Scale: Infrastructure for Online Web Services (2952F), Topics in Computing with Emerging Technologies (2952J), Systems Transforming Systems (CS2952R)
-
Related Courses: Compilers and Program Analysis (1260), Creating Modern Web and Mobile Applications (1320; unlikely to be offered again), Real-time and Embedded Software (1600), Software Security and Exploitation (1650), Computer Systems Security (1660), Programming Languages (1730), Multiprocessor Synchronization (1760), Logic for Systems (1710/1950Y), Design of Computing Systems (ENGN 1640), Hypertext/Hypermedia Seminar: The Web Was Not the Beginning and the Web Is Not the End (CSCI 1951V), Computer Architecture (CSCI 1952Y),
-
Intermediate courses: (220 or 320), (300 or 330)
Faculty: Cetintemel, DeMarinis, Doeppner, Herlihy, Kemerlis, Nelson, Reda, Schwarzkopf, Vasilakis, Zizyte
Theory
Description: Studies the foundations of models and algorithms for computing in various contexts
-
Core Courses: Cryptography (1510), Probabilistic Methods (1550), Design and Analysis of Algorithms (1570), Multiprocessor Synchronization (1760), Sublinear Algorithms for Big Data (1951W), Formal Proof and Verification (1951X)
-
Graduate Courses: Advanced Algorithms (2500A), Optimization Algorithms for Planar Graphs (2500B), Approximation Algorithms (2510), Advanced Probabilistic Methods in Computer Science (2540), Programming Languages Theory (2730), Topics in Parallel & Distributed Computing (2750), Stochastic Optimization (2950E), Special Topics in Computational Linguistics (2950K), Topics in Advanced Algorithms (2951Q), The Works that Made and Changed Machine Learning (2952M), An Algorithmist's Toolkit (2952T), Beyond Worst Case Analysis of Algorithms (2952U)
-
Related Courses: Algorithmic Game Theory (1440), Computational Biology (1810, 1820), Computational Topology (1950H), Logic for Systems (1710/1950Y), Optimization Methods in Finance (1951G), Algorithmic Aspects of Machine Learning (1520/1952Q)
-
Intermediate Courses: probability and statistics, 1010, linear algebra
Faculty: Cheng, Hershkowitz, Istrail, Klein, Krishnamurthi, Lewis, Lysyanskaya, Miao, Tamassia, Upfal
Visual Computing
Description: Studies the creation, interaction, and analysis of images and visual information, including animation and games
-
Core Courses: Computer Graphics (1230 or 2230), Introduction to Computer Animation (1250), Intermediate Computer Animation (1280), Computational Photography (1290), UI/UX (1300), Virtual Reality Design for Science (1370), Computer Vision (1430), Advanced Animation (1950T), Virtual Reality Software Review (1951S), Surveying VR Data Visualization Software for Research (1951T)
-
Graduate Courses: Interactive Computer Graphics (2240), Human-Computer Interaction Seminar (2300), Interdisciplinary Scientific Visualization (2370), Cognition, Human-Computer Interaction and Visual Analysis (2950J), Topics in Computer Vision (2950Q), Computer Vision for Graphics and Interaction (2951I), Creative Artificial Intelligence for Computer Graphics (2951W), A Practical Introduction to Advanced 3D Robot Perception (2952O)
-
Related Courses: Deep Learning (1470), Game Engines (1950U, 1950N), Image Understanding (ENGN 1610) (this course may not be used in addition to CSCI 1430, which covers similar material), Computational Vision (CLPS 1520), Hyperreality Design (DATA 1200, only if taken in the 2019/2020 academic year; it will be reevaluated for subsequent years), Hypertext/Hypermedia (CSCI 1951V)
-
Intermediate Courses: (300 or 320 or 330), linear algebra
Faculty: Huang, Hughes, Laidlaw, Meier, Ritchie, Sridhar, Tompkin, van Dam
Self-Designed (for undergraduates only)
This pathway is modeled after the Brown programs for designing one’s own concentration. Students electing this pathway must write a proposal for their pathway and have it approved by an advisor and the director of undergraduate studies. The proposal must meet the breadth and overall course requirements. This must be done by the end of shopping period of the student’s seventh semester.