CS Courses
Computer Science courses and course listings.
CS 1050 - Constructing Proofs
Techniques of rigorous argumentation, emphasizing reading and writing of formal and informal proofs. Application of techniques to domains of relevance to computer science.
3.000 Credit Hours
3.000 Lecture hours
CS 1100 - Freshman Leap Seminar
Small group discussions with first year students are led by one or more faculty members and include a variety of foundational, motivational, and topical subjects for computationalist.
1.000 Credit Hours
1.000 Lecture hours
CS 1171 - Computing in MATLAB
For students with a solid introductory computing background needing to demonstrate proficiency in the MATLAB language.
1.000 Credit Hours
0.000 Lecture hours
3.000 Lab hours
CS 1301 - Intro to Computing
Introduction to computing principles and programming practices with an emphasis on the design, construction and implementation of problem solutions use of software tools.
3.000 Credit Hours
3.000 Lecture hours
CS 1315 - Intro Media Computation
Introduction to computation (algorithmic thinking, data structures, data transformation and processing, and programming) in a media and communication context.
3.000 Credit Hours
3.000 Lecture hours
CS 1316 - Rep Structure & Behavior
Modeling the structure of media (e.g., music, graphical scenes) using dynamic data structures. Designing objects as encapsulations of structure and behavior. Algorithms for simulating objects. May not be taken for credit by students who have credit for CS 1322.
3.000 Credit Hours
3.000 Lecture hours
CS 1321 - Intro to Computing
Foundations of computing with an emphasis on the design, construction, and analysis of algorithms. Laboratory-based instruction to computers and software tools.
3.000 Credit Hours
3.000 Lecture hours
CS 1322 - Object Oriented Prog
Introduction to techniques and practices for implementing algorithms. Emphasis on professional software practices. Projects focus on interactive and computationally intensive programs, including large program management.
3.000 Credit Hours
3.000 Lecture hours
CS 1331 - Intro-Object Orient Prog
Introduction to techniques and methods of object-oriented programming such an encapsulation, inheritance, and polymorphism. Emphasis on software development and individual programming skills.
3.000 Credit Hours
3.000 Lecture hours
CS 1332 - Data Struct & Algorithms
Computer data structures and algorithms in the context of object-oriented programming. Focus on software development towards applications.
3.000 Credit Hours
3.000 Lecture hours
CS 1371 - Computing for Engineers
Foundations of computing with an introduction to design and analysis of algorithms and an introduction to design and construction of programs for engineering problem-solving.
3.000 Credit Hours
3.000 Lecture hours
CS 1372 - Program Design for Engrs
Design, analysis and implementation of programs for engineering problem-solving using ANSI Standard C, with an introduction to C++.
3.000 Credit Hours
3.000 Lecture hours
CS 1801 - Special Topics
Courses of timely interest to the profession, conducted by resident or visiting faculty.
1.000 Credit Hours
1.000 Lecture hours
CS 1802 - Special Topics
Courses of timely interest to the profession, conducted by resident or visiting faculty.
2.000 Credit Hours
2.000 Lecture hours
CS 1803 - Special Topics
Courses of timely interest to the profession, conducted by resident or visiting faculty.
3.000 Credit Hours
3.000 Lecture hours
CS 1804 - Special Topics
Courses of timely interest to the profession, conducted by resident or visiting faculty.
4.000 Credit Hours
4.000 Lecture hours
CS 1805 - Special Topics
Courses of timely interest to the profession, conducted by resident or visiting faculty.
5.000 Credit Hours
5.000 Lecture hours
CS 2110 - Computer Organiz & Program
An introduction to basic computer hardware, machine language, assembly language, and C programming.
4.000 Credit Hours
3.000 Lecture hours
3.000 Lab hours
Course Attributes:
Tech Elect CS, Engr, &Sciences
CS 2200 - Systems and Networks
A broad exposure to computer system structure and networking including software abstractions in operating systems for orchestrating the usage of the computing resources.
4.000 Credit Hours
3.000 Lecture hours
3.000 Lab hours
Course Attributes:
Tech Elect CS, Engr, &Sciences
CS 2261 - Media Device Architectur
Controlling the interface between hardware and software in media devices. Machine-level programming (e.g., in C) to create graphics, generate sound, and support user interaction.
4.000 Credit Hours
3.000 Lecture hours
3.000 Lab hours
Course Attributes:
Tech Elect CS, Engr, &Sciences
CS 2335 - Software Practicum
Methods for solving large programming problems. Techniques for quality assurance, managing programs, working in teams, analyzing problems, and producing effective solutions.
3.000 Credit Hours
2.000 Lecture hours
3.000 Lab hours
Course Attributes:
Tech Elect CS, Engr, &Sciences
CS 2340 - Objects and Design
Object-oriented programming methods for dealing with large programs. Focus on quality processes, effective debugging techniques, and testing to assure a quality product.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Tech Elect CS, Engr, &Sciences
CS 2600 - Knowledge Rep & Process
Introduction to the representation and manipulation of complex symbolic and sub-symbolic information.
4.000 Credit Hours
3.000 Lecture hours
3.000 Lab hours
Course Attributes:
Tech Elect CS, Engr, &Sciences
CS 2698 - Research Assistantship
Independent research conducted under the guidance of a faculty member.
1.000 TO 12.000 Credit Hours
1.000 TO 12.000 Lecture hours
CS 2699 - Undergraduate Research
Independent research conducted under the guidance of a faculty member.
1.000 TO 12.000 Credit Hours
1.000 TO 12.000 Lecture hours
Course Attributes:
Tech Elect CS, Engr, &Sciences
CS 2801 - Special Topics
Courses of timely interest to the profession, conducted by resident or visiting faculty.
1.000 Credit Hours
1.000 Lecture hours
Course Attributes:
Tech Elect CS, Engr, &Sciences
CS 2802 - Special Topics
Courses of timely interest to the profession, conducted by resident or visiting faculty.
2.000 Credit Hours
2.000 Lecture hours
Course Attributes:
Tech Elect CS, Engr, &Sciences
CS 2803 - Special Topics
Courses of timely interest to the profession, conducted by resident or visiting faculty.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Tech Elect CS, Engr, &Sciences
CS 2804 - Special Topics
Courses of timely interest to the profession, conducted by resident or visiting faculty.
4.000 Credit Hours
4.000 Lecture hours
Course Attributes:
Tech Elect CS, Engr, &Sciences
CS 2805 - Special Topics
Courses of timely interest to the profession, conducted by resident or visiting faculty.
5.000 Credit Hours
5.000 Lecture hours
Course Attributes:
Tech Elect CS, Engr, &Sciences
CS 3101 - Comp Sci Ventures
Students will learn how computer-science-based ventures are developed. The course is project-based. Students propose, analylze, pitch, design, implement, package and market web-2.0 and virtual-world-based products and services.
3.000 Credit Hours
3.000 Lecture hours
CS 3210 - Design-Operating Systems
Operating systems concepts, including multi-threading, scheduling, synchronization, communication, and access control. Projects will cover design and implementation of several operating systems components.
3.000 Credit Hours
2.000 Lecture hours
3.000 Lab hours
Course Attributes:
Computer Systems (CS), Tech Elect CS, Engr, &Sciences
CS 3220 - Processor Design
Principles in pipelined processor design, with emphasis on the need for a close interaction between code generation and architecture.
3.000 Credit Hours
2.000 Lecture hours
3.000 Lab hours
Course Attributes:
Computer Systems (CS), Tech Elect CS, Engr, &Sciences
CS 3240 - Languages and Computation
Interpreters as abstract machines and the tools used to construct them, such as scanners and parsers. An introduction to models of computation as embodied by different programming languages. Limits of and relationships between these models.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Tech Elect CS, Engr, &Sciences
CS 3251 - Computer Networking I
Introduction to problems in computer networking, including error recovery, medium access, routing, flow control, and transport. Emphasis on current best practice. Includes programming of networked applications.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Networking & Telecom (CS), Tech Elect CS, Engr, &Sciences
CS 3300 - Intro to Software Engr
Team-based project class to introduce and apply software engineering principles and practices.
3.000 Credit Hours
2.000 Lecture hours
3.000 Lab hours
Course Attributes:
Software Engineering (CS), Tech Elect CS, Engr, &Sciences
CS 3451 - Computer Graphics
Geometric constuctions; transformations; perception; reflection models; photorealistic; non-photorealistic, and image-based rendering; rendering software and API's; triangle-mesh processing; graphic acceleration; user-interaction, design and animation.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Graphics & Visualization (CS), Tech Elect CS, Engr, &Sciences
CS 3510 - Dsgn & Analysis-Algorithms
Basic techniques of design and analysis of efficient algorithms for standard computational problems. NP-Completeness.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Tech Elect CS, Engr, &Sciences
CS 3511 - Algorithms Honors
Techniques of design and analysis of efficient algorithms for standard computational problems. NP-Completeness Project.
3.000 Credit Hours
3.000 Lecture hours
CS 3600 - Intro-Artificial Intell
An introduction to artificial intelligence and machine learning. Topics include intelligent system design methodologies, search and problem solving, supervised and reinforced learning.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Intelligent Systems (CS), Tech Elect CS, Engr, &Sciences
CS 3651 - Prototyping Intell Appl
Hands-on course teaching the fundamentals of electronics of electrical and mechanical prototyping.
4.000 Credit Hours
3.000 Lecture hours
3.000 Lab hours
CS 3630 - Intro-Perception & Robotic
Covers fundamental problems and leading solutions for computer and robot perception and action from the point of view of autonomous robot navigation.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Tech Elect CS, Engr, &Sciences
CS 3650 - Proto Intell Appliances
Students will learn to embed intelligent control and sensing on hand held or portable devices. All aspects of prototyping these devices are covered, including embedding electronics, materials considerations and manfacturing techniques.
3.000 Credit Hours
2.000 Lecture hours
3.000 Lab hours
Course Attributes:
Tech Elect CS, Engr, &Sciences
CS 3750 - User Interface Design
Human computer interface is considered in terms of user-system compatibility. Concepts in human factors and interface design are covered in relation to capabilities of both humans and computers. Crosslisted with PSYC 3750.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Tech Elect CS, Engr, &Sciences, Usablity (CS)
CS 3790 - 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 PST, PSYC, and ISYE 3790.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Educational Technoloogy (CS), Tech Elect CS, Engr, &Sciences
CS 3801 - Special Topics
Courses of timely interest to the profession, conducted by resident or visiting faculty.
1.000 Credit Hours
1.000 Lecture hours
Course Attributes:
Tech Elect CS, Engr, &Sciences
CS 3802 - Special Topics
Courses of timely interest to the profession, conducted by resident or visiting faculty.
2.000 Credit Hours
2.000 Lecture hours
Course Attributes:
Tech Elect CS, Engr, &Sciences
CS 3803 - Special Topics
Courses of timely interest to the profession, conducted by resident or visiting faculty.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Tech Elect CS, Engr, &Sciences
CS 3804 - Special Topics
Courses of timely interest to the profession, conducted by resident or visiting faculty.
4.000 Credit Hours
4.000 Lecture hours
Course Attributes:
Tech Elect CS, Engr, &Sciences
CS 3805 - Special Topics
Courses of timely interest to the profession, conducted by resident or visiting faculty.
5.000 Credit Hours
5.000 Lecture hours
Course Attributes:
Tech Elect CS, Engr, &Sciences
CS 4001 - Computing & Society
Examines the role and impact of information and communication technology in society, with emphasis on ethical, professional, and public policy issues. Credit not allowed for both CS 4001 and 4002.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Ethics Requirement, Tech Elect CS, Engr, &Sciences
CS 4002 - Robots and Society
Examines the role and impact of robotics, distributed sensing and actuation, ubiquitous computing and related technology in society, emphasizing ethical, professional and public policy issues. Credit not allowed for both CS 4001 and 4002
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Tech Elect CS, Engr, &Sciences
CS 4010 - Intro to Computer Law
Provides an introduction to copyrights, patents, trade secrets, trademarks, and commercial law pertaining to computer software and hardware.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Tech Elect CS, Engr, &Sciences
CS 4140 - Comp Model Algorithms
Design, analysis and implementation of algorithms for modeling natural and engineered systems; algorithm experimentation, and optimization.
3.000 Credit Hours
3.000 Lecture hours
CS 4210 - Adv Operating Systems
Operating system abstractions and their implementations, multi-threading, efficient inter-address communication, high-level synchronization, introduction to multi-processor and distributed operating systems, real-time systems.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Computer Systems (CS), Tech Elect CS, Engr, &Sciences
CS 4220 - Embedded Systems
Design principles, programming techniques, and case studies of embedded real-time systems. Interface techniques and devices. Representations and reasoning about physical processes.
3.000 Credit Hours
2.000 Lecture hours
3.000 Lab hours
Course Attributes:
Computer Systems (CS), Tech Elect CS, Engr, &Sciences
CS 4225 - Intro High Perf Comp
Design, analysis and implementation of software for high performance computing platforms for computational science and engineering applications. Concurrency and parallelism, machine architecture, algorithms, and software.
3.000 Credit Hours
3.000 Lecture hours
CS 4230 - Distributed Simulat Sys
Parallel and distributed computing algorithms and systems for distributed simulation applications such as virtual environments and analytic models.
3.000 Credit Hours
2.000 Lecture hours
3.000 Lab hours
Course Attributes:
Computer Systems (CS), Tech Elect CS, Engr, &Sciences
CS 4233 - Parallel Comp Arch
The objective of this course is to develop an in-depth understanding of the design, implementation, and evaluation of modern parallel computers.
3.000 Credit Hours
3.000 Lecture hours
CS 4235 - Intro to Info Security
Terms/concepts, threats, controls; problem definition; comprehensive information security model; security for operating systems, databases, network/distributed systems; administering security; legal/ethical/policy issues.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Computer Systems (CS), Networking & Telecom (CS), Tech Elect CS, Engr, &Sciences
CS 4237 - Comp & Network Security
Fundamental concepts and principles of computer security, operating system and database security, secret key and public key cryptographic algorithms, hash functions, authentication, firewalls and intrusion detection systems, IPSec ad VPN, and wireless security.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Tech Elect CS, Engr, &Sciences
CS 4240 - Compilers & Interpreters
Study of techniques for the design and implementation of compilers, interpreters, and program analyzers, with consideration of the particular characteristics of widely used programming languages.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Computer Systems (CS), Tech Elect CS, Engr, &Sciences
CS 4245 - Intro Data Mining & Analysis
Computational techniques for analysis of large, complex datasets, covering fundamental aspects as well as modern data mining and analysis techniques. Cross-listed with ISYE 4245.
3.000 Credit Hours
3.000 Lecture hours
CS 4251 - Computer Networking II
Principles of computer networks, including medium access, ARQ protocols, routing, congestion avoidance, and control. Emphasis on design options and tradeoffs. Includes significant network application programming.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Networking & Telecom (CS), Tech Elect CS, Engr, &Sciences
CS 4255 - Intro-Network Management
Introduction to SNMP-based network management. Practical application to network and system management including hands-on lab practice.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Networking & Telecom (CS), Tech Elect CS, Engr, &Sciences
CS 4260 - Telecommunications Sys
Study of telecommunication systems emphasizing functional roles of the various portions of the system and how various functional components support and interact with one another.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Networking & Telecom (CS), Tech Elect CS, Engr, &Sciences
CS 4261 - Mobile Apps & Svcs
This course provides an introduction to mobile applications and services with an emphasis on voice and data service integration in modern commercial networks.
3.000 Credit Hours
3.000 Lecture hours
CS 4270 - Data Communications Lab
Detailed study of the principles of data transmission systems and their performance, reinforced by laboratory exercises.
3.000 Credit Hours
1.000 Lecture hours
6.000 Lab hours
Course Attributes:
Networking & Telecom (CS), Tech Elect CS, Engr, &Sciences
CS 4280 - Survey-Telecom & the Law
Overview of telecommunication regulation at the federal, state, and judicial levels; review of FCC policies and restrictions on Bell operating companies under the AT&T Consent Agreement.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Tech Elect CS, Engr, &Sciences
CS 4290 - Advanced Computer Org
Topics concerning the hardware design of computer systems. Advanced techniques in high-performance pipelined central processing units. Memory and I/O systems. Parallel processors including shared-memory multiprocessors and cluster computers.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Computer Systems (CS), Tech Elect CS, Engr, &Sciences
CS 4320 - Software Processes
The course will provide students with an overall context in which software systems are developed from the viewpoint of processes that support development. Software engineering is described as the set of activities developers engage in to create high-quality products within schedule and budget constraints.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Software Engineering (CS), Tech Elect CS, Engr, &Sciences
CS 4330 - Software Applications
Software engineering methods specific to classes of applications or systems, including information systems and embedded, real-time systems.
3.000 Credit Hours
2.000 Lecture hours
3.000 Lab hours
Course Attributes:
Software Engineering (CS), Tech Elect CS, Engr, &Sciences
CS 4335 - Computer Simulation
Algorithms and techniques for creating computer simulations and their realization in software.
3.000 Credit Hours
3.000 Lecture hours
CS 4342 - Software Generation
Methods and principles for program generation, testing, and managing the evolution of software systems.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Tech Elect CS, Engr, &Sciences
CS 4343 - Sim & Military Gaming
Creation and use of modeling and simulation tools to analyze and train students regarding strategic events in international relations.
3.000 Credit Hours
3.000 Lecture hours
CS 4365 - Intro Enterprise Comp
A survey of basic software tools and techniques used in mission-critical systems and applications, combined with in-depth study of fundamental principles underlying enterprise computing.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Tech Elect CS, Engr, &Sciences
CS 4392 - Programming Languages
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Tech Elect CS, Engr, &Sciences
CS 4400 - Intr to Database Systems
Comprehensive coverage of mainstream database concepts such as the entity-relationship model, relational databases, query languages, and database design methodology. Includes a project.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Data Mgt Systems (CS), Tech Elect CS, Engr, &Sciences
CS 4420 - Database Sys Implement
Study of fundamental software components/algorithms of a database system, including the file manager, query engine, lock manager, and recovery manager. Includes a project component.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Data Mgt Systems (CS), Tech Elect CS, Engr, &Sciences
CS 4432 - Information Systems Dsgn
The analysis, design, and implementation of information systems. Topics include requirements analysis, design representations, implementation techniques, and evaluation of systems.
3.000 Credit Hours
2.000 Lecture hours
3.000 Lab hours
Course Attributes:
Data Mgt Systems (CS), Tech Elect CS, Engr, &Sciences
CS 4440 - Database Technologies
The course will cover current developments including distributed, object-oriented, temporal-spatial, Web-based, mobile, and active database technologies, and data warehousing and mining applications.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Data Mgt Systems (CS), Tech Elect CS, Engr, &Sciences
CS 4452 - Human-Centered Computing
Introduction to programming and human-centered principles of computing based on a communications and media computation context. Introduces user interface programming.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Tech Elect CS, Engr, &Sciences
CS 4455 - Video Game Design
Techniques for electronic game design and programming, including graphics game engines, motion generation, behavioral control for autonomous characters, interaction structure, social and interface issues of multi-user play, and the business aspects of game development.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Graphics & Visualization (CS), Tech Elect CS, Engr, &Sciences
CS 4460 - Intro Info Visualization
Introduction to principles and techniques of infomation visualization, the presentation of primarily abstract data to help people understand, analyze and make sense of data.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Tech Elect CS, Engr, &Sciences
CS 4464 - Computational Journalism
A study of computational and technological advancements in journalism with emphasis on technologies for developing new tools and their potential impact on news and information.
3.000 Credit Hours
3.000 Lecture hours
CS 4470 - User Interface Software
Concepts, techniques, structures, and strategies for implementation of interactive software.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Tech Elect CS, Engr, &Sciences, Usablity (CS)
CS 4475 - Comp Photography
An introductory course on the scientific, technical, perceptual, and aesthetic principles of pictures. Emphasis is on the techniques of image formation, analysis, merging, modification and their use for depiction of reality on a 2D medium of photographs.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Tech Elect CS, Engr, &Sciences
CS 4480 - Digital Video Special FX
A study of digital multimedia and the analysis and synthesis of digital video. Special attention paid to techniques for generating video special effects.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Graphics & Visualization (CS), Tech Elect CS, Engr, &Sciences
CS 4495 - 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
Course Attributes:
Graphics & Visualization (CS), Intelligent Systems (CS), Tech Elect CS, Engr, &Sciences
CS 4496 - 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
Course Attributes:
Graphics & Visualization (CS), Tech Elect CS, Engr, &Sciences
CS 4510 - Automata and Complexity
Computational machine models and their language classes. Undecidability. Resource-bounded computations. Central complexity-theoretic concepts such as complexity classes, reducibility and completeness.
3.000 Credit Hours
3.000 Lecture hours
Course Attributes:
Tech Elect CS, Engr, &Sciences, Theory (CS)
CS 4520 - Approximation Algs
Approximation algorithms for NP-hard optimization problems, design and analysis techniques for such algorithms.
3.000 Credit Hours
3.000 Lecture hours