College of Engineering

Professor Jorge I. Auñón, Dean

Department of Computer Science

Professor William M. Marcy, Chairperson.

Professors Gustafson and Oldham; Associate Professors Antonio, Bagert, and Lakhani; Assistant Professors English, Lopez-Benitez, Mengel, and Temkin.

This department offers study in the following graduate degree programs: COMPUTER SCIENCE, Master of Science and Doctor of Philosophy.

Entering students may be required to complete (without program credit) leveling courses or remedial courses as may be designated by the graduate faculty of the computer science program.

The computer science curriculum is organized into two sets of courses. One of the sets correspond to the computer science program's five areas of teaching and research concentration. Another set is composed of minor courses.

Minor Courses. The three-course intensive sequence (CS 5301, 5302, and 5303), may be used in structuring a minor program for graduate students pursuing graduate degrees in disciplines other than computer science.

Specialization Courses. The five areas are given below. Note that some course overlap occurs.

Computer Engineering: CS 5352, 5355, 5357, 5363, 5365, 5367, 5372, 5375, 5376, 5380, 5393, 6396.

Computer Science Foundation: CS 5352, 5353, 5357, 5361, 5363, 5365, 5376, 5381, 5382, 5383.

Intelligent Systems: CS 5341, 5368, 5388, 5389

Parallel and Distributed Systems: CS 5365, 5376, 5377, 5379, 5380.

Software Engineering: C S 5355, 5358, 5362, 5363, 5364, 5366.

General Courses. All courses in the computer science curriculum other than those listed above are categorized as general courses. Aside from leveling, a student's degree plan normally includes selections from the set of general courses, as well as from at least two of the four sets of track courses.

Courses in Computer Science. (CS)

5301, 5302. Foundations of Computer Science I, II (3:3:0 each). Prerequisite: Programming proficiency. An accelerated survey of computer science. Computer organization, high level and assembler languages, job control, software design, data structures, file organization, machines, and formal languages.

5303. Foundations of Computer Engineering (3:3:0). An accelerated introduction to the fundamentals of computer engineering for students without a computer hardware background. Boolean algebra, digital logic, digital devices and functions, digital system design, computer architecture.

5331. Special Problems in Computer Science (3). Individual studies in advanced computer science and technology.

5341. Pattern Recognition (3:3:0). Traditional and current approaches to the general problem of recognizing patterns in images, signals, and other domains. Includes Bayes decision theory, supervised learning, and nonparametric techniques.

5352. Advanced Operating Systems Design (3:3:0). Prerequisite: Strong programming skill and basic operating systems concepts or consent of instructor. Topics on distributed operating systems, such as synchronization, communication, file systems, and memory sharing are discussed. Several programming projects are implemented.

5353. Compiler Construction (3:3:0). Prerequisite: Strong programming skill and system programming background or instructor consent. Implementation aspects of compiler construction, automata for formal grammar, semantics of procedural languages, automatic generation of parser, and assembly code generation. A prototype of a compiler is developed.

5355. Real Time and Time Sharing Systems (3:3:0). Prerequisite: C S 2350, 3352, and 5364. Study of the functional needs in real time and time sharing systems. Basic techniques and display concepts, random-access fields, computer networks, simultaneous operations, multiprogramming, and multiprocessing.

5356. Advanced Database Management Systems (3:3:0). Systems aspects of relational databases are emphasized. Topics include relational database design, index and access structures implementation and performance evaluation, query processing and optimization, transaction management, and concurrency control.

5357. Multimedia Systems (3:3:0). Prerequisite: Consent of instructor. Multimedia digital audio processing; image and video data compression; and processing for multimedia presentations. Time-based media representation and synchronization; multimedia communication systems; and hypertext and programming.

5358. Software Studio (3:3:0). Prerequisite: C S 5362 and 5363. Capstone design and implementation experience of a major software project applying comprehensive software engineering techniques.

5361. Theory of Computing Languages (3:3:0). Prerequisite: C S 2461 and 5383, equivalent, or consent of instructor. General language theory with emphasis on computing languages, Chomsky typology, syntactical and semantic specifications. Standard and experimental methods for specification of languages. Current research on translation of natural language instructions to machine instructions.

5362. Object-Oriented Systems Development (3:3:0). Prerequisite: C S 2365, equivalent, or consent of instructor. Introduction to the object-oriented paradigm, and its application throughout the software and systems life cycles.

5363. Software Engineering Systems (3:3:0). Prerequisite: C S 2365, equivalent, or consent of instructor. Methodologies and computer-based systems for the design and construction of assuredly-correct systems of programs. Structured design; structured programming; computer-assisted software engineering. Theoretical foundations and current research.

