# Courses

Fall 16/17 | Spring 16/17 |
---|---|

Banner Listing | Banner Listing |

Course Name | Course Name |

Instructor | Instructor |

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**.

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) | Applied 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 | Cyber Conflict - Hackers, Surveillance and Privacy | |

CSCI1951-G | Optimization Methods in Finance | |

CSCI1951-H | Software Security and Exploitation | |

CSCI1951J | Interdisciplinary Scientific Visualization | |

CSCI1970 | (CS193/4) | Individual Independent Study |

CSCI1970-17 | (CS194-17) | Software Transactional Memory |

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 | (New) | 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-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 | |

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 ENGN 0931 | Internet of Everything | |

XList ENGN2911-I | 3D Photography and Geometry Processing |