CS Dept

New and Elective Courses


This page contains course descriptions and vital information for non-core courses that the Department of Computer Science is offering in Spring 2005.

These include all workshop and "special topics" courses that the Department offers on the main campus.

Undergraduate students should note that only one course at the 400 level can be used to satisfy the Advanced Computer Science Course portion of the CS major. All courses taken at the 600 level (including 697A - 697Z) will count toward the Advanced Computer Science portion of the CS major.



CS 411  Object-Oriented Programming

11:30 - 12:15 TTh Lecture day Lecture Section: Instructor: S. Prabhakar
12:25 - 12:50 TTh Lab day Lab Section:  

Note: CS 411 is a new core CS course. It is required for all CS majors entering from the Fall 2003 semester and later.

Description: Concepts of object-oriented programming. Includes data abstraction, classes and objects, methods, inheritance, polymorphic variables, dynamically-bound method calls, and data encapsulation. Gives programming experience in an object-oriented programming language.
Prerequisite: CS 300 with a grade of C or better.


CS 444  Introduction to Unix

3:30 - 4:45 TTh day Lecture Section: Instructor: C.Harris
4:55 - 5:20 TTh day Lab Section:  

Description: This course offers a complete and in-depth introduction to the basic command-line utilities like mkdir, cat, ls, cp, echo, date, head, tail, etc. and also covers some popular utilities like sed, grep, uniq, awk, sort, find, etc.. The editors vi and emacs are covered in full detail. Basic communication utilities like mail, write, talk, finger, ftp, etc. are also explained. Unix file structure, access permissions, and links are explained. Other important topics like input and output redirection, pipes, tees, filename generation, history, aliasing, job control, variables, etc. are also discussed. Along with the generic utilities available on all shells, syntax of specific shells (Bourne and C) and programming is addressed. Extensive hands-on work and programming are used to reinforce ideas talked about in class as part of laboratory assignments and homework.
Prerequisite: Any high level programming language (Pascal, C, C++) with a grade of C or better.
Advanced Major Coursework Category: Computer Systems


CS 465  Oracle Development Environment

5:35 - 6:50 TTh evening Lecture Section: Instructor: J. Matrow
7:00 - 7:25 TTh evening Lab Section:

Description: Oracle is a widely-used database management system. This course will cover basic relational database concepts, the SQL query language, PL/SQL, object creation, including indexes, tables, triggers and stored procedures, Oracle Forms, SQL Loader in the transition of legacy systems and Web-enabled applications. Students will work with several real-life projects.
Prerequisite: CS 211 with a C or better or departmental consent. Credit not granted in both CS 465 and CS 497F.
Advanced Major Coursework Category: Information Systems


CS 644  Advanced Unix Programming

3:30 - 4:45 TTh day Lecture Section: Instructor: S-C Chou
4:55 - 5:20 TTh day Lab Section:

Description:Improves skills in C programming under the Unix environment. Covers file I/O, both buffered and unbuffered, working with the Unix file system, concurrent programming with multiple processes, and process control. Also includes the use of signals and concepts of interprocess communication with pipes and FIFOs. Students must have prior knowledge of C language and its use of structures and pointers.
Prerequisite:CS 300 with a C or better or instructor's consent.


CS 655  Information Delivery on the Internet

1:30 - 2:45 MW day Lecture Section: Instructor: C. Chang
2:55 - 3:20 MW day Lab Section:

Description: This course is designed to explore the capabilities of providing information on the World Wide Web. Information is typically provided through some sort of Web site that incorporates static text and the dynamic capabilities of the Web. The student will learn how to create an interactive Web site through the use of CGI and Java programming. Also, students will learn how to interconnect their Web site to databases, and generate images on the fly. The Java portion will cover a wide range of the Java language and the Applet interface and utilities.
Prerequisite: CS 300 with a grade of C or better or instructor's consent.
Advanced Major Coursework Category: Theoretical Computer Science


CS 771  Artificial Intelligence

3:30 - 4:20 TTH day Lecture Section: Instructor: S. Prabhakar
4:30 - 5:20 TH day Lab Section:

Description: Heuristic versus algorithmic methods, principles of heuristic approach, and cognitive processes. Also covers objectives and methods of artificial intelligence research and simulation of cognitive behavior. Includes a survey of appropriate examples from various areas of artificial intelligence research.
Prerequisite: CS 300 and CS 320 with a grade of C or better in each.
Advanced Major Coursework Category: Computer Systems


CS 805  Compiler Theory

5:35 - 6:50 TTh evening Lecture Section: Instructor: R. Bates
7:00 - 7:25 TTh evening Lab Section:

Description: Theory of compilation of programming languages. Finite state machines and lexical analysis. Context-free languages and recognizer. Theory of parsing, including recursive-decent, top-down and bottom-up parsers. Formal description of semantics and code generation. Code optimization. Compiler-compilers.
Prerequisite:CS 510 and CS 720


CS 843  Distributed Computing Systems

5:35 - 6:50 MW day Lecture Section: Instructor: C. Chang
7:00 - 7:25 MW day Lecture Section:

Description: A study of hardware and software features of online multiple computer systems emphasizing network design and telecommunications. Including distributed data bases, interprocessor communication and centralization versus distribution. Also includes study of the use of microcomputers in representative configurations.
Prerequisite: CS 540.


CS 898I  Database Transaction Management

11:00 - 12:15 TTh evening Lecture Section: Instructor: P. Ramanan
7:00 - 7:25 MW evening Lab Section:

Description: Topics covered in this course will include transaction management, recovery, concurrency control; reliability, protection and integrity, and information integration.
Prerequisite:CS 300 and CS 665.

Department Home | People | Courses | Grad Program | Undergrad Program
Facilities | Activities | New & Policies | WSU Home | LAS Home