CPS500. Computer Graphics . 3 Credits.

Graphics software and hardware, representation of points, lines, and surfaces in three dimensions, windowing, clipping, hidden surfaces and lines, shading.

Prerequisites:

  • Computer Science MS Prelim with a score of 1

Restrictions:

  • Must have the following level: Graduate

CPS501. Computer Systems . 3 Credits.

A study of computer systems covering both software and hardware. Topics include number systems, machine language, assembly language, linking and loading, digital electronics, microprogramming, and computer architecture.

Prerequisites:

  • Computer Science MS Prelim with a score of 1

Restrictions:

  • Must have the following level: Graduate

CPS505. Computer Simulation . 3 Credits.

Use of the computer as a simulation tool, discrete and continuous simulation techniques, simulation languages, selected applications such as queuing theory, financial analysis, and simulation of computer systems.

Prerequisites:

  • Computer Science MS Prelim with a score of 1

Restrictions:

  • Must have the following level: Graduate

CPS515. Programming Languages . 3 Credits.

A critical evaluation of the design and implementation of programming languages. Topics include: history of programming languages, syntax and semantics, data and control structures, expressions, subprograms, scope and visibility, data abstraction, and exception handling.

Prerequisites:

  • Computer Science MS Prelim with a score of 1

Restrictions:

  • Must have the following level: Graduate

CPS520. Concurrent Programming . 3 Credits.

Mutual exclusion, Dekker's algorithm, semaphores, languages for concurrent programming, applications in operating systems.

Prerequisites:

  • Computer Science MS Prelim with a score of 1

Restrictions:

  • Must have the following level: Graduate

CPS522. Operating Systems . 3 Credits.

A comprehensive investigation of Operating Systems concepts, including the following topics: Process Management, Memory Management, File Management, Input/Output, and Deadlocks. Examples of these concepts will be illustrated using the Unix operating system.

Prerequisites:

  • Computer Science MS Prelim with a score of 1

Restrictions:

  • Must have the following level: Graduate

CPS524. Parallel Computation . 3 Credits.

Efficient parallel algorithms on arrays, trees, hypercubes, and PRAMS for a variety of problems. Structural properties of various network architectures and their relationships.

Prerequisites:

  • Computer Science MS Prelim with a score of 1

Restrictions:

  • Must have the following level: Graduate

CPS526. Advanced Data Structures . 3 Credits.

In-depth study of methods for organizing, retrieving, and modifying data in digital computers, as well as mathematical analysis of these techniques.

Prerequisites:

  • Computer Science MS Prelim with a score of 1

Restrictions:

  • Must have the following level: Graduate

CPS528. Algorithms . 3 Credits.

Algorithms for a variety of applications. Various design and analysis techniques. Probabilistic and approximation algorithms.

Prerequisites:

  • Computer Science MS Prelim with a score of 1

Restrictions:

  • Must have the following level: Graduate

CPS530. Computer Networks . 3 Credits.

Network topology and communication media, resource sharing, performance analysis, protocols, local networks.

Prerequisites:

  • Computer Science MS Prelim with a score of 1

Restrictions:

  • Must have the following level: Graduate

CPS532. Theory of Computation . 3 Credits.

Computability by Turing machines, grammars, and recursive functions. Uncomputability and computational complexity.

Prerequisites:

  • Computer Science MS Prelim with a score of 1

Restrictions:

  • Must have the following level: Graduate

CPS535. Formal Languages . 3 Credits.

Phrase-structure languages, automata and their languages, applications of formal languages to pattern recognition.

Prerequisites:

  • Computer Science MS Prelim with a score of 1

Restrictions:

  • Must have the following level: Graduate

CPS540. Artificial Intelligence . 3 Credits.

Basic problem solving methods, game playing, knowledge representation using first order logic, knowledge representation using other logics, theorem proving, pattern recognition, symbolic processing.

Prerequisites:

  • Computer Science MS Prelim with a score of 1

Restrictions:

  • Must have the following level: Graduate

CPS545. Advanced Operating Systems . 3 Credits.

The study of modern operating systems. Process, memory, device, and file management; virtual machines, distributed systems, security, reliability, performance analysis.

Prerequisites:

  • Computer Science MS Prelim with a score of 1

Restrictions:

  • Must have the following level: Graduate

CPS550. Software Engineering . 3 Credits.

Program development tools, structured design and programming methodologies, software testing and validation, managing software development.

Prerequisites:

  • Computer Science MS Prelim with a score of 1

Restrictions:

  • Must have the following level: Graduate

