Computer Science Courses

The following is a comprehensive list of Computer Science course offerings.  Or view CS courses at Courses@Brown.  Semester charts are available for Icon Fall '24 (515.9 KB) and Icon Spring '25 (176.1 KB) .

The undergraduate TA program is a great way for students to get to know their professors, sharpen their knowledge of a subject, and get paid!  See the UTA-designed slides promoting next semester's courses.

What CS Course Should I Take?

CSCI0020 The Digital World
  Fall 2024 TTh 9-10:20a Donald L Stanford
CSCI0030 Introduction to Computation for the Humanities and Social Sciences
CSCI0040 Introduction to Scientific Computing and Problem Solving
CSCI0050 A Data-Centric Introduction to Programming
CSCI0060 Practical Systems Skills
CSCI0080 A First Byte of Computer Science
CSCI0081 TA Apprenticeship: Full Credit
  Fall 2024 TBA Kathi Fisler
  Spring 2025 TBA Thomas W Doeppner
CSCI0082 TA Apprenticeship: Half Credit
  Fall 2024 TBA Kathi Fisler
  Spring 2025 TBA Thomas W Doeppner
CSCI0100 Data Fluency for All
CSCI0111 Computing Foundations: Data
  Fall 2024 MWF 10-10:50a Milda Zizyte
  Spring 2025 MWF 2-2:50p Milda Zizyte
CSCI0112 Computing Foundations: Program Organization
  Fall 2024 MWF 1-1:50p Tim Nelson
CSCI0130 User Interfaces and User Experience
CSCI0150 Introduction to Object-Oriented Programming and Computer Science
  Fall 2024 TTh 2:30-3:50p Andries van Dam
CSCI0160 Introduction to Algorithms and Data Structures
CSCI0170 CS: An Integrated Introduction
  Fall 2024 MW 3-4:20p Philip Klein
CSCI0180 CS: An Integrated Introduction
CSCI0190 Accelerated Introduction to Computer Science
  Fall 2024 MWF 9-9:50a Shriram Krishnamurthi
CSCI0200 Program Design with Data Structures and Algorithms
  Fall 2024 MWF 2-2:50p Nick DeMarinis
  Spring 2025 MWF 11-11:50a Kathi Fisler
CSCI0220 Introduction to Discrete Structures and Probability
  Spring 2025 MWF 1-1:50p Ellis Hershkowitz, Robert Y. Lewis
CSCI0300 Fundamentals of Computer Systems
  Spring 2025 TTh 1-2:20p Nick DeMarinis
CSCI0310 Introduction to Computer Systems
CSCI0320 Introduction to Software Engineering
  Fall 2024 TTh 1-2:20p Tim Nelson
  Spring 2025 TTh 1-2:20p Tim Nelson
CSCI0330 Introduction to Computer Systems
  Fall 2024 MWF 2-2:50p Thomas W Doeppner, Nick DeMarinis
CSCI0360 Introduction to Systems Programming
CSCI0410 Foundations of AI
  Fall 2024 MWF 1-1:50p Amy R Greenwald, Eric A Ewing
  Spring 2025 MWF 1-1:50p Eric A Ewing
CSCI0450 Introduction to Probability and Computing
CSCI0500 Data Structures, Algorithms, and Intractability: An Introduction
  Spring 2025 MW 3-4:20p Philip Klein
CSCI0510 Models of Computation
CSCI0530 Coding the Matrix: an Introduction to Linear Algebra for Computer Science
CSCI0920 Educational Software Seminar
CSCI0931 Introduction to Computation for the Humanities and Social Sciences
CSCI1010 Theory of Computation
  Fall 2024 TTh 10:30-11:50a Lorenzo De Stefani
CSCI1040 The Basics of Cryptographic Systems
  Spring 2025 Course offered online Anna A Lysyanskaya
CSCI1230 Computer Graphics
  Fall 2024 TTh 10:30-11:50a Daniel C Ritchie
