400
In-depth study of professional responsibility in the field of computer science. Students are expected to read journal papers, articles, and books, participate in class discussions, and give presentations.
2
Prerequisites
Upper-division standing.
Design, analysis and correctness proofs of important algorithms from areas such as combinatorics, seminumerical algorithms, data storage and retrieval, systems programming, and artificial intelligence. Includes a study of complexity theory.
3
Prerequisites
CS 304 or
CS 305 and
MTH 311 and
EGR 361 or
MTH 461.
The history and applications of artificial intelligence. Topics include: inference, knowledge representation, search, cognitive architecture, decision making under uncertainty, and machine learning. Course is taught in fall of odd-numbered years.
3
Prerequisites
CS 303 or
CS 305.
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. Course is taught in fall of odd-numbered years.
3
Prerequisites
MTH 201,
CS 203 with a grade of C- or better, and one of the following:
BIO 205,
BIO 207, CS 303,
CS 305.
Cross Listed Courses
BIO 423
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. Course is taught in fall of even-numbered years.
3
Prerequisites
MTH 201 and CS 303 or
CS 305.
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. Course taught in fall of even-numbered years.
3
Prerequisites
CS 304 or corequisite or
CS 305.
Corequisites
CS 304 or prerequisite.
Software lifecycle models. Requirements engineering. Planning and managing software projects. Software design methods. System integration, software quality assurance, testing, and validation. Software maintenance.
3
Prerequisites
CS 301 and CS 303 or
CS 305.
Students will design, develop, and evaluate a web-based application. Emphasis on human factors, security, databases. Course is taught in spring of odd-numbered years.
3
Prerequisites
CS 304 or
CS 305.
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. Course is taught in spring of odd-numbered years.
3
Prerequisites
CS 304 or
CS 305.
Functions, structure, design, and problems of operating systems. Concepts and principles of operating system design and implementation including file system, CPU scheduling, memory management (including virtual memory), deadlocks in computer systems, concurrent processes and programming, threads, and protection.
3
Prerequisites
CS 304 or
CS 305 and
CS 333 or
EE 333.
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. Course is taught in spring of even-numbered years.
3
Prerequisites
CS 304 or
CS 305.
Cryptography, program security, security in operating systems, security in computer networks, security administration and policies. Course is taught in spring of even-numbered years.
3
Prerequisites
CS 304 or
CS 305.
Introduction to finite automata, Turing machines, formal languages, and computability.
3
Prerequisites
CS 203 with a grade of C- or better and
MTH 311.
Lexical analysis, syntactic analysis, type checking, and code generation. Introduction to optimization.
3
Prerequisites
CS 304 or
CS 305 and
CS 374 or
CS 333 or
EE 333 and
CS 451.
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. CS 483 and EGR 300 replace CS 480. Fee: $40.
2
Prerequisites
EGR 300
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. Replaces CS 481. Fee: $40.
3
Prerequisites
CS 483
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.
Credit arranged.
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.
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.