CMPS 330
Information Systems 3 credits
(Prequisite: CMPS 102 or CMPS 104 or CMPS 134) Introduction to concepts and practices of information processing, Computerized system requirements and techniques in providing appropriate decision-making information to management.
CMPS 331
Systems Analysis and Design
3 credits
(Prequisite: CMPS 330) A study of the system development methodology and the role played by the systems analyst in developing user-accepted information systems.
CMPS 340
File Processing 4 credits
(Prequisite: CMPS 144 required, CMPS 240 recommended.) File structures concepts and file processing applications using COBOL as a programming language. Topics include file maintenance and storage management; file searching, sorting, and merging; cosequential processing; index structures; B-tree, hash tables, indexed sequential files; database concepts.
CMPS 344
Programming Languages
3 credits
(Prerequisite: CMPS 352) A study of programming languages from both the theoretical and practical perspectives. The evolution of languages is reviewed in order to know the design considerations of the past and recognize those of the present. A survey of major and developing paradigms and languages is undertaken which includes use of specific languages to broaden the student's experience. Implementation is studied through an introduction to compiling and interpretation.
CMPS 350
Computer Architecture
3 credits
(Prerequisite: CMPS 250) A study of the logical structure of computer system organization including a survey of logic and design with an emphasis on functional components. Topics include instruction sets, hard-wired and micro-programmed control unit designs, memory systems (caches and virtual memory), I/Q systems (interrupts, DMA, and channels). Overview and examples of alternative and advanced computer architectures (pipeline, array processors, multiprocessors).
CMPS 352
Operating Systems
3 credits
(Prerequisite: CMPS 240 and CMPS 250) The analysis an design of computer systems, including operating system design, memory management, scheduling, and the implementation of multiprogramming.
CMPS 354
Data Communication and Networks
3 credits
(Prerequisite: CMPS 352) A study of data communication and networking concepts, including distributed system architectures, electronic interfaces, data transmission, data link protocols, terminal networks, computer communication, public data networks, and local area networks.
CMPS 360
Analysis of Algorithms
3 credits
Prerequisite: CMPS 240) A survey of methods for designing and analyzing algorithms. Classic alogrithms from graph theory, combinatorics, and text processing are examined, as are traditional design strategies such as divide-and-conquer, backtracking, and dynamic programming. Other topics include NP-completeness and parallel algorithms.
CMPS 362
Numerical Analysis
3 credits
Prerequisite: CMPS 134 and MATH 222) A survey of numerical methods of solving equations, integration, differentiation, interpolation, differential equations, and linear algebra, and the analysis of error.
CMPS 364
Theory of Computation
3 credits
(Prerequisite: CMPS 260) The development of a theoretical notion of computability and its relationship to Turing computability and recursive functions; the study of the relationships between automata, formal languages, and grammars.
CMPS 370
Computer Graphics
3 credits
(Prerequisite: CMPS 240) An introduction to the hardware, software, and techniques used to generate graphical representations by computer. Two and three dimensional concepts and algorithms are studied with corresponding use of popular standard packages (GKS, PHIGS, etc) to generate images. Advanced topics such as animation and the various aspects of realistic rendering are introduced.
CMPS 372
Artificial Intelligence
3 credits
(Prerequisite: CMPS 240) Problem solving using Expert Systems, heuristic programming techniques, tree speed-up techniques, and learning mechanisms.
CMPS 374
Fundamentals of Software Engineering
3 credits
(Prerequisite: CMPS 240) An introduction to the concepts of Software Engineering. Stress is placed upon formal models for the design and development of high-quality software. Topics include: project planning, requirements analysis; system design, program design, program implementation, program testing, system testing, system delivery, and maintenance. A group project will be included.
CMPS 384
Special Topics
3 credits
(Departmental permission required) Topics and prerequisites will be announced prior to preregistration.
CMPS 393
Computer Research
3 credits
(Departmental permission required) A research project carried out by a student under the direction of a faculty member in the department. The results will be prepared in a form suitable for publication.
Reader fee.