| WHEN TAUGHT: | Fall; Winter; Spring |
| PREREQUISITE: | Knowledge of algebra. |
| DESCRIPTION:  | Introduction to object-oriented program design and development. Principles of algorithm formulation and implementation. |
| WHEN TAUGHT: | Fall; Winter; Spring; Summer |
| PREREQUISITE: | C S 142 |
| DESCRIPTION:  | Fundamental data structures and algorithms of computer science; basic algorithm analysis; recursion; sorting and searching; lists, stacks, queues, trees, hashing; object-oriented data abstraction. |
| WHEN TAUGHT: | Fall; Winter; Summer |
| PREREQUISITE: | C S 235 |
| DESCRIPTION:  | Introduction to grammars and parsing; predicate and propositional logic; proof techniques; sets, functions, relations, relational data model; graphs and graph algorithms. |
| WHEN TAUGHT: | Fall; Winter; Spring; Summer |
| PREREQUISITE: | C S 236 |
| DESCRIPTION:  | Advanced software development with an object-oriented focus. Development and testing of several 1500 to 2000 line modules from formal specifications. UNIX and C++ environment. |