Courses

Fall 2016-2017 Spring 2016-2017
Banner Listing Banner Listing
Course Name Course Name
Chart (pdf) Chart (pdf)

The following is a comprehensive list of Computer Science course offerings. For simpler, per-semester lists, choose one of the links in the box to the right. "Banner" is the Brown Online Course Announcement.

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!

Computer Science Courses

Courses offered this year are in bold.

What CS Course Should I Take?

CSCI0020 (CS002) The Digital World
CSCI0030 (CSCI0931) Introduction to Computation for the Humanities and Social Sciences
CSCI0040 (CS004) Introduction to Scientific Computing and Problem Solving
CSCI0080 A First Byte of Computer Science
CSCI0090-A (CS009-3) Building a Web Application
CSCI0090-B (CS009-1) Computers and Human Values
CSCI0090-C (CS009-2) Talking with Computers
CSCI0100 Data Fluency for All
CSCI0150 (CS015) Introduction to Object-Oriented Programming and Computer Science
CSCI0160 (CS016) Introduction to Algorithms and Data Structures
CSCI0170 (CS017) CS: An Integrated Introduction
CSCI0180 (CS018) CS: An Integrated Introduction
CSCI0190 (CS019) Accelerated Introduction to Computer Science
CSCI0220 (CS022) Introduction to Discrete Structures and Probability
CSCI0310 (CS031) Introduction to Computer Systems
CSCI0320 (CS032) Introduction to Software Engineering
CSCI0330 Introduction to Computer Systems
CSCI0360 (CS036) Introduction to Systems Programming
CSCI0450 Introduction to Probability and Computing
CSCI0510 (CS051) Models of Computation
CSCI0530 Directions: The Matrix in Computer Science
CSCI0920 (CS092) Educational Software Seminar
CSCI0931 Introduction to Computation for the Humanities and Social Sciences
CSCI1010 (CSCI0510) Theory of Computation
CSCI1230 (CS123) Computer Graphics
CSCI1234 Computer Graphics Lab
CSCI1250 (CS125) Introduction to Computer Animation
CSCI1260 (CS126) Compilers and Program Analysis
CSCI1270 (CS127) Database Management Systems
CSCI1280 (CS128) Intermediate 3D Computer Animation
CSCI1290 (CSCI1950-G) Computational Photography
CSCI1300 User Interfaces and User Experience
CSCI1310 (CSCI1950-S) Fundamentals of Computer Systems
CSCI1320 Creating Modern Web Applications
CSCI1340 (CS196-2) Innovating Game Development
CSCI1370 (CS137) Virtual Reality Design for Science
CSCI1380 (CS138) Distributed Computer Systems
CSCI1410 (CS141) Artifical Intelligence
CSCI1420 (CSCI1950-F) Machine Learning
CSCI1430 (CS143) Computer Vision
CSCI1450 (CSCI0450) Probability and Computing
CSCI1460 (CS146) Computational Linguistics
CSCI1480 (CS148) Building Intelligent Robots
CSCI1490 (CS149) Introduction to Combinatorial Optimization
CSCI1510 (CS151) Introduction to Cryptography and Computer Security
CSCI1550 (CS155) Probabilistic Methods in Computer Science
CSCI1570 (CS157) Design and Analysis of Algorithms
CSCI1580 Information Retrieval and Web Search
CSCI1590 (CS159) Introduction to Computational Complexity
CSCI1600 (CS160) Real-time and Embedded Software
CSCI1610 (CS161) Building High-Performance Servers
CSCI1620 Computer Systems Security Lab
CSCI1660 (CS166) Computer Systems Security
CSCI1670 (CS167) Operating Systems
CSCI1680 (CS168) Computer Networks
CSCI1690 (CS169) Operating Systems Laboratory
CSCI1729 Programming Languages Lab
CSCI1730 (CS173) Design and Implementation of Programming Languages
CSCI1760 (CS176) Multiprocessor Synchronization
CSCI1780 (CS178) Parallel and Distributed Programming
CSCI1800 (CSCI1950-P) Cybersecurity and International Relations
CSCI1810 (CS181) Computational Molecular Biology
CSCI1820 (CSCI1950-L) Algorithmic Foundations of Computational Biology
CSCI1850 (CS185) Information Theory
CSCI1900 (CS190) csciStartup
CSCI1950-C Advanced Programming for Digital Art and Literature
CSCI1950-E Human-Robot Interaction Seminar
CSCI1950-F (CS195-5) Intro. to Machine Learning
CSCI1950-G (CS195-G) Computational Photography
CSCI1950-H Computational Topology
CSCI1950-I Designing, Developing and Evaluating User Interfaces
CSCI1950-J Introduction to Computational Geometry
CSCI1950-L (CS196-1) Algorithmic Foundations of Computational Biology
CSCI1950-N 2D Game Engines
CSCI1950-P Cybersecurity and International Relations
CSCI1950-Q Programming for the Humanities and Social Sciences
CSCI1950-R (CS195R) Compiler Practice
CSCI1950-S Fundamentals of Computer Systems
CSCI1950-T Advanced Animation Production
CSCI1950-U Topics in 3D Game Engine Development
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
CSCI1951-B Virtual Citizens or Subjects? The Global Battle Over Governing Your Internet
CSCI1951-C Designing Humanity Centered Robots
CSCI1951-E Computer Systems Security: Principles and Practice
CSCI1951-F (25951) Computers, Freedom and Privacy: Current Topics in Law and Policy
CSCI1951-G Optimization Methods in Finance
CSCI1951-H Software Security and Exploitation
CSCI1951-J Interdisciplinary Scientific Visualization
CSCI1951-K Algorithmic Game Theory
CSCI1970 (CS193/4) Individual Independent Study
CSCI1971 (CSCI1950N) Independent Study in 2D Game Engines
CSCI1972 (CSCI1950-U) Topics in 3D Game Engine Development
CSCI2240 (CS224) Interactive Computer Graphics
CSCI2270 (CS227) Topics in Database Management
CSCI2300 (CSCI2951-L) Human-Computer Interaction Seminar
CSCI2310 (CS231) Human Factors and User Interface Design
CSCI2330 (CS233) Programming Environments
CSCI2340 (CS234) Software Engineering
CSCI2370 (CS237) Interdisciplinary Scientific Visualization
CSCI2410 (CS241) Statistical Models in Natural-Language Understanding
CSCI2420 Probabilistic Graphical Models
CSCI2440 (CS244) Topics in Game-Theoretic Artificial Intelligence
CSCI2500-A (CS250) Advanced Algorithms
CSCI2500-B (CS250) Optimization Algorithms for Planar Graphs
CSCI2510 (CS251) Approximation Algorithms
CSCI2520 (CS252) Computational Geometry
CSCI2531 Internet and Web Algorithms
CSCI2540 (CS254) Advanced Probabilistic Methods in Computer Science
CSCI2550 (CS255) Parallel Computation: Models, Algorithms, Limits
CSCI2560 (CS256) Advanced Complexity
CSCI2570 (CS257) Introduction to Nanocomputing
CSCI2580 (CS258) Solving Hard Problems in Combinatorial Optimization: Theory and Systems
CSCI2590 Advanced Topics in Cryptography
CSCI2730 (CS273) Programming Language Theory
CSCI2750 (CS275) Topics in Parallel & Distributed Computing
CSCI2820 (CSCI2950-L) Medical Bioinformatics
CSCI2950-C (CS296-5) Algorithms for Cancer Genomics
CSCI2950-E (CS296-9) Stochastic Optimization
CSCI2950-G (CS296-2) Large-Scale Networked Systems
CSCI2950-J Cognition, Human-Computer Interaction and Visual Analysis
CSCI2950-K Special Topics in Computational Linguistics
CSCI2950-L (CS295-2) Medical Bioinformatics: Disease Associations, Protein Folding and Immunogenomics
CSCI2950-O (CS295-7) Topics in Brain-Computer Interfaces
CSCI2950-P Special Topics in Machine Learning
CSCI2950-Q (CS296-4) Topics in Computer Vision
CSCI2950-R Special Topics in Advanced Algorithms
CSCI2950-T (CS295-11) 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 (CS296-1) Topics in Programming Languages & Systems
CSCI2950-Z (CS296-3) 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
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
CSCI2951-J Topics in Advanced Algorithmics: Algorithmic Game Theory, 3D Computational Geometry, Quantum Computing
CSCI2951-K Topics in Grounded Language for 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
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
CSCI2951-V Systems for Interactive Data Exploration
CSCI2951-Y Special Topics in Formal Semantics and Notional Machines
CSCI2955 The Design and Analysis of Trading Agents
CSCI2956-F Machine Learning Reading Group
CSCI2980 (CS297/8) Reading and Research
ENGN2502 3D Photography
ENGN2520 (CSCI1950-F) Pattern Recognition and Machine Learning
XLIST_BIOL_1430 Computational Theory of Molecular Evolution
XLIST_ENGN2911-I 3D Photography and Geometry Processing
XLIST_ENGN_0931 Internet of Everything