CPS552. Object Oriented Programming . 3 Credits.

The concepts of object oriented programming -- encapsulation, aggregation, inheritance, constructors, destructors, polymorphism, and templates. Various choices for design and implementation. Writing programs is typically a major component of this course.

Prerequisites:

  • Computer Science MS Prelim with a score of 1

Restrictions:

  • Must have the following level: Graduate

CPS554. User Interface Programming . 3 Credits.

Introduction to methodologies, techniques, libraries, interfaces, and tools to design and implement window-based graphical user interfaces. The course is typically a programming intensive course.

Prerequisites:

  • Computer Science MS Prelim with a score of 1

Restrictions:

  • Must have the following level: Graduate

CPS555. Advanced Database Principles . 3 Credits.

Recovery, integrity, concurrency, data models, extended relational model, distributed databases, database machines.

Prerequisites:

  • Computer Science MS Prelim with a score of 1

Restrictions:

  • Must have the following level: Graduate

CPS560. Cryptography . 3 Credits.

Transposition ciphers, substitution ciphers, algebraic systems, block ciphers, public key systems, data encryption standard.

Prerequisites:

  • Computer Science MS Prelim with a score of 1

Restrictions:

  • Must have the following level: Graduate

CPS565. Compiler Design . 3 Credits.

Compiler design and implementation using top-down and bottom-up parsing. Scanner and parser generators.

Prerequisites:

  • Computer Science MS Prelim with a score of 1

Restrictions:

  • Must have the following level: Graduate

CPS567. Compiler Optimizations . 3 Credits.

An overview of the evolving field of compiler optimizations. Internal program representations, local and global optimizations, control flow analysis, data flow frameworks, static single assignment form, control dependence analysis, automatic parallelization, interprocedural analysis, pointer alias analysis, loop transformations.

Prerequisites:

  • Computer Science MS Prelim with a score of 1

Restrictions:

  • Must have the following level: Graduate

CPS570. Systems Programming . 3 Credits.

Systems programming in assembly and/or high-level language. Students will write several systems programs, such as a RAM disk and a virus detection program.

Prerequisites:

  • Computer Science MS Prelim with a score of 1

Restrictions:

  • Must have the following level: Graduate

CPS575. Advanced Computer Architecture . 3 Credits.

Study of current trends in computer architecture with topics selected by instructor. Among these may be parallel processing, capability-based systems and microprocessor architecture.

Prerequisites:

  • Computer Science MS Prelim with a score of 1

Restrictions:

  • Must have the following level: Graduate

CPS580. Functional Programming . 3 Credits.

The functional language mode, lambda calculus, functional programming in one or more languages, the design and implementation of an interpreter for a functional programming language.

Prerequisites:

  • Computer Science MS Prelim with a score of 1

Restrictions:

  • Must have the following level: Graduate

CPS590. Thesis in Computer Science . 3-6 Credits.

Preparation and writing of a thesis under the guidance of graduate faculty. Required form available in the Records and Registration Office.

Prerequisites:

  • Computer Science MS Prelim with a score of 1

Restrictions:

  • Must have the following level: Graduate

CPS593. Computer Science Selected topic. 3-12 Credits.

Selected topics courses are regularly scheduled courses that focus on a particular topic of interest. Descriptions are printed in the Schedule of Classes each semester. Selected topics courses may be used as elective credit and may be repeated for credit, provided that the topic of the course changes.

Restrictions:

  • Must have the following level: Graduate

CPS594. Fieldwork Comp Science. 1-12 Credits.

Restrictions:

  • Must have the following level: Graduate

CPS595. Indep Study Comp Science. 1-12 Credits.

Restrictions:

  • Must have the following level: Graduate

CPS599. Comprehensive Exam Workshop. 0 Credits.

Restrictions:

  • Must have the following level: Graduate
  • Must have the following field(s) of study (major, minor or concentration): Computer Science (270)

CPS693. Computer Science Selected Topic. 3-12 Credits.

Restrictions:

  • Must have the following level: Graduate

CPS793. Computer Science Selected Topic. 3-12 Credits.

Selected topics courses are regularly scheduled courses that focus on a particular topic of interest. Descriptions are printed in the Schedule of Classes each semester. Selected topics courses may be used as elective credit and may be repeated for credit, provided that the topic of the course changes.

Restrictions:

  • Must have the following level: Graduate

CPS795. Indep Study Comp Science. 0 Credits.

Restrictions:

  • Must have the following level: Graduate

CPS799. Continued Registration. 1 Credit.

Restrictions:

  • Must have the following level: Graduate