CS Courses
Computer Science courses and course listings.
CS 6320 - Requirements Analysis
Methods and principles for determining, documenting, analyzing, and formally specifying requirements for software systems.
3.000 Credit Hours
3.000 Lecture hours
CS 6330 - Software Generation & Test
Introduction to methods and principles for programming, testing, and managing the evolution of software systems.
3.000 Credit Hours
3.000 Lecture hours
CS 6340 - Software Analysis & Test
Fundamental principles and advanced techniques for static and dynamic program analysis and software testing. Software reliability, resilience, and trustworthiness.
3.000 Credit Hours
3.000 Lecture hours
CS 6390 - Programming Languages
Design, structure, and goals of programming languages. Object-oriented, logic, functional, and traditional languages. Semantic models. Parallel programming languages.
3.000 Credit Hours
3.000 Lecture hours
CS 6400 - DB Sys Concepts & Design
Study of fundamental concepts with regard to relational databases. Topics covered include database design, query processing, concurrency control, and recovery. Credit not given for both CS 6400 and CS 6754.
3.000 Credit Hours
3.000 Lecture hours
CS 6411 - O-O Database Model & Sys
Study of advanced database concepts as they apply to object-oriented database systems. Topics include semantic data models, object-oriented query languages, tools, and applications.
3.000 Credit Hours
3.000 Lecture hours
CS 6421 - Tempor,Spatial & Active DB
Study of advanced database concepts for temporal databases with emphasis on storage structure, processing and query languages, as well as active database concepts and implementation.
3.000 Credit Hours
3.000 Lecture hours
CS 6430 - Parallel & Distributed DB
Study of algorithms and performance in advanced databases. Systems include parallel, distributed, and client-server databases. Applications include data mining and on-line analytical processing.
3.000 Credit Hours
3.000 Lecture hours
CS 6451 - Human-Centered Computing
Introduction to the range of issues across the HCC disciplines, including design and research methodologies: cognitive, social, and cultural theories; assessment and evaluation: ethical issues.
3.000 Credit Hours
3.000 Lecture hours
CS 6452 - Prototyping Interact Sys
Introduction to design, prototyping and implementation of systems for human-centered computing. Focuses on core concepts in computer science and implications for interactive systems.
3.000 Credit Hours
3.000 Lecture hours
CS 6455 - User Interface Dsgn & Eval
Examines usability in the software development process with an emphasis on usability, requirements, methodology, design, and evaluation.
3.000 Credit Hours
3.000 Lecture hours
CS 6456 - Principles-UI Software
Considers the architectural and algorithmic principles behind the implementation of interactive software systems and the tools that support them.
3.000 Credit Hours
3.000 Lecture hours
CS 6460 - Educ Tech-Foundations
Introduction to educational technology, with an emphasis on theoretical foundations. Introduces basic philosophies, approaches, and technologies. Analyzes issues surrounding technology's impact on education.
3.000 Credit Hours
3.000 Lecture hours
CS 6465 - Computational Journalism
Technology is rapidly affecting how news information is gathered, reported, visualized, aggregated, summarized, distributed, and consumed. This class studies the computational technologies that impact journalism.
3.000 Credit Hours
3.000 Lecture hours
CS 6470 - Online Communities
Introduction to the design of online communities. Students study an existing community in depth, and then develop a new community design.
3.000 Credit Hours
3.000 Lecture hours
CS 6480 - Comp Visualiz Techniques
Principles, techniques, and practice in data, information, multivariate, and scientific visualization. Includes visualization methods, data structures, examples, and tools.
3.000 Credit Hours
3.000 Lecture hours
CS 6485 - Visual Meth-Sci & Engr
Algorithms, software, and practical applications of visualization techniques in science, engineering, business, and medicine. Includes data structures, multivariate visualization, interactive visualization, and visual representations and examples. Computer science students cannot receive credit for this course.
3.000 Credit Hours
3.000 Lecture hours
CS 6491 - Computer Graphics
Mathematical/physical/perceptual principles and modeling/rendering techniques used to create, represent, display, and animate models of 3D shapes and their properties.
3.000 Credit Hours
3.000 Lecture hours
CS 6505 - Computability & Algorithms
Important concepts from computability theory; techniques for designing algorithms for combinatorial, algebraic, and number-theoretic problems; basic concepts such as NP-Completeness from computational complexity theory.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Theory (CS)
CS 6520 - Computational Complexity
Introduction to resource-bounded computations, central complexity-theoretic concepts such as complexity classes, reducibility, completeness, and intractability.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Theory (CS)
CS 6550 - Design & Analy-Algorithms
Advanced techniques for designing and analyzing efficient algorithms for combinatorial, algebraic, and number-theoretic problems.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Theory (CS)
CS 6601 - Artificial Intelligence
Basic concepts and methods of artificial intelligence including both symbolic/conceptual and numerical/probabilistic techniques.
3.000 Credit Hours
3.000 Lecture hours
CS 6670 - Distrib Cntrl Algorithms
Algorithms for synchronous, asynchronous, and partially synchronous networks; analysis, control, and implementation of distributed systems such as robot fleets, animal groups.
3.000 Credit Hours
3.000 Lecture hours
CS 6705 - Applications of AI
A study of the principles and practice of artificial intelligence in areas other than computer science, with particular focus on engineering, science, and business applications. Computer science majors cannot receive credit for this course.
3.000 Credit Hours
3.000 Lecture hours
CS 6725 - Info Security Policies
Information security vulnerabilities and risks; legal, cost, privacy, and technology constraints; derivation of strategies; technical and procedural means of achieving desired ends.
3.000 Credit Hours
3.000 Lecture hours
CS 6750 - Human-Computer Interact
Describes the characteristics of interaction between humans and computers and demonstrates techniques for the evaluation of user-centered systems. Crosslisted with PSYC 6750.
3.000 Credit Hours
3.000 Lecture hours
CS 6754 - Engr Database Mgt System
Modeling and managing engineering information systems, integration of design and manufacturing functions in engineering product development, logical models of engineering product and processes. Credit not given for CS 6400 and CS 6754. Crosslisted with ME 6754.
3.000 Credit Hours
3.000 Lecture hours
CS 6763 - Design of Environments
Analysis of design processes; analysis of current design tools at both the user interface and functional levels; procedures for developing better design tools. Crosslisted with COA 6763.
3.000 Credit Hours
3.000 Lecture hours
CS 6764 - Geometric Modeling
Software development course focusing on 3D geometric constructions and modeling; emphasizes solid modeling and its role in design. Crosslisted with COA 6764.
3.000 Credit Hours
3.000 Lecture hours
CS 6770 - Mixed Reality Design
Introduction to the design of Mixed Reality experiences. Focuses on informal design, integration of media theory, HCI and technology issues. Significant group design projects.
3.000 Credit Hours
2.000 Lecture hours
3.000 Lab hours
CS 6780 - Medical Image Processing
A study of methods for enhancing, analyzing, interpreting, and visualizing information from two- and three-dimensional data obtained from a variety of medical image modalities. Crosslisted with ECE and BMED 6780.
3.000 Credit Hours
3.000 Lecture hours
CS 6795 - Intro-Cognitive Science
Multidisciplinary perspectives on cognitive science. Interdisciplinary approaches to issues in cognition, including memory, language, problem solving, learning, perception, and action. Crosslisted with ISYE and PSYC 6795.
3.000 Credit Hours
3.000 Lecture hours
CS 7000 - Master's Thesis
Master's Thesis Prerequisite: consent of the College.
1.000 TO 21.000 Credit Hours
1.000 TO 21.000 Lecture hours
CS 7001 - Grad Studies-Computing
Research tools including computer systems, as well as fundamental problem-solving skills, are introduced. Lectures on current computing research are presented and projects are required. Credit not allowed in a program of study for a graduate degree.
5.000 Credit Hours
3.000 Lecture hours
6.000 Lab hours
CS 7110 - Parallel Computer Arch
Issues in the design, implementation, and programming of parallel machines.
3.000 Credit Hours
3.000 Lecture hours
CS 7210 - Distributed Computing
Fundamental concepts in distributed systems, including global states, logical clocks, and failure models. Distributed algorithms and their implementations using advanced distributed programming systems.
3.000 Credit Hours
3.000 Lecture hours
CS 7230 - Software Dsgn,Impl & Eval
Design, implementation, and evaluation of systems software. Distributed/parallel applications will be constructed and evaluated using the systems support that is developed.
3.000 Credit Hours
1.000 Lecture hours
6.000 Lab hours
CS 7250 - Broadband Networking Sys
Focus on the data link layer and its relationship to layers below and above. Gigabit Ethernet, SONTET, fibre channel; media including wireless, satellite, xDSL, cable.
3.000 Credit Hours
3.000 Lecture hours
CS 7260 - Internet Arch & Protocols
Detailed discussion of the problems and solution techniques that arise in internetworking. Topics include routing, addressing, quality of service, and security.
3.000 Credit Hours
3.000 Lecture hours
CS 7270 - Networked Apps & Services
End-to-end functional building blocks and their use in adaptive and non-adaptive applications, including multimedia: coding, compression, security, directory services.
3.000 Credit Hours
3.000 Lecture hours
CS 7450 - Inform Visualization
Study of computer visualization principles, techniques, and tools used for explaining and understanding symbolic, structured, and/or hierarchical information. Includes data and software visualization.
3.000 Credit Hours
3.000 Lecture hours
CS 7455 - Issues/Human-Center Comp
In-depth focus on theoretical, methodological, conceptual, and technical issues across the HCC disciplines associated with humans (cognitive, biological, socio-cultural); design; ethics; and analysis and evaluation.
3.000 Credit Hours
3.000 Lecture hours
CS 7460 - Collaborative Computing
Introduction to computer-supported collaborative work, workflow automation, and meeting augmentation. The course deals with models, enabling technology, systems, and applications.
3.000 Credit Hours
3.000 Lecture hours
CS 7465 - Edu Tech-Design and Eval
Intensive project class in which students design, implement, and evaluate a piece of educational technology, applying the theory learned in Educational Technology: Conceptual Foundations.
3.000 Credit Hours
3.000 Lecture hours
CS 7467 - Comp Collaborative Learn
Computer-supported collaborative learning is the use of Internet-based technologies to support learning in social settings. Focus on issues of implementation and evaluation.
3.000 Credit Hours
3.000 Lecture hours
CS 7470 - Ubiquitous Computing
Investigates the infrastructure required to develop mobile and ubiquitous computing applications and establishes major research themes and experimental practices.
3.000 Credit Hours
3.000 Lecture hours
CS 7490 - Adv Image Synthesis
Advanced techniques in realistic image synthesis based on the physics of light. Anti-aliasing, textures, surface reflectance, distribution ray tracing, volume rendering, radiosity, and image-based rendering.
3.000 Credit Hours
3.000 Lecture hours
CS 7491 - 3D Complexity
Multiresolution, compression, collision, morphing, visibility, and computational geometry techniques for accessing, rendering, and animating complex 3D models in engineering, scientific, business, or entertainment applications.
3.000 Credit Hours
3.000 Lecture hours
CS 7495 - Computer Vision
An introduction to computer vision and machine perception. An intensive study of the process of generating a symbolic description of the scene by interpretation of images(s).
3.000 Credit Hours
3.000 Lecture hours
CS 7496 - Computer Animation
Motion techniques for computer animation and interactive games (keyframing, procedural methods, motion capture, and simulation) and principles for storytelling, composition, lighting, and interactivity.
3.000 Credit Hours
3.000 Lecture hours
CS 7497 - Virtual Environments
An introduction to virtual reality and virtual environments. Issues covered will include VR technology, software design, 3D human-computer interaction, and applications for VR.
3.000 Credit Hours
3.000 Lecture hours
CS 7510 - Graph Algorithm
Algorithms for graph problems such as maximum flow, matching, network reliability, minimum cuts, covering, coloring, planarity, shortest paths, and connectivity. Crosslisted with MATH 7510 and ISYE 7510.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Theory (CS)
CS 7520 - Approximation Algorithms
Approximation algorithms for NP-hard optimization problems, design and analysis techniques for such algorithms.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Theory (CS)
CS 7530 - Randomized Algorithms
Techniques for designing and analyzing randomized algorithms, derandomization techniques.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Theory (CS)
CS 7610 - Modeling and Design
Information-processing theories of modeling and design; topics include design decision making, problem solving and learning, and knowledge-based modeling and design.
3.000 Credit Hours
3.000 Lecture hours
CS 7611 - AI Problem Solving
Basic concepts and methods of AI problem solving, knowledge representation, reasoning, and learning.
3.000 Credit Hours
3.000 Lecture hours
CS 7612 - AI Planning
Symbolic numerical techniques that allow intelligent systems to decide how they should act in order to achieve their goals, including action and plan representation, plan synthesis and reasoning, analysis of planning algorithms, plan execution and monitoring, plan reuse and learning, and applications.
3.000 Credit Hours
3.000 Lecture hours
CS 7613 - Knowledge Systems Engr
Techniques for constructing large knowledge-based systems. Advanced symbolic AI techniques. Constraint systems.
3.000 Credit Hours
2.000 Lecture hours
3.000 Lab hours
CS 7615 - Knowledge Agents
Knowledge-based interactive systems, knowledge-based autonomous agents, agent architectures, learning and adaptation, agent evolution.
3.000 Credit Hours
3.000 Lecture hours
CS 7620 - Case-Based Reasoning
Topics include case representation, indexing and retrieval, adaptation, interpretive CBR, the cognitive model that CBR implies, and its implications for creativity, decision aiding, and education.
3.000 Credit Hours
3.000 Lecture hours
CS 7630 - Autonomous Robotics
The principles and practice of autonomous robotics including behavior-based design and architectures, adaptive learning and team behavior, and the role of perception within robotic systems.
3.000 Credit Hours
3.000 Lecture hours
CS 7631 - Multi-Robot Systems
In-depth examination of the current research on multi-robot systems. Students develop and critically analyze a multi-robot system.
3.000 Credit Hours
3.000 Lecture hours
CS 7636 - Computational Perception
Study of statistical and algorithmic methods for sensing people using video and audio. Topics include face detection and recognition, figure tracking, and audio-visual sensing.
3.000 Credit Hours
3.000 Lecture hours
CS 7640 - Learning in Auton Agents
An in-depth look at agents that learn, including intelligent systems, robots, and humans. Design and implementation of computer models of learning and adaptation in autonomous intelligent agents.
3.000 Credit Hours
3.000 Lecture hours
CS 7641 - Machine Learning
Machine learning techniques and applications. Topics include foundational issues; inductive, analytical, numerical, and theoretical approaches; and real-world applications.
3.000 Credit Hours
3.000 Lecture hours
CS 7645 - Num Machine Learning
This course explores problems in classification/pattern recognition (OCR, speech, vision, fault detection, medical diagnosis), regression/function approximation, robot control, and reinforcement learning.
3.000 Credit Hours
3.000 Lecture hours
CS 7650 - Natural Language
Topics include lexical analysis, parsing, interpretation of sentences, semantic representation, organization of knowledge, inference mechanisms. Newer approaches combining statistical language processing and information retrieval techniques.
3.000 Credit Hours
3.000 Lecture hours
CS 7695 - Phil of Cognition
Examines problems in the foundations of cognition in relation to current issues in cognitive sciences. Topics include meaning, mental imagery, consciousness, and mind/body problem.
3.000 Credit Hours
3.000 Lecture hours
CS 7697 - Cognitive Model Sci & Tech
Examines how models of reasoning and representation developed in the cognitive sciences can provide a basis for an enriched understanding of scientific theories and research practices in science and technology.
3.000 Credit Hours
3.000 Lecture hours
CS 7785 - Intro Robotics Research
Familiarizes students with the core areas of robotics; mechanics, control, perception, AI, and autonomy. Provides an introduction to the mathematical tools required in robotics research.
3.000 Credit Hours
3.000 Lecture hours
CS 7790 - Cognitive Modeling
A hands-on course covering a range of cognitive modeling methodologies. It explores the analysis, development, construction, and evaluation of models of cognitive processing. Crosslisted with ISYE and PSYC 7790.
4.000 Credit Hours
2.000 Lecture hours
6.000 Lab hours
CS 7999 - Prep-Doctoral Qual Exams
Consent of the College required.
1.000 TO 21.000 Credit Hours
1.000 TO 21.000 Lecture hours
CS 8001 - Seminar
Group discussion of advanced topics in information and computer science. May not be used by computer science majors for degree credit.
1.000 Credit Hours
1.000 Lecture hours
CS 8002 - Seminar
Group discussion of advanced topics in information and computer science. May not be used by computer science majors for degree credit.
2.000 Credit Hours
2.000 Lecture hours
CS 8003 - Seminar
Group discussion of advanced topics in information and computer science. May not be used by computer science majors for degree credit.
3.000 Credit Hours
3.000 Lecture hours
CS 8004 - Seminar
Group discussion of advanced topics in information and computer science. May not be use by computer science majors for degree credit.
4.000 Credit Hours
4.000 Lecture hours
CS 8005 - Seminar
Group discussion of advanced topics in information and computer science. May not be used by computer science majors for degree credit.
5.000 Credit Hours
5.000 Lecture hours
CS 8006 - Seminar
Group discussion of advanced topics in information and computer science. May not be used by computer science majors for degree credit.
6.000 Credit Hours
6.000 Lecture hours
CS 8030 - Software Engr Seminar
This seminar provides students with an opportunity to explore contemporary topics in software engineering.
1.000 Credit Hours
1.000 Lecture hours
CS 8750 - Robotics Research Fnd I
Multidisciplinary research course supervised by two robotics faculty from different schools participating in the robotics Ph.D. program.
3.000 Credit Hours
0.000 Lecture hours
9.000 Lab hours
CS 8751 - Robotics Research Fnd II
Continuation of AE 8751 (Robotics Research Foundation I).
3.000 Credit Hours
0.000 Lecture hours
9.000 Lab hours
CS 8795 - Colloquium-Cognitive Sci
Reading of research papers by leading cognitive scientists, attendance at their colloquia and meeting with them to discuss research. Crosslisted with ISYE and PSYC 8795.
1.000 Credit Hours
1.000 Lecture hours
CS 8801 - Special Topics
Special topics of current interest. Treatment of new developments in various areas of computing.
1.000 Credit Hours
1.000 Lecture hours
CS 8802 - Special Topics
Special topics of current interest. Treatment of new developments in various areas of computing.
2.000 Credit Hours
2.000 Lecture hours
CS 8803 - Special Topics
Special topics of current interest. Treatment of new developments in various areas of computing.
3.000 Credit Hours
3.000 Lecture hours
CS 8804 - Special Topics
Special topics of current interest. Treatment of new developments in various areas of computing.
4.000 Credit Hours
4.000 Lecture hours
CS 8805 - Special Topics
Special topics of current interest. Treatment of new developments in various areas of computing.
5.000 Credit Hours
5.000 Lecture hours
CS 8806 - Special Topics
Special topics of current interest. Treatment of new developments in various areas of computing.
6.000 Credit Hours
6.000 Lecture hours
CS 8893 - Spec Top-Cognitive Sci
Topics of current interest in cognitive science.
3.000 Credit Hours
3.000 Lecture hours
CS 8901 - Special Problems
Small-group or individual investigation of advanced topics in computing. Guided study and research.
1.000 TO 21.000 Credit Hours
1.000 TO 21.000 Lecture hours
CS 8902 - Special Problems
Small-group or individual investigation of advanced topics in computing. Guided study and research.
1.000 TO 21.000 Credit Hours
1.000 TO 21.000 Lecture hours
CS 8903 - Special Problems
Small-group or individual investigation of advanced topics in computing. Guided study and research.
1.000 TO 21.000 Credit Hours
1.000 TO 21.000 Lecture hours
CS 8997 - Teaching Assistantship
For graduate students holding graduate teaching assistantships.
1.000 TO 9.000 Credit Hours
1.000 TO 9.000 Lecture hours
CS 8998 - Research Assistantship
For graduate students holding graduate research assistantships.
1.000 TO 9.000 Credit Hours
1.000 TO 9.000 Lecture hours
CS 8999 - Doctoral Thesis Prep
Doctoral Thesis Preparation Audit only. Prerequisite: consent of the College.
1.000 TO 21.000 Credit Hours
1.000 TO 21.000 Lecture hours