CSCI1234 Computer Graphics Lab
  Fall 2024 TBA Daniel C Ritchie
CSCI1250 Introduction to Computer Animation
  Fall 2024 MW 12-1:50p Barbara J. Meier
CSCI1260 Compilers and Program Analysis
  Fall 2024 MW 3-4:20p Robert Y. Lewis
CSCI1270 Database Management Systems
  Fall 2024 TTh 1-2:20p Ugur Cetintemel
CSCI1280 Intermediate 3D Computer Animation
  Spring 2025 MW 12-1:50p Barbara J. Meier
CSCI1290 Computational Photography
CSCI1300 Interaction Design
  Spring 2025 TTh 1-2:20p Jeff Huang
CSCI1301 Livestreaming Reimagined
CSCI1302 Intro to Sociotechnical Systems and HCI
  Spring 2025 TTh 10:30-11:50a Harini Suresh, Diana Freed
CSCI1310 Fundamentals of Computer Systems
  Spring 2025 TTh 1-2:20p Nick DeMarinis
CSCI1320 Creating Modern & Mobile Web Applications
CSCI1330 Computer Systems (Master's students only)
  Fall 2024 MWF 2-2:50p Thomas W Doeppner, Nick DeMarinis
CSCI1340 Introduction to Software Engineering
  Fall 2024 TTh 1-2:20p Tim Nelson
  Spring 2025 TTh 1-2:20p Tim Nelson
CSCI1360 Human Factors in Cybersecurity
  Fall 2024 W 3-5:30p Ernesto Zaldivar
CSCI1370 Virtual Reality Design for Science
CSCI1380 Distributed Computer Systems
  Spring 2025 TTh 10:30-11:50a Nikos Vasilakis
CSCI1385 Distributed Systems Laboratory
  Spring 2025 TBA Nikos Vasilakis
CSCI1390 Systems for Machine Learning
  Spring 2025 TTh 9-10:20a Deepti Raghavan
CSCI1410 Artificial Intelligence
CSCI1411 Foundations in AI
  Fall 2024 MWF 1-1:50p Amy R Greenwald, Eric A Ewing
  Spring 2025 MWF 1-1:50p Eric A Ewing
CSCI1420 Machine Learning
  Spring 2025 TTh 2:30-3:50p Stephen Bach
CSCI1430 Computer Vision
  Fall 2024 TTh 9-10:20a Srinath Sridhar
  Spring 2025 TTh 9-10:20a James H Tompkin
CSCI1440 Algorithmic Game Theory
  Spring 2025 W 3-5:30p Amy R Greenwald
CSCI1450 Advanced Introduction to Probability for Computing and Data Science
CSCI1460 Computational Linguistics
  Fall 2024 TTh 2:30-3:50p Ellie Pavlick
CSCI1470 Deep Learning
  Spring 2025 MWF 12-12:50p Eric A Ewing
CSCI1480 Building Intelligent Robots
CSCI1490 Introduction to Combinatorial Optimization
CSCI1491 Fairness in Automated Decision Making
  Spring 2025 TTh 1-2:20p Suresh Venkatasubramanian, Nasim Sonboli
CSCI1510 Introduction to Cryptography and Computer Security
  Fall 2024 TTh 10:30-11:50a Peihan Miao
CSCI1515 Applied Cryptography
  Spring 2025 MW 3-4:20p Peihan Miao
CSCI1520 Algorithmic Aspects of Machine Learning
  Spring 2025 TTh 1-2:20p Yu Cheng
CSCI1550 Probabilistic Methods in Computer Science
  Spring 2025 TTh 2:30-3:50p Eli Upfal
CSCI1570 Design and Analysis of Algorithms
  Fall 2024 TTh 2:30-3:50p Lorenzo De Stefani
CSCI1575 Algorithms: In Depth
CSCI1580 Information Retrieval and Web Search
CSCI1590 Introduction to Computational Complexity
CSCI1600 Real-time and Embedded Software
  Fall 2024 MWF 12-12:50p Milda Zizyte
CSCI1610 Building High-Performance Servers
CSCI1620 Computer Systems Security Lab
  Spring 2025 TBA Bernardo Palazzi
CSCI1640 AI and Security
  Spring 2025 M 3-5:30p Nikos Triandopoulos
CSCI1650 Software Security and Exploitation
  Fall 2024 MW 3-4:20p Vasileios Kemerlis
CSCI1660 Computer Systems Security
  Spring 2025 TTh 2:30-3:50p Bernardo Palazzi, Nikos Triandopoulos
CSCI1670 Operating Systems
  Spring 2025 MWF 2-2:50p Thomas W Doeppner, Malte Schwarzkopf
CSCI1675 Designing High-Performance Network Systems
  Spring 2025 MW 9-10:20a Akshay Narayan
CSCI1680 Computer Networks
  Fall 2024 TTh 9-10:20a Nick DeMarinis
CSCI1690 Operating Systems Laboratory
  Spring 2025 TBA Thomas W Doeppner, Malte Schwarzkopf
CSCI1695 Operating System Design and Implementation
CSCI1710 Logic for Systems
  Spring 2025 MWF 10-10:50a Tim Nelson
CSCI1729 Programming Languages Lab
CSCI1730 Design and Implementation of Programming Languages
  Fall 2024 MWF 11-11:50a Shriram Krishnamurthi
CSCI1760 Multiprocessor Synchronization
  Fall 2024 TTh 1-2:20p Maurice P Herlihy
CSCI1780 Parallel and Distributed Programming
CSCI1800 Cybersecurity and International Relations
  Spring 2025 Course offered online Ernesto Zaldivar
CSCI1805 Computers, Freedom and Privacy: Current Topics in Law and Policy
  Fall 2024 TTh 9-10:20a Timothy H Edgar
CSCI1810 Computational Molecular Biology
  Fall 2024 TTh 2:30-3:50p Sorin Istrail
CSCI1820 Algorithmic Foundations of Computational Biology
CSCI1850 Deep Learning in Genomics
CSCI1860 Cybersecurity Law and Policy
  Fall 2024 Course offered online Timothy H Edgar
CSCI1870 Cybersecurity Ethics
  Summer 2024 Course offered online Deborah Hurley
  Fall 2024 M 3-5:30p Deborah Hurley
CSCI1880 Introduction to Computer Security
  Spring 2025 Course offered online Bernardo Palazzi, Nikos Triandopoulos
CSCI1900 csciStartup
CSCI1950-E Human-Robot Interaction Seminar
CSCI1950-H Computational Topology
CSCI1950-I Designing, Developing and Evaluating User Interfaces
CSCI1950-N 2D Game Engines
  Fall 2024 TTh 6:40-8p James H Tompkin
CSCI1950-Q Programming for the Humanities and Social Sciences
CSCI1950-R Compiler Practice
CSCI1950-S Fundamentals of Computer Systems
CSCI1950-T Advanced Animation Production
CSCI1950-U Topics in 3D Game Engine Development
  Spring 2025 W 3-5:30p Daniel C Ritchie
CSCI1950-V Advanced GPU Programming
CSCI1950-W Topics in Data Science
CSCI1950-X Software Foundations
CSCI1950-Y Logic for Systems
CSCI1950-Z Computational Methods for Biology
CSCI1951-A Data Science
  Spring 2025 MW 3-4:20p Lorenzo De Stefani
CSCI1951-B Virtual Citizens or Subjects? The Global Battle Over Governing Your Internet
CSCI1951-C Designing Humanity Centered Robots
  Fall 2024 MW 11a-1:50p Ian Gonsher
CSCI1951-D Projective Geometry via Interactive Proof Assistants
CSCI1951-E Computer Systems Security: Principles and Practice
CSCI1951-G Optimization Methods in Finance
CSCI1951-H Software Security and Exploitation
CSCI1951-I CS for Social Change
CSCI1951-J Interdisciplinary Scientific Visualization
CSCI1951-L Blockchains & Cryptocurrencies
  Spring 2025 TTh 2:30-3:50p Maurice P Herlihy
CSCI1951-M Great Ideas in Computer Science
CSCI1951-N VR+X, the Potential of Virtual Reality to Transform Nearly Everything
CSCI1951-O Design of Robotic Systems
CSCI1951-R Introduction to Robotics
CSCI1951-S Virtual Reality Software Review
CSCI1951-T Surveying VR Data Visualization Software for Research
  Spring 2025 TTh 10:30-11:50a David H. Laidlaw
CSCI1951-U Software Engineering of Large Systems
CSCI1951-V Hypertext/Hypermedia: The Web Was Not the Beginning and the Web Is Not the End
CSCI1951-W Sublinear Algorithms for Big Data
CSCI1951-X Formal Proof and Verification
  Fall 2024 MW 9:30-10:50a Robert Y. Lewis
CSCI1951-Y The Robots are Coming! The Robots are Coming!
CSCI1951-Z Fairness in Automated Decision Making
CSCI1952-B Responsible Computer Science in Practice
CSCI1952-C Frontiers of Graph Algorithms Seminar
CSCI1952-I Language Processing in Humans and Machines
CSCI1952-L Robotics and Choreography
CSCI1952-Q Robust Algorithms for Machine Learning
CSCI1952-V Algorithms for the People
CSCI1952-X Contemporary Digital Policy and Politics
  Spring 2025 W 3-5:30p Timothy H Edgar
CSCI1952-Y Computer Architecture
  Spring 2025 MWF 10-10:50a Milda Zizyte
CSCI1952-Z Robots as a Medium: Creating art with teams of robots
  Fall 2024 TTh 10:30-11:50a Eric A Ewing
CSCI1953-A Accessible and Inclusive Cybersecurity and Privacy
  Fall 2024 TTh 9-10:20a Diana Freed
CSCI1970 Individual Independent Study
CSCI1971 Independent Study in 2D Game Engines
CSCI1972 Topics in 3D Game Engine Development
CSCI2000 Computer Science Research Methods
CSCI2002 Privacy and Personal Data Protection
  Fall 2024 Course offered online Deborah Hurley
  Spring 2025 Course offered online Deborah Hurley
CSCI2222 Interpretability of Language Models
  Spring 2025 TTh 10:30-11:50a Ellie Pavlick, Jack Merullo
CSCI2230 Computer Graphics
  Fall 2024 TTh 10:30-11:50a Daniel C Ritchie
CSCI2240 Interactive Computer Graphics
  Spring 2025 MWF 11-11:50a Daniel C Ritchie
CSCI2270 Topics in Database Management
  Spring 2025 M 12-2:20p Ugur Cetintemel, Stanley B Zdonik
CSCI2300 Human-Computer Interaction Seminar
CSCI2310 Human Factors and User Interface Design
CSCI2330 Programming Environments
CSCI2340 Software Engineering
  Fall 2024 TTh 1-2:20p Steven P Reiss
CSCI2370 Interdisciplinary Scientific Visualization
  Fall 2024 TTh 10:30-11:50a David H. Laidlaw
CSCI2380 Distributed Systems With Laboratory
  Spring 2025 TTh 10:30-11:50a Nikos Vasilakis
CSCI2390 Privacy-Conscious Computer Systems
  Fall 2024 TTh 2:30-3:50p Malte Schwarzkopf, Kinan Dak Albab
CSCI2402-C Reading the Large Language Models
  Spring 2025 Th 1-3:30p Ellie Pavlick, John Cayley
CSCI2410 Statistical Models in Natural-Language Understanding
CSCI2420 Probabilistic Graphical Models
CSCI2440 Advanced Algorithmic Game Theory
  Spring 2025 W 3-5:30p Amy R Greenwald
CSCI2450 Exchange Scholar Program
  Spring 2025 TBA TBA
CSCI2470 Deep Learning
  Fall 2024 TTh 1-2:20p Chen Sun
CSCI2500-A Advanced Algorithms
CSCI2500-B Optimization Algorithms for Planar Graphs
CSCI2500-C Graph Theory and Algorithms
CSCI2510 Approximation Algorithms
CSCI2520 Computational Geometry
CSCI2531 Internet and Web Algorithms
CSCI2540 Advanced Probabilistic Methods in Computer Science
  Spring 2025 TTh 2:30-3:50p Eli Upfal
CSCI2550 Parallel Computation: Models, Algorithms, Limits
CSCI2560 Advanced Complexity
CSCI2570 Introduction to Nanocomputing
CSCI2580 Solving Hard Problems in Combinatorial Optimization: Theory and Systems
CSCI2590 Advanced Topics in Cryptography
CSCI2660 Computer Systems Security
  Spring 2025 TTh 2:30-3:50p Bernardo Palazzi, Nikos Triandopoulos
CSCI2670 Operating Systems
  Spring 2025 MWF 2-2:50p Thomas W Doeppner, Malte Schwarzkopf
CSCI2680 Computer Networks and the Internet
  Fall 2024 TTh 1-2:20p Akshay Narayan
CSCI2690 Datacenter and Cloud Operating Systems
  Fall 2024 TTh 9-10:20a Deepti Raghavan
CSCI2730 Programming Language Theory
CSCI2750 Topics in Parallel & Distributed Computing
CSCI2810 Advanced Computational Molecular Biology
  Fall 2024 TTh 2:30-3:50p Sorin Istrail
CSCI2820 Algorithmic Foundations in Computational Biology
CSCI2840 Advanced Algorithms in Computational Biology and Medical Bioinformatics
  Spring 2025 TTh 2:30-3:50p Sorin Istrail
CSCI2890 Comprehensive Examination Preparation
  Fall 2024 TBA TBA
  Spring 2025 TBA TBA
CSCI2950-C Algorithms for Cancer Genomics
CSCI2950-E Stochastic Optimization
CSCI2950-G Large-Scale Networked Systems
CSCI2950-J Cognition, Human-Computer Interaction and Visual Analysis
CSCI2950-K Special Topics in Computational Linguistics
CSCI2950-L Medical Bioinformatics: Disease Associations, Protein Folding and Immunogenomics
CSCI2950-O Topics in Brain-Computer Interfaces
CSCI2950-P Special Topics in Machine Learning
CSCI2950-Q Topics in Computer Vision
CSCI2950-R Special Topics in Advanced Algorithms
CSCI2950-T Topics in Distributed Databases & Systems
CSCI2950-U Special Topics on Networking and Distributed Systems
CSCI2950-V Topics in Applied Cryptography
CSCI2950-W Online Algorithms
CSCI2950-X Topics in Programming Languages & Systems
CSCI2950-Z Robot Learning and Autonomy
CSCI2951-A Robots for Education
CSCI2951-B Data-Driven Vision and Graphics
CSCI2951-C Autonomous Agents and Computational Market Design
CSCI2951-D Topics in Information Retrieval and Web Search
CSCI2951-E Topics in Computer System Security
  Fall 2024 W 3-5:30p Roberto Tamassia
CSCI2951-F Learning and Sequential Decision Making
CSCI2951-G Computational Protein Folding
CSCI2951-H Algorithms for Big Data
CSCI2951-I Computer Vision for Graphics and Interaction
  Fall 2024 MW 3-4:20p James H Tompkin
CSCI2951-J Topics in Advanced Algorithmics: Algorithmic Game Theory, 3D Computational Geometry, Quantum Computing
CSCI2951-K Topics in Collaborative Robotics
CSCI2951-L Human-Computer Interaction Seminar
CSCI2951-M Advanced Algorithms Seminar
CSCI2951-N Advanced Algorithms in Computational Biology
CSCI2951-O Foundations of Prescriptive Analytics
  Spring 2025 F 3-5:30p Serdar Kadioglu
CSCI2951-P Human-Robot Interaction Seminar
CSCI2951-Q Topics in Advanced Algorithms
CSCI2951-R Personal Informatics Seminar
CSCI2951-S Distributed Computing through Combinatorial Topology
CSCI2951-T Data-Drive Computer Vision
CSCI2951-U Topics in Software Security
  Spring 2025 M 3-5:30p Vasileios Kemerlis
CSCI2951-V Systems for Interactive Data Exploration
CSCI2951-W Creative Artificial Intelligence for Computer Graphics
CSCI2951-X Reintegrating AI
  Spring 2025 TTh 10:30-11:50a George D Konidaris
CSCI2951-Y Special Topics in Formal Semantics and Notional Machines
CSCI2951-Z Advanced Algorithmic Game Theory
CSCI2952-A Blockchains and Cryptocurrencies
CSCI2952-B Topics in Computer Science Education Research
CSCI2952-C Learning with Limited Labeled Data
CSCI2952-D Computational Semantics
CSCI2952-E Topics in Network Management: Data-driven and Programmable Networks
CSCI2952-F Distributed Systems at Scale: Microservices Management
CSCI2952-G Deep Learning in Genomics
  Spring 2025 TTh 10:30-11:50a Ritambhara Singh
CSCI2952-H Recent Progress in Reinforcement Learning
CSCI2952-I Language Processing in Humans and Machines
CSCI2952-J Computing with Emerging Technology
CSCI2952-K Topics in 3D Computer Vision and Deep Learning
  Spring 2025 TTh 9-10:20a Srinath Sridhar
CSCI2952-L Special Topics in Secure Computation
CSCI2952-M The Works that Made and Changed Machine Learning
CSCI2952-N Advanced Topics in Deep Learning
  Spring 2025 TTh 1-2:20p Chen Sun
CSCI2952-O A Practical Introduction to Advanced 3D Robot Perception
CSCI2952-P Coordinated Mobile Robotics
CSCI2952-Q Robust Algorithms for Machine Learning
  Fall 2024 M 3-5:30p Yu Cheng
CSCI2952-R Systems Transforming Systems
  Fall 2024 W 3-5:30p Nikos Vasilakis
CSCI2952-S Topics in Cyber and Digital Policy
  Spring 2025 Course offered online Timothy H Edgar
CSCI2952-T An Algorithmist's Toolkit
  Fall 2024 TTh 9-10:20a Ellis Hershkowitz
CSCI2952-U Beyond Worst Case Analysis of Algorithms
  Fall 2024 TTh 2:30-3:50p Eli Upfal
CSCI2952-V Algorithms for the People
CSCI2952-W Critical Data and Machine Learning Studies
  Fall 2024 TTh 10:30-11:50a Harini Suresh
CSCI2952-X Research Topics in Self Supervised Learning
  Fall 2024 MWF 1-1:50p Randall Balestriero
CSCI2955 The Design and Analysis of Trading Agents
CSCI2956-F Machine Learning Reading Group
CSCI2980 Reading and Research
CSCI2990 Thesis Preparation
  Fall 2024 TBA TBA
  Spring 2025 TBA TBA
CSCI2999-A Cybersecurity Management Within Business, Government, and Non-Profit Organizations
  Fall 2024 M 3-5:30p Ernesto Zaldivar
DATA0080 Data, Ethics and Society
DATA0200 Data Science Fluency
DATA1030 Hands-on Data Science
DATA1050 Data Engineering
DATA2040 Deep Learning
DATA2050 Data Science Practicum
DATA2080 Data and Society
ENGN2502 3D Photography
ENGN2520 Pattern Recognition and Machine Learning
XLIST_BIOL_1430 Computational Theory of Molecular Evolution
XLIST_ENGN2911-I 3D Photography and Geometry Processing