400

CS 421 Artificial Intelligence

The fundamentals of artificial intelligence. Topics include: heuristic search, adversarial search, local search, knowledge-based systems, artificial neural networks, reinforcement learning, AI history and philosophy of minds.

3

Prerequisites

CS 305 with a grade of C- or better

CS 423 Computational Biology

Algorithmic and analysis techniques for biological data such as DNA, RNA, proteins, and gene expression. Topics include molecular biology, alignment and searching algorithms, sequence evolution algorithms, genetic trees, and analysis of microarray data. This course is interdisciplinary and assumes programming skills.

3

Prerequisites

CS 200 or 203 with a grade of C- or better; one of the following: BIO 205, BIO 207, CS 305 with a grade of C- or better

Cross Listed Courses

BIO 423, CS 523

CS 425 Introduction to Robotics

Concepts in robotics including state estimation, filtering, perception, localization, and mapping. Introduction to various topics in computer vision.  Methods for robotic control and learning. Current topics in applied robotics. Fee: $50

3

Prerequisites

CS 305 with a grade of C- or higher, MTH 201; MTH 361 or MTH 461 recommended

CS 427 Internet of Things

This is a practical course in "Making Smart Connected Things". Today, IoT exists in our home appliances, automobiles, airplanes, and on our wrists - tracking how we exercise, and measuring and analyzing our sleep. Topics include core IoT technologies (hardware, software, circuits, sensors) applied to hands-on projects. Fee: $100

3

Prerequisites

CS 305 with a grade of C- or higher

CS 428 User Experience Design

Learn about UX (User Experience) Design to gain practical insights into staying focused on the right work for the right people. Areas of study include: user research, information architecture, interaction design, and information design.

3

Prerequisites

CS 305 with a grade of C- or higher

CS 429 Introduction to Machine Learning

In-depth survey of basic and advanced concepts of machine learning. Topics include: linear discrimination, supervised, unsupervised, semi-supervised learning, multilayer perception, convolution neural networks, maximum-margin methods, Monte-Carlo, and reinforcement learning. Knowledge of linear algebra and vector calculus also recommended. 

3

Prerequisites

CS 305 with a grade of C- or better

CS 432 Computer Graphics

An examination of topics in computer graphics, including graphical output devices, line-drawing and clipping algorithms, representation and drawing of curves, techniques for transforming graphical images, and methods of modeling and rendering in three-dimensions. 

3

Prerequisites

MTH 201, CS 305 with a grade of C- or better, MTH 341 recommended.

CS 434 Database Management Systems

The design and implementation of databases with an emphasis on the use of relational database management systems (DBMS). Query languages, table and index design, query evaluation, transaction management, tuning, security.

3

Prerequisites

CS 305 with a grade of C- or better

CS 436 Parallel Computing

A study of architectures, algorithms and programming/debugging techniques that employ parallelism to increase performance of computer programs. Topics include parallel computer architectures, parallel programming languages for distributed and shared-memory multiprocessors and code optimization.

3

Prerequisites

CS 305 with a grade of C- or better

CS 438 Introduction to Big Data Analytics

As more data becomes available, solutions are needed to store, process, extract, interpret, and visualize large amounts of data. This course introduces algorithms and technologies for the storage, modeling, analysis, visualization, interpretation, and use of data.

3

Prerequisites

CS 305 with a grade of C- or higher; EGR 361 or MTH 361

Cross Listed Courses

CS 538

CS 440 Functional Programming

Introduction to the concepts of functional programming using the Haskell programming language. Topics include higher order functions, lambda calculus, algebraic data types, type classes, and monads.

3

Prerequisites

CS 305 with a C- or better

CS 443 Cloud Computing

Cloud computing is the delivery of on-demand computing resources, from applications to data centers, over the Internet with pay-as-you-go pricing. This course is a study of fundamentals and capabilities of cloud across various service models. Topics include cloud infrastructure, programming models, and security and privacy issues in cloud computing. Includes various case studies from the industry.
3

Prerequisites

CS 305 with a grade of C- or higher

CS 445 Computer Networks and Internetworking

A broad first course in computer networks and internetworking. OSI and TCP/IP layered models, TCP/IP protocol suite, transmission media, local area networks, network and transport-layer protocols, internetworking, internet addressing and routing.

3

Prerequisites

CS 305 with a grade of C- or better

CS 447 Computer Game Design

This course will provide an introduction to the field of computer game design. The philosophy, objectives, and history of this field will be explored. In addition, the course will emphasize practical applications of some of the more prevalent techniques.

3

Prerequisites

CS 305 with a grade of C- or higher

CS 448 Topics in Cybersecurity

Contemporary topics in Cybersecurity. Topics in this fast-moving field change from year to year, but each offering will introduce these core fundamentals: confidentiality, integrity, availability, access control, and defensive programming techniques. Fee: $50

3

Prerequisites

CS 305 with a C- or higher, CS 376

CS 483 Computer Science Capstone Project I

A major design experience based on the knowledge and skills acquired in earlier course work and incorporating appropriate standards and multiple realistic constraints. Projects have some combination of the following characteristics: realism, communication, exposure, teamwork, learning, and related opportunities. 

3

Prerequisites

EGR 300, CS 341

Corequisites

CS 083

CS 484 Computer Science Capstone Project II

Continuation of a major design experience based on the knowledge and skills acquired in earlier course work and incorporating appropriate standards and multiple realistic constraints. Projects have some combination of the following characteristics: realism, communication, exposure, teamwork, learning, and related opportunities. Fee: $40  

3

Prerequisites

CS 483

Corequisites

CS 084

CS 490 Directed Study

Selected study or project in computer science for upper-division students. Must be arranged between the student and an individual faculty member and subsequently approved by the dean of engineering. No more than three hours of directed study taken at the University may be used for elective credits to satisfy degree requirements.
Variable

CS 491 One Time Course Offering

Credit arranged.

Variable

CS 492 One Time Course Offering

Credit arranged.

Variable

CS 493 Research

Faculty-directed student research. Before enrolling, a student must consult with a faculty member to define the project. May be repeated for credit.
1-3

Prerequisites

Upper division standing.

CS 499 Senior Thesis

Research, study, or original work under the direction of a faculty mentor, leading to a scholarly thesis document with a public presentation of results. Requires approval of thesis director, department chair, dean, and the director of the honors program, when appropriate.

Variable

Prerequisites

Senior standing; 3.0 G.P.A. in the thesis area or good standing in the honors program.