Course prerequisites

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