Department of Computer Science (CS)

The Department of Computer Science offers interdisciplinary graduate programs leading to the master of science and doctor of philosophy degrees. The programs are for students who are interested in professional careers in computer science. Two master's degree programs are available. The Plan I (thesis) degree is a research-oriented degree, while the Plan II degree is for students who are interested primarily in design.
 
Research activity in the department includes active investigations in software engineering, algorithms, database management, networks, parallel and distributed computation, programming languages, robotics and human-computer interaction.

Visit Department Website

Faculty

Head
  • David W. Cordes
Professor
  • David W. Cordes

Courses

CS
500
Hours
3
Discrete Math for Computer Science

This course applies techniques of discrete mathematics to computer science problems. Topics include logic, proofs, number theory, graphs, trees, sets, relations, counting, recurrences, generating functions, probability, and expectation.

Prerequisite(s): MA 301, and either CS 470 or CS 570
CS
503
Hours
3
Programming Languages

(Not open to students who have earned credit for CS 403)This course provides a graduate level presentation of Programming Languages. Formal student of programming language specification, analysis, implementation, and run-time support structures; organization of programming languages with emphasis on language constructs and mechanisms; and study of non-programming paradigms.

Prerequisite(s): (CS 200 or CS 315) Minimum Grade C- AND (CS 201 or CS 360) Minimum Grade C- AND ECE 383 Minimum Grade C- AND Not open to students who have earned credit for CS 403
CS
507
Hours
3
Software Interface Design

(Not open to students who havae earned credit for CS 407.)Concepts of the human-computer interface, emphasizing the software aspects. Dialog styles, form models, user documentation and the evaluation of human-computer software interfaces.

Prerequisite(s): (CS 200 or CS 315)Minimum Grade C- AND (CS 201 or CS 360) Minimum Grade C- AND ECE 383 Minimum Grade of C- AND Not open to students who have earned credit for CS 407.
CS
515
Hours
3
Software Design and Development

Object-oriented design and development using UML and Java, design patterns, and architectural patterns.

Prerequisite(s): (CS 200 or CS 315)Minimum Grade C- AND (CS 201 or CS 360) Minimum Grade C- AND ECE 383 Minimum Grade of C- AND Not open to students who have earned credit for CS 415.
CS
516
Hours
3
Testing and Quality Assurance

Study of verification & validation and related processes. Topics include techniques and tools for software analysis, testing, and quality assurance.

Prerequisite(s): (CS 200 or CS 315)Minimum Grade C- AND (CS 201 or CS 360) Minimum Grade C- AND ECE 383 Minimum Grade of C- AND Not open to students who have earned credit for CS 416.
CS
517
Hours
3
Requirements Engineering

Study of requirements engineering and its phases. Topics include formal, semi-formal, and informal paradigms for elicitation, documentation, and management of software system requirements.

Prerequisite(s): CS 315, (CS 350 or CS 351), CS 360, and ECE 383
CS
518
Hours
3
Software Project Management

Study of project management and its phases. Topics include techniques and tools for software project planning, estimation, organization, and management.

Prerequisite(s): CS 315, (CS 350 or CS 351), CS 360, and ECE 383
CS
520
Hours
3
Software Maintenance & Evolution

Study of software change and its phases. Topics include techniques and tools for cocept location, impact analysis, actualization, refactoring, and validation.

Prerequisite(s): CS 315, (CS 350 or CS 351), CS 360, and ECE 383
CS
526
Hours
3
Intro Operating Systems

(Not open to students who have earned credit for CS 426.) This course provides a graduate level presentation of Introduction to Operating Systems. Study of basic operating system concepts with an emphasis on memory processor, device, and information management.

Prerequisite(s): (CS 200 or CS 315)Minimum Grade C- AND (CS 201 or CS 360) Minimum Grade C- AND ECE 383 Minimum Grade of C- AND Not open to students who have earned credit for CS 426.
CS
528
Hours
3
Computer Security

An examination of computer security concepts, such as cryptographic tools, user authentication, access control, database security, intrusion detection, malicious software, denial of service, firewalls and intrusion prevention systems, trusted computing and multilevel security, buffer overflow, software security, physical and infrastructure security, human factors, and security auditing.