5364. Software Metrics (3:3:0). Prerequisite: C S 2365, I E 3341, equivalent or consent of instructor. In-depth study of the use and application of software measurement to improve software products, resources, and processes. Topics include investigative techniques, data collection, and analysis.

5365. Principles of Multiple-Processor Systems (3:3:0). Prerequisite: C S 3375, equivalent, or consent of instructor. Comprehensive introduction to the field of parallel and distributed computing systems. Algorithms, architectures, networks, systems. Theory and applications.

5366. Software Process Improvement (3:3:0). Corequisite: C S 5302 or equivalent. Theory and practice for software process improvement and certification at the organizational, project team, and individual level.

5367. VLSI System Design (3:3:0). Prerequisite: Digital logic or consent of instructor. Design methodologies for development of digital circuits, simulation, layout generation, hardware design language, and design styles. Computer-aided tools are used to develop VLSI cells.

5368. Intelligent Systems (3:3:0). Prerequisite: Programming proficiency or consent of instructor. Comprehensive introduction to the field of artificially intelligent computer based systems. Theory and applications in artificial intelligence.

5372. Digital Computer Design (3:3:0). Prerequisite: Digital logic or consent of instructor. Computer systems are discussed in terms of functional blocks consisting of both hardware and software. The logical organization of the machines is stressed in terms of usage and capability

5375. Computer Systems Organization and Architecture (3:3:0). Prerequisite: Digital logic or consent of instructor. Introduction to the architecture, organization, and design of computer systems. Topics include processor, control and memory design, computer arithmetic, I/O, and a brief introduction to multiprocessors.

5376. Communication Networks (3:3:0). Networks in the context of parallel and distributed systems. Information theory applied to networks. Network topology. Problems and approaches in design, development, and management of communications networks.

5377. Distributed Computing (3:3:0). Prerequisite: Operating systems or consent of instructor. Introduction to distributed systems. Topics include communications, distributed operating systems, fault-tolerance, and performance issues. Case studies and term projects supplement this course.

5379. Parallel Processors and Processing (3:3:0). Prerequisite: C S 3364 and 3375, equivalent, or consent of instructor. Theory, architectures, and algorithms for the design and implementation of parallel computing systems. Operating system and programming language requirements for parallel computing; approaches and application.

5380. Fault-Tolerant Computer Systems (3:3:0). Prerequisite: C S 2365 and I E 3341 or consent of instructor. Introductory course to methodologies for specifying, designing, and modeling fault-tolerant computer systems. Includes fault classification, design techniques for fault detection and recovery, and reliability modeling techniques.

5381. Analysis of Algorithms (3:3:0). Theoretical analysis of algorithms for sorting, searching, sets, matrices, etc.; designing efficient algorithms for data structures, recursion, divide-and-conquer, dynamic programming; nondeterminism, NP-completeness and approximation algorithms.

5382. Theory of Graphs (3:3:0). Basic concepts in graphs. Fundamental algorithms for path traversal and searching; networks; trees; matchings and planarity testing; NP-completeness in graph theory.

5383. Theory of Automata (3:3:0). Prerequisite: C S 3383, equivalent, or consent of instructor. Structured grammars, relation between grammars and automata, deterministic, and nondeterministic finite automata, push-down store, and linear-bounded automata, and Turing machines.

5388. Neural Networks (3:3:0). Neural network theory, models, and implementation. Applications to real-time systems, robotics, pattern recognition, computer vision, and event driven systems.

5389. Advanced Neural Networks (3:3:0). Prerequisite: C S 5388 or consent of instructor. Recurrent neural networks, information processing, dissipative systems, applications to time series analysis and chaotic systems.

5393. Small Computing Systems (3:3:0). Prerequisite: CS 2350, equivalent, or consent of instructor. Microcomputers and minicomputers are programmed, evaluated, interfaced, and used in practical applications. Applications are determined by research and development interests of faculty members.

6000. Master's Thesis (V1-12).

6396. VLSI Algorithm Design (3:3:0). Prerequisite: C S 3364, equivalent, or consent of instructor. Theory and algorithms related to computer-aided design of very large scale integrated circuits. Covers heuristics such as min-cut and branch and bound.

7000. Research (V1-12).

8000. Doctor's Dissertation (V1-12).

Return to Main Directory
Page Maintained by: Cheryl Hedlund

Page Administrator: Gale Richardson

LAST UPDATE: 12-8-97