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
.
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.
| Course
|
Lab?
|
Prerequisite(s)
|
|
| CS 105 Intro. to
Computers and their Applications
|
yes
|
some keyboard/typing
skills
|
|
| CS 201 FORTRAN Programming
|
yes
|
*
|
|
| CS 203 Visual
Basic
|
no
|
*
|
|
| 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
|
yes
|
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
|