Prerequisite(s): CS 315 and ECE 383; and CS 350 or CS 351 or CS 352; and CS 360
CS
534
Hours
3
Compiler Construction

(Not open to students who have earned credit for CS 434.) This course provides a graduate level presentation of Compiler construction. Syntax and semantics of procedure-oriented languages and translation techniques used in their compilation; includes computer implementation.

Prerequisite(s): (CS 200 or CS 315)Minimum Grade C- AND (CS 201 or CS 360) Minimum Grade C- AND ECE 383 Minimum Grade of C- AND Not open to students who have earned credit for CS 434.
CS
535
Hours
3
Computer Graphics

(Not open to students who have earned credit for CS 435.) Display memory, generation of points, vectors, etc. Interactive versus passive graphics, analog storage of images on microfilm, etc. Digitizing and digital storage, pattern recognition by features, syntax tables, and random nets. The mathematics of three dimensions, projections, and the hidden-line problem.

Prerequisite(s): (CS 200 or CS 3115)Minimum Grade C- AND (CS 201 or CS 360) Minimum Grade C- AND ECE 383 Minimum Grade of C- AND Not open to students who have earned credit for CS 435.
CS
538
Hours
3
Computer Comm & Networks

(Not open to students who have earned credit for CS 438.)This course provides a graduate level presentation of Computer Communications and Networks. The student of the issues related to Computer communications. Topics include physical topologies, switching, error detection and correction, routing, congestion control, and connection management for global networks (such as the Internet) and local area networks (such as Ethernet). In addition, network programming and applications will be considered.

Prerequisite(s): (CS 200 or CS 315)Minimum Grade C- AND (CS 201 or CS 360) Minimum Grade C- AND ECE 383 Minimum Grade of C- AND Not open to students who have earned credit for CS 438.
CS
548
Hours
3
Network Security

Concepts concerning network security, including an examination of network security concepts, algorithms, and protocols.

Prerequisite(s): CS 200, CS 201 and ECE 383
CS
557
Hours
3
Database Management Systems

(Not open to students who have earned credit for CS 457.) This course provides a graduate level presentation of Database Management Systems. Constituent parts of database management (design, creation, and manipulation of databases), client-server, relational, and object-oriented data models.

Prerequisite(s): (CS 200 or CS 315)Minimum Grade C- AND (CS 201 or CS 360) Minimum Grade C- AND ECE 383 Minimum Grade of C- AND Not open to students who have earned credit for CS 457.
CS
560
Hours
3
Introduction To Autonomous Robotics

(Not open to students who have earned credit for CS 460.) Issues involved with the implementation of robot control software including motion, kinematics, simulation testing, sensor incorporation and unmodeled factors.

Prerequisite(s): CS 426
CS
565
Hours
3
Artificial Intelligence

The advanced study of topics under the umbrella of artificial intelligence including problem solving, knowledge representation, planning and machine learning.

Prerequisite(s): Graduate standing
CS
567
Hours
3
Computer Systems Architecture

Computer architectures, computer design, memory systems design, parallel processing concepts, supercomputers, networks, and multiprocessing systems.

CS
570
Hours
3
Computer Algorithms

(Not open to students who have earned credit for for CS 470.) This course provides a graduate level presentation of Introduction to Computer Algorithms. Construction of efficient algorithms for computer implementation.

Prerequisite(s): (CS 200 or CS 315)Minimum Grade C- AND (CS 201 or CS 360) Minimum Grade C- AND ECE 383 Minimum Grade of C- AND Not open to students who have earned credit for CS 470.
CS
575
Hours
3
Formal Languages & Machines

(Not open to students who have earned CS 475.) Regular expressions and finite automata. Context free grammars and pushdown automata. Recursively enumerable languages and turing machine. The Chomsky hierarchy.

Prerequisite(s): (CS 200 or CS 315)Minimum Grade C- AND (CS 201 or CS 360) Minimum Grade C- AND ECE 383 Minimum Grade of C- AND Not open to students who have earned credit for CS 475.
CS
580
Hours
3
Computer Simulation

Introduction to simulation and use of computer simulation models; simulation methodology, including generation of random numbers and variants, model design, and analysis of data generated by simulation experiments.

Prerequisite(s): (CS 200 or CS 315)Minimum Grade C- AND (CS 201 or CS 360) Minimum Grade C- AND ECE 383 Minimum Grade of C- AND Not open to students who have earned credit for CS 480.
CS
591
Hours
3
Special Topics In Cs

Formal courses that cover new and innovative topics in computer science and do not yet have their own course numbers. Specific course titles will be announced.

CS
592
Hours
1-6
Independent Study

This course requires a written proposal that must be approved by the sponsoring faculty member before registration.

CS
598
Hours
1-6
Non-Thesis Research

No description available.

CS
599
Hours
1-6
Thesis Research

No description available.

CS
600
Hours
3
Foundatns Software Engr

Introduction to formal software development techniques; theoretical foundations of specification, design, and testing; and programming methodologies and software reuse.

Prerequisite(s) with concurrency: CS 515 or CS 415
CS
601
Hours
3
Desn Analy Comptr Algort

A study of algorithm design techniques; analysis of performance of algorithms; and fundamental principles and concepts of algorithm construction, proof, and analysis.

CS
602
Hours
3
Adv Formal Lang & Machin

Regular languages, context-free languages, recursive and recursively enumerable languages, nondeterminism, and undecidability.

CS
603
Hours
3
Organz Program Languages

Design and implementation of programming languages; syntax and translation; semantic structures and run-time representations; data, operations, control structures, and storage management.

Prerequisite(s): CS 503
Prerequisite(s) with concurrency: CS 403
CS
605
Hours
3
Artificial Intelligence

An advanced course in artificial intelligence topics. These topics include, but are not limited to, topics such as problem solving, knowledge representation, planning, and machine learning. The course will examine the various branches within the field as well as applications of artificial intelligence.

CS
606
Hours
3
Analys Operating Systems

Design of operating systems; advanced examination of synchronization, deadlock, virtual memory, and security; and parallel and distributed systems.

Prerequisite(s) with concurrency: CS 426 or CS 526
CS
607
Hours
3
Software User Interface

Concepts of the human-computer interface, emphasizing the software aspects. Dialog styles, form models, user documentation, and the evaluation of human-computer software interfaces.

Prerequisite(s): CS 507
Prerequisite(s) with concurrency: CS 407
CS
609
Hours
3
Database Management

Data model theory, comparison of existing database systems, implementation technology, selection, evaluation techniques, integrity, security, authorization and protection, and hardware architecture.

Prerequisite(s): CS 557
Prerequisite(s) with concurrency: CS 457
CS
612
Hours
3
Advanced Data Structures

A graduate-level study of data structures. Topics include self-balancing trees binomial and Fibonacci heaps, disjoint sets, graphs and digraphs.

CS
613
Hours
3
Adv Computer Comm & Networks

Study of computer networks, including telecommunications and related data transmission techniques. Network philosophy, design, and implementation.

Prerequisite(s): CS 438 or CS 538
CS
615
Hours
3
Cryptography and Data Security

An examination of algorithms and concepts in cryptography and data security, such as symmetric ciphers, asymmetric ciphers, public-key cryptography, hash functions, message authentication codes, key management and distribution.

Prerequisite(s): CS 528 or CS 428
CS
618
Hours
3
Wireless Mbile Netrwrk Protocl

Network protocol design and analysis in wireless and mobile networks. Topics include ad hoc.

Prerequisite(s): CS 438 or CS 538 or CS 613 or ECE 406 or ECE 506 or ECE 502
CS
630
Hours
3
Empirical Software Engineering

Introduction to empirical research methods in software engineering. Focus on measuring processes and designing experiments.

Prerequisite(s): CS 315 or CS 515
CS
631
Hours
3
Software Evolution and Maintenance and Evolution

Advanced study of techniques and tools to automate software evolution tasks. Topics include: static and dynamic analysis, mining software repositories, concept and feature location, traceability link recovery, and clone detection, analysis, and management.

Prerequisite(s): CS 600
CS
691
Hours
3
Special Topics

Formal courses that cover new and innovative topics in computer science and do not yet have their own numbers; specific course titles will be announced.

CS
692
Hours
1-6
Special Topics

This course requires a written proposal that must be approved by the sponsoring faculty member before registration.

CS
699
Hours
1-12
Dissertation Research

No description available.