CP SC 605 Introduction to Graphical Systems Design 3(3,0) Principles, computational techniques, and design concepts needed for designing systems for effective graphical displays. Preq: CP SC 212, 215, MTHSC 108, 311, with a C or better.
CP SC 611 Virtual Reality Systems 3(3,0) Design and implementation of software systems necessary to create virtual environments. Techniques for achieving real-time, dynamic display of photorealistic, synthetic images are discussed. Includes hands-on experience with electromagnetically-tracked, head-mounted displays and requires, as a final project, the design and construction of a virtual environment. Preq: CP SC 405 with a C or better.
CP SC 612 Eye Tracking Methodology and Applications 3(3,0) Introduction to the human visual system; visual perception; eye movements; eye tracking systems and applications in psychology, industrial engineering, marketing, and computer science; hands-on experience with real-time, corneal-reflection eye trackers, experimental issues. Final project requires execution and analysis of an eye tracking experiment. Preq: CP SC 360 or PSYCH 310 or MKT 431.
CP SC 614 Human and Computer Interaction 3(3,0) Survey of human and computer interaction, its literature, history, and techniques. Covers cognitive and social models and limitations, hardware, and software interface components, design methods, support for design, and evaluation methods. Preq: CP SC 212 and 215 with a C or better, or equivalent.
CP SC 624 System Administration and Security 3(3,0) Topics related to the administration and security of computer systems are covered. Primary emphasis is placed on the administration and security of contemporary operating systems. Preq: CP SC 360 and 332 or 422 with a C or better.
CP SC 628 Design and Implementation of Programming Languages 3(3,0) Overview of programming language structures and features and their implementation. Control and data structures found in various languages are studied. Runtime organization and environment and implementation models are also included. Preq: CP SC 231, 350, and 360 with a C or better.
CP SC 629 Translation of Programming Languages 3(3,0) Techniques and considerations for compiling and interpreting programming languages. Topics include scanning, parsing, optimization, code generation, and their theoretical foundations. Implementation of a compiler or a major component of a compiler normally is a term project. Preq: CP SC 350, 428.
CP SC 655 Computational Science 3(3,0) Introduction to the methods and problems of computational science. Course uses problems from engineering and science to develop mathematical and computational solutions. Case studies use techniques from Grand Challenge problems. Emphasizes the use of networking, group development, and modern programming environments. Preq: MTHSC 108, 311 and previous programming experience in a higher level language.
CP SC 662 Database Management Systems 3(3,0) Introduction to database/data communications concepts as related to the design of on-line information systems. Problems and solutions involving structuring, creating, maintaining, and accessing multiple-user databases are presented and solutions develped. Comparison of several commercially available teleprocessing monitor and database management systems is made. Preq: CP SC 360.
CP SC 663 Online Systems 3(3,0) In-depth study of the design and implementation of transaction processing systems and an introduction to basic communications concepts. A survey of commercially available software and a project using one of the systems is included. Preq: CP SC 462.
CP SC 664 Introduction to Computer Architecture 3(3,0) Survey of von Neumann computer architecture at the instruction-set level. Fundamental design issues are emphasized and illustrated using historical and current mainframe, supermini and micro architecture. Preq: CP SC 330 or consent of instructor.
CP SC 672 Software Development Methodology 3(3,0) Advanced topics in software development methodology. Techniques such as chief programmer teams, structured design and structured walk-throughs are discussed and used in a major project. Emphasis is on the application of these techniques to large-scale software implementation projects. Additional topics such as mathematical foundations of structured programming and verification techniques are also included. Preq: CP SC 360 and 372.
CP SC 681 Selected Topics 1-3(1-3,0) Areas of computer science in which nonstandard problems arise. Innovative approaches to problem solutions which draw from a variety of support courses are developed and implemented. Emphasis is on independent study and projects. May be repeated for a maximum of six credits, but only if different topics are covered. Preq: Consent of instructor.
CP SC 740 Computer Science for High School Teachers I 3(2,2) Modern problem-solving and programming methods for high school teachers; algorithm development, software life cycle concepts, system hardware and software components, and an introduction to programming in PASCAL. Restricted to graduate students and in-service teachers in secondary education. Preq: Introductory computer programming.
CP SC 801 Intensive Introduction to Computer Science for MFAC 5(3,2) Fundamental concepts of computing for computer science graduate students who have no undergraduate degree in computing. Topics include object-orientated design and programming, computer organization, software development systems, data structures, and graphical user interfaces. Heavy emphasis on laboratory and project work. Preq: Consent of instructor.
CP SC 805 Advanced Modeling Techniques in Computer Graphics 3(3,0) Advanced techniques used in the artificial rendering of natural scenes; current practice in computer graphics; full software implementation of each technique; extensive coding. Offered spring semester only. Preq: CP SC 405.
CP SC 807 3D Production Pipeline 3(3,0) Immerses students in the world of 3D computer graphics. Makes use of current industry-standard software. Topics include concept development, storyboarding, modeling, rigging, animation, texturing, lighting, rendering, particles, scripting, compositing, and editing. Preq: Digital Production Arts major or consent of instructor.
CP SC 808 Computer Animation 3(3,0) Scripting systems, motion control, articulated figures, forward and inverse kinematics, soft object deformation, inbetweening key deformations, morphing, animating analytical models. Preq: MTHSC 311 and CP SC 611 or consent of instructor.
CP SC 810 Introduction to Artificial Intelligence 3(3,0) Problem solving and game playing; knowledge representation; expert systems; natural language processing; perception and learning. Offered spring semester only. Preq: Consent of instructor.
CP SC 815 Special Effects Production 3(3,0) Video special effects, compositing problems, effects animation, matchmoving and 3-D geometry, color and texture reconstruction from 2-D images; extensive use of scripting languages and high-end software platforms. Preq: CP SC 605 or 611 and ART 821 or consent of instructor.
CP SC 820 Parallel Architecture 3(3,0) Parallel processing issues; vector and pipeline processors; arrays of processing elements; associative processors; data flow computers; networks of processors; survey of parallel programming languages; design and implementation of parallel algorithms; future trends. Offered spring semester only. Preq: CP SC 664.
CP SC 822 Case Study in Operating Systems 3(2,2) Case study of the design of an operating system. Class periods are devoted to reviewing source code and deducing the structure of the system. Lab exercises require students to make major changes to the system to enhance its performance on particular workloads. Preq: CP SC 422, consent of departmental graduate affairs chair.
CP SC 823 Operating Systems Design 3(3,0) Analytic, simulation, and conceptual models of operating systems and their application to the design and implementation of actual systems; kernel design and its implementation in UNIX-like systems; models of concurrent processes, processor scheduling, and memory management. Offered fall semester only. Preq: CP SC 423, MTHSC 401.
CP SC 824 Advanced Operating Systems 3(3,0) Recent trends in system design and implementation; operating system structures to support reliable secure systems; verification techniques; fault tolerant systems; operating system considerations for closely coupled multiprocessor systems; network operating systems. Offered spring semester only. Preq: CP SC 623 or consent of instructor.
CP SC 827 Translation of Programming Languages 3(3,0) Theoretical foundations and algorithms for compiling and interpreting programming languages. Topics include lexical analysis, syntactic analysis, semantics analysis, optimization, and code generation. Implementation of a compiler or a major component of a compiler is normally a term project. Preq: CP SC 350, 428.
CP SC 828 Theory of Programming Languages 3(3,0) Syntax and semantics of programming languages; finite state and pushdown processors; context-free models of syntax; parsing algorithms and semantic models. Preq: CP SC 429, 450.
CP SC 829 Advanced Compiler Topics 3(3,0) Code generation, register allocation, program optimization, data flow, interprocedural operations, parallel compilation and distributed compilation. Preq: CP SC 429, 450.
CP SC 830 Systems Modeling 3(3,0) Fundamental concepts and techniques used in the stochastic modeling of computer and computer-based communication systems. Applications include hardware configuration design, software performance evaluation, and reliability estimation of fault-tolerant systems. Offered spring semester only. Preq: CP SC 630 and MTHSC 400 or 800 or consent of instructor.
CP SC 838 Advanced Data Structures 3(3,0) Search trees; data structures for sets; index structures for data bases; data abstraction and automated implementation; implicit data structures; storage compaction of lists; data structures for decision trees; data structures in areas such as computer graphics, artificial intelligence, picture processing, and simulation. Offered fall semester only. Preq: Consent of instructor.
CP SC 839 Foundations of Theoretical Computer Science 3(3,0) Preparation for the study of advanced issues in computational complexity, algorithm correctness, and inherent limits to computing; set theory and proof techniques; classes of the Chomsky hierarchy. Preq: CP SC 350 or consent of department chair.
CP SC 840 Design and Analysis of Algorithms 3(3,0) Basic techniques for design and analysis of algorithms; models and techniques for obtaining upper and lower time and space bounds; time/space trade-offs; inherently difficult problems. Offered spring semester only. Preq: MTHSC 419 or CP SC 650 or equivalent.
CP SC 851 Software Systems for Data Communications 3(3,0) Structure of software systems supporting communications among computing devices having diverse processing and communication capabilities; characterization of data communications software in terms of unified network architectures consisting of several functional layers; evaluation of several network architectures. Offered fall semester only. Preq: Consent of instructor.
CP SC 852 Internetworking 3(3,0) Network architecture and communication protocols underlying the global interoperability of the Internet. Topics include addressing and routing, interconnection of autonomous networks, naming and name resolution, connection management, flow and congestion control, and network management. Preq: CP SC 851, E C E 638, or consent of instructor.
CP SC (ART) 860 Studio Computer Research 3-15(0,6-30) See ART 860.
CP SC 862 Database Management System Design 3(3,0) Concepts and structures for design and implementation of a DBMS; theoretical foundations for query systems; data modeling and information representation; user interface and internal system design considerations; system performance modeling and measurement; topics from the literature. Preq: CP SC 462.
CP SC 863 Multimedia Systems and Applications 3(3,0) Principles of multimedia systems and applications; techniques in effectively representing, processing, and retrieving multimedia data such as sound and music, graphics, image, and video; operating system and network issues in supporting multimedia; advanced topics in current multimedia research. Term project requires implementing some selected components of a multimedia system. Preq: Consent of instructor.
CP SC 864 Computer Architecture 3(3,0) Computer architecture and structures from the classical Von Neumann machines to state-of-the-art computer organizations; nonconventional architectures such as array, pipeline, associative, data flow, reduction, and tree machines. Offered fall semester only. Preq: CP SC 664.
CP SC 870 Software Design 3(3,0) Fundamental concepts of object modeling using object-oriented analysis and design; realistic application of software engineering principles within a variety of problem domains; mainstream language with facilities for object-training programming. Preq: Proficiency in programming in a procedural language.
CP SC 871 Foundations of Software Engineering 3(3,0) Techniques and issues in software design and development; tools, methodologies, and environments for effective design, development, and testing of software; organizing and managing the development of software projects. Preq: Graduate standing in Computer Science.
CP SC 872 Software Specification and Design Techniques 3(3,0) Techniques, tools, environments, and formal methods for software specification and design; verification of design correctness. Offered fall semester only. Preq: CP SC 672 or equivalent.
CP SC 873 Software Verification, Validation, and Measurement 3(3,0) Proofs of correctness; test planning; static and dynamic testing; symbolic execution; automated testing; verification and validation over the software life cycle; software metrics; software maintenance. Offered spring semester only. Preq: CP SC 672 or equivalent.
CP SC 875 Software Architecture 3(3,0) Creation, analysis, and maintenance of architectures for software systems. Basic principles, patterns, and techniques. Quality attributes of the architecture are used to make a quantitative analysis. Students create and analyze two architectures from different domains.
CP SC 881 Selected Topics 1-3(1-3,0) Advanced topics from current
problems of interest in computer science. Topics vary from semester to
se
mester. May be repeated for credit, but only if different topics are
covered. Preq: Consent of instructor.
CP SC 888 Directed Projects in Computer Science 1-6 Directed individual project supervised by department faculty. To be taken Pass/Fail only.
CP SC 891 Master's Thesis Research 1-12
CP SC 951 Seminar in Algorithms 1-3(1-3,0) Advanced topics from current problems of interest in algorithms. May be repeated for credit.
CP SC 952 Seminar in Computer Architecture 1-3(1-3,0) Advanced topics from current problems of interest in computer architecture. May be repeated for credit.
CP SC 953 Seminar in Database Systems 1-3(1-3,0) Advanced topics from current problems of interest in database systems. May be repeated for credit.
CP SC 954 Seminar in Operating Systems 1-3(1-3,0) Advanced topics from current problems of interest in operating systems. May be repeated for credit.
CP SC 955 Seminar in Programming Languages 1-3(1-3,0) Advanced topics from current problems of interest in programming languages. May be repeated for credit.
CP SC 956 Seminar in Programming Paradigms 1-3(1-3,0) Advanced topics from current problems of interest in programming paradigms. May be repeated for credit.
CP SC 957 Seminar in Software Engineering 1-3(1-3,0) Advanced topics from current problems of interest in software engineering. May be repeated for credit.
CP SC 981 Seminar in Computer Science 1-3(1-3,0) Topics of current research interest. May be repeated for credit.
CP SC 991 Doctoral Dissertation Research 1-12