Here, in tabular form, are the prerequisites for every class regularly offered by the computer science department. This information can also be found in graphical form on the department course info sheet.
(Updated April 2008)
| Course | Title | Prerequisites |
|---|---|---|
| For non-majors | ||
| CS 127 | Computing, technology, and society | -none- |
| Introductory sequence | ||
| CS 141 | Introduction to Computer Science | -none- |
| CS 142 | Program design and methodology | CS 141 |
| Intermediate core | ||
| CS 201 | Computer organization and assembly language | CS 142 |
| CS 205 | Algorithm design and analysis | CS 142; MATH 175 |
| CS 226 | Operating systems and networks | CS 142 |
| CS 262 | Information and knowledge management | CS 142 |
| CS 292 | Software development and professional practice | Any other 200-level |
| Electives | ||
| CS 303 | Graphics | CS 205; MATH 152 |
| CS 305 | Operating systems | CS 201; CS 226 |
| CS 306 | Automata theory and programming languages | CS 142; MATH 175 |
| CS 308 | Networks and distributed systems | CS 226 |
| CS 310 | Compilers and interpreters | CS 201; CS 306 |
| CS 317 | Artificial intelligence | CS 262 |
| CS 320 | Database systems | CS 262 |
| CS 322 | Software engineering | CS 292 |
| CS 330 | Cryptography and computer security | MATH 175; CS 226 |
| CS 340 | Human/computer interaction | CS 262 |
| CS 360 | Natural language processing | CS 262 |
| CS 399 | Research seminar in computer science | Senior standing |