|
|
 |
Prerequisite Chart
The following table summarizes the prerequisites for all (non-workshop/special topics) courses offered by the Department of Computer Science. For information about workshops and special topics courses, see the new and elective courses.
This information is only a summary. Please consult the most current WSU Undergraduate (or Graduate) Catalog for the most accurate and up-to-date information.
In addition to the prerequisites listed below, please note that all CS courses at the 200+ level require English 101 and Math 111 or 112, or equivalents, with a grade of C or better, or departmental consent. Courses which have no additional requirements than these have an asterisk (*) under "Prerequisite(s)."
| Course |
Lab |
Prerequisite(s) |
CS 105
|
Intro. to Computers and their Applications |
yes |
some keyboard/typing skills |
CS 201
|
FORTRAN Programming |
yes |
* |
CS 205
|
COBOL Programming |
yes |
* |
CS 206
|
BASIC Programming |
yes |
* |
CS 210
|
Intro. to Computer Science |
yes |
* |
CS 211
|
Problem Solving and Programming in C |
yes |
* |
CS 217
|
C++ Programming |
yes |
CS 207; or CS 211; or departmental consent |
CS 300
|
Data Structures and Algorithms I |
yes |
CS 210 and CS 211 |
CS 303
|
Advanced Visual Basic |
no |
CS 203; or departmental consent |
CS 312
|
Assembly Language and Systems Programming |
no |
CS 210 and CS 211 |
CS 321
|
Discrete Structures I |
no |
CS 210 and CS 211 |
CS 322
|
Discrete Structures II |
no |
CS 321 |
CS 365
|
Intro. to Computer Graphics |
yes |
CS 300 |
CS 410
|
Programming Paradigms |
yes |
CS 300 and CS 322 |
CS 411
|
Object-oriented Programming |
yes |
CS 300 |
CS 444
|
Introduction to Unix |
yes |
any high-level programming language |
CS 465
|
Oracle Development Environment |
yes |
CS 211; or departmental consent |
CS 501
|
Numerical Programming |
yes |
CS 300 and Math 243 |
CS 510
|
Programming Language Concepts |
yes |
CS 300 and CS 322 |
CS 540
|
Operating Systems |
yes |
CS 300 and CS 312 |
CS 560
|
Data Structures and Algorithms II |
yes |
CS 300, CS 322, Math 243 and Stat 460 |
CS 612
|
Systems Programming |
yes |
CS 300 and CS 312 |
CS 615
|
Compiler Construction |
yes |
CS 510 |
CS 644
|
Advanced Unix Programming |
yes |
CS 300 |
CS 655
|
Information Delivery on the Internet |
yes |
CS 300 |
CS 665
|
Intro. to Database Systems |
no |
CS 300 and CS 322 |
CS 680
|
Intro. to Software Engineering |
yes |
CS 300 and CS 410 |
CS 684
|
Applications Systems Analysis |
yes |
CS 300 |
CS 690
|
Information Systems Engineering |
yes |
CS 300 |
CS 720
|
Theoretical Foundation of CS |
yes |
CS 322 |
CS 742
|
Computer Communication Networks |
yes |
CS 300; or departmental consent |
CS 771
|
Artificial Intelligence |
yes |
CS 300 and CS 322 |
Open only to students with graduate standing
CS 805
|
Compiler Theory |
yes |
CS 510 and CS 720 |
CS 810
|
Programming Languages: Advanced Concepts |
yes |
CS 510 and CS 720 |
CS 817
|
Advanced Java Technology |
yes |
CS 510 with a grade of B or better |
CS 821
|
Analysis of Algorithms |
yes |
CS 560 with a grade of B or better |
CS 822
|
Parallel Algorithms |
yes |
CS 560 with a grade of B or better |
CS 842
|
Operating Systems Concepts |
yes |
CS 540 or ECE 694 |
CS 843
|
Distributed Computing Systems |
yes |
CS 540 |
CS 862
|
Advanced Database Systems |
yes |
CS 560 |
CS 867
|
Object-Oriented Databases |
yes |
CS 665 and an object-oriented programming language |
CS 873
|
Computer Vision |
yes |
CS 771 |
CS 881
|
Software Specification and Design |
yes |
CS 680 |
CS 886
|
Software Project Management |
yes |
CS 680 |
|