Skip to Search Skip to Navigation Skip to Content

Computer Science (CS) Course Descriptions

CS 5063  Computers for Teachers
(3-0) 3 hours credit. Prerequisite: Some programming experience.
Modern approaches to computing and program design in an object-oriented programming language such as Java. Emphasis in this course is on the design and implementation of computer-based solutions to problems in a variety of application areas. Curriculum materials and teaching strategies will be developed for teaching these concepts at the high school level. Cannot be applied to the Master of Science degree in Computer Science or the Doctor of Philosophy degree in Computer Science. (Formerly CS 5023. Credit cannot be earned for both CS 5063 and CS 5023.)

CS 5073  Advanced Topics for Teachers
(3-0) 3 hours credit. Prerequisite: CS 5063 or an equivalent.
A formal and in-depth study of algorithms, data structures, and abstraction using an object-oriented language such as Java. Curriculum materials and teaching strategies will be developed for teaching these topics. Large programs such as case studies will be used to present some of these topics along with examples of how to use a case study in the high school curriculum. Cannot be applied to the Master of Science degree in Computer Science or the Doctor of Philosophy degree in Computer Science.

CS 5083  Computer-based Multimedia for Teachers
(3-0) 3 hours credit. Prerequisite: CS 5053 or an equivalent.
Creation and use of multimedia to enhance student learning. Emphasis in this course is on designing and creating Web-based multimedia resources to illustrate and clarify difficult concepts. Existing graphical software packages will be used to accomplish the creation of instructional multimedia materials. Cannot be applied to the Master of Science degree in Computer Science or the Doctor of Philosophy degree in Computer Science.

CS 5103  Software Engineering
(3-0) 3 hours credit. Prerequisite: CS 4773 or software development experience.
Introduction to methods and tools for the requirements analysis and design stages of software life cycles. Discussion of software requirements including elicitation, modeling notations, analysis, and documentation. Brief overview of process models and project management. Examination of major architectural styles in existing software systems, design methods, design patterns, and reverse engineering. Course will include design experience using CASE tools.

CS 5113  Computer Graphics
(3-0) 3 hours credit. Prerequisites: CS 3343 and MAT 2233.
The course covers interactive 3-D computer graphics, polygonal representations of 3-D objects, boolean operations, interactive lighting models, interactive texture mapping, shadow generation as well as image-based techniques such as stencils, hidden-line removal, silhouette edges, rendering and global illumination.

CS 5123  Software Testing and Quality Assurance
(3-0) 3 hours credit. Prerequisite: CS 4773 or software development experience.
Introduction of testing techniques for software systems: unit testing, integration testing, system testing, acceptance testing, and regression testing; test plan and test case design; quality assurance; verification and validation.

CS 5153  User Interfaces and Usability
(3-0) 3 hours credit. Prerequisite: CS 4773 or software development experience.
This course focuses on the development of high-quality user interfaces. The course reviews the basics of user interface development, tools, and use-case driven design techniques; examines the elements of good design and usability, metrics for usability, and procedures for user testing.

CS 5233  Artificial Intelligence
(3-0) 3 hours credit. Prerequisite: CS 3343.
This course covers the construction of programs that use knowledge representation and reasoning to solve problems. Major topics include informed search, logical and probabilistic inference, machine learning, planning, and natural language processing.

CS 5253  Expert Systems
(3-0) 3 hours credit. Prerequisite: CS 5233.
This course presents an in-depth study of the area of artificial intelligence known as expert systems. Example expert systems are examined as a means of identifying the generally accepted methodologies for developing such systems as well as the basic research issues involved.

CS 5263  Bioinformatics
(3-0) 3 hours credit. Prerequisite: Graduate standing in Computer Science or consent of instructor.
Introduction to bioinformatics. Problem areas such as sequence analysis and gene component analysis, structure prediction, gene ontology, phylogenetic inference, gene regulation, and pathway construction and analysis will be approached from a computational viewpoint.

CS 5293  Numerical Linear Algebra
(3-0) 3 hours credit. Prerequisite: MAT 3633 or an equivalent.
Direct and iterative methods for solving general linear systems, the algebraic eigenvalue problem, least square problems, and solutions of sparse systems arising from partial differential equations. (Same as MAT 5293. Credit cannot be earned for both CS 5293 and MAT 5293.)

CS 5323  Principles of Computer and Information Security
(3-0) 3 hours credit. Prerequisites: CS 3733 and CS 3873.
An introduction to the protection of computer systems and networks. Topics include authentication, access controls, malicious logic, formal security methods, assurance and trust in computer systems and networks, firewalls, auditing and intrusion detection, cryptography and information hiding, risk management, computer forensics, and ethics.

CS 5343  Developing Secure Systems and Software
(3-0) 3 hours credit. Prerequisite: CS 3733.
An examination of methods for designing secure computer systems, networks, and software. Topics include the security development process, security policies and models, threat modeling, security code reviews and testing, the formal verification process, validation, and assessments.

CS 5353  Formal Languages, Automata, and Theory of Computation
(3-0) 3 hours credit. Prerequisites: CS 2233 and CS 3343.
Formal models of computation and syntax such as Turing machines, finite automata, non-determinism, formal languages, regular and context free grammars, complexity classes and NP-completeness.

CS 5363  Programming Languages and Compilers
(3-0) 3 hours credit. Prerequisites: CS 2233 and CS 3343.
A study of programming languages with an emphasis on their implementation. Topics include lexical analysis, language syntax, control structures, the binding of names, procedures, and their implementation in compilers.

CS 5443  Database Management Systems
(3-0) 3 hours credit. Prerequisite: CS 3743.
Design and implementation of database management systems. Topics include storage management, query optimization, concurrency control, crash recovery, integrity, and security in relational databases, object-oriented databases, object-relational databases, parallel databases, and distributed databases.

CS 5513  Computer Architecture
(3-0) 3 hours credit. Prerequisites: CS 3733 and CS 3853.
Study of modern computer architecture, including parallel computers, multiprocessors, pipelines, and fault tolerance.

CS 5523  Operating Systems
(3-0) 3 hours credit. Prerequisites: CS 3733 and CS 3853.
Operating systems concepts with an emphasis on distributed systems. Topics include process management and threads, inter-process communication, distributed objects and remote invocation, distributed naming and directory services, distributed file systems, middleware such as CORBA, access control and security.

CS 5603  Numerical Analysis
(3-0) 3 hours credit. Prerequisite: MAT 3633 or consent of instructor.
Emphasis on the mathematical analysis of numerical methods. Areas of study include solution of nonlinear equations and function optimization, approximation theory, and numerical quadrature. (Same as MAT 5603. Credit cannot be earned for both CS 5603 and MAT 5603.)

CS 5623  Simulation Techniques
(3-0) 3 hours credit. Prerequisites: CS 2123 and any statistics course.
This course introduces discrete-event simulation techniques, statistical models in simulation, random number generation, input modeling, output analysis and comparisons, and verification and validation of simulation models.

CS 5633  Analysis of Algorithms
(3-0) 3 hours credit. Prerequisite: CS 3343.
Models of computation and algorithm design and analysis techniques such as divide-and-conquer, greedy algorithms, dynamic programming, graph algorithms, amortized analysis.

CS 5971-6  Directed Research
1 to 6 hours credit. Prerequisites: Graduate standing in Computer Science and permission in writing (form available) of the instructor and the Graduate Advisor of Record.
The directed research course may involve either a laboratory or a theoretical problem. May be repeated for credit, but not more than 6 hours of CS 5971-6 and CS 6953, regardless of discipline, will apply to a degree. This course will not apply to the Ph.D. degree.

CS 6133  Software Specification and Verification
(3-0) 3 hours credit. Prerequisite: CS 5103.
This course introduces the theory and practice of formal methods for the specification and verification of computer-based systems. It emphasizes various techniques for modeling behavior of sequential and concurrent systems and reasoning about properties of models using automated analysis tools.

CS 6193  Advanced Topics in Software Engineering
(3-0) 3 hours credit. Prerequisite: CS 5103.
Advanced topics in an area of software engineering. Topics may include but are not limited to agile software development, model-driven software development, designing embedded and real-time software, empirical software engineering, re-engineering and software maintenance, and client/server development using open source tools. May be repeated for credit when topics vary.

CS 6243  Machine Learning
(3-0) 3 hours credit. Prerequisite: CS 5233 or CS 5633.
This course studies machine learning techniques in the area of artificial intelligence. Topics include inductive learning, unsupervised learning, speedup learning, and computational learning theory.

CS 6253  Neural Networks
(3-0) 3 hours credit. Prerequisite: CS 5233 or CS 5633.
Analysis of neural networks. Topics selected from biological nervous systems and learning, threshold logic units, perceptrons, spatial and temporal associative memories, Hopfield nets, backpropagation, Boltzmann machines, Kohonen networks, the Neocognitron, and mathematical models of neural systems. Advanced topics include neural network design, competitive learning, the CMAC model, adaptive resonance theory, bidirection associative memories, Kanerva self-propagating search, advanced simulated annealing, neurocomputer implementations, and advanced genetic algorithms.

CS 6293  Advanced Topics in Bioinformatics
(3-0) 3 hours credit. Prerequisite: CS 5263.
Advanced topics in bioinformatics. Topics may include but are not limited to efficient combinatorial algorithms for manipulating sequences, data mining techniques for biological data, biological imaging, and structural bioinformatics. May be repeated for credit when topics vary.

CS 6353  Unix and Network Security
(3-0) 3 hours credit. Prerequisite: CS 5323.
A technical survey of the fundamentals of computer and information security as it relates to networks and the UNIX operating system. Issues include authentication, common and advanced attack techniques for both the OS and networks, defensive strategies, intrusion detection, scan techniques and detection, forensics, denial of service techniques and defenses, libpcap, libdnet and libnet programming.

CS 6363  Advanced Compiler Construction
(3-0) 3 hours credit. Prerequisite: CS 4713 or CS 5363.
Areas of study include code generation techniques for vector machines and multiprocessors, implementation of higher-level imperative and functional languages, and run-time system support for distributed programming languages.

CS 6373  Applied Cryptography
(3-0) 3 hours credit. Prerequisite: CS 5323.
A course in applied cryptography with an emphasis on applying cryptographic techniques to solve real-world problems. Topics include a review of cryptographic primitives such as symmetric and asymmetric (public-key) cryptosystems, digital signatures, pseudo-random sequences, and hash functions. An emphasis will be placed on utilizing advanced protocols to solve problems such as key management in various environments and applications.

CS 6393  Advanced Topics in Computer Security
(3-0) 3 hours credit. Prerequisite: CS 5323.
Analysis of computer security. The topics may include but are not limited to database and distributed systems security, formal models for computer security, privacy and ethics, intrusion detection, critical infrastructure protection, network vulnerability assessments, wireless security, trusted computing, and highly dependable systems. May be repeated for credit when topics vary.

CS 6453  Advanced Database Systems
(3-0) 3 hours credit. Prerequisite: CS 5443.
Design and implementation of advanced database systems. Topics include data models, storage management, query optimization, transaction processing, integrity, security, and performance evaluation of emerging new database systems. Current database research topics will be explored.

CS 6463  Advanced Topics in Computer Science
(3-0) 3 hours credit. Prerequisites: Graduate standing in Computer Science and consent of instructor.
Advanced topics in an area of computer science. May be repeated for credit when topics vary.

CS 6513  Advanced Architecture
(3-0) 3 hours credit. Prerequisites: CS 5513 and CS 5523.
Areas of study include advanced architectures, including massively parallel and distributed systems. Issues of communication, fault tolerance, and performance are addressed.

CS 6523  Distributed Operating Systems
(3-0) 3 hours credit. Prerequisites: CS 5513 and CS 5523.
Distributed operating systems issues, including migration, naming, reliability, security, resource allocation, and scheduling are addressed in heterogeneous and homogeneous systems. Time-critical data such as video and audio are considered.

CS 6533  Multimedia Systems
(3-0) 3 hours credit. Prerequisite: CS 5523.
A course on the organization and structure of modern multimedia systems. Topics include image and video compression, quality of service concepts, network support for multimedia, operating systems support for multimedia, streaming video over the Internet and security issues in multimedia systems.

CS 6543  Networks
(3-0) 3 hours credit. Prerequisite: CS 5523.
This course introduces the underlying concepts and principles of modern computer networks, with emphasis on protocols, architectures and implementation issues in the Internet.

CS 6553  Performance Evaluation
(3-0) 3 hours credit. Prerequisites: CS 5513 and CS 5523.
This course introduces analytical modeling, simulation analysis, and experimental evaluation of computer systems and networks. Particular emphasis will be placed on the analysis and design of medium- to large-scale distributed computer systems and networks.

CS 6613  Parallel Numerical Methods and Software
(3-0) 3 hours credit. Prerequisites: CS 5603 and CS 6643.
The major goal of this course is to introduce students to the methods, tools, and ideas of parallel numerical computation. Important scientific application development and the basic methods for their solutions are addressed. Relevant mathematical software is reviewed, and its use is outlined. Extensive examples and case studies are given. Techniques for constructing parallel numerical software are studied.

CS 6643  Parallel Processing
(3-0) 3 hours credit. Prerequisite: CS 5513.
Parallel models of computation, performance measurement, and modeling of parallel algorithms and application studies on parallel computers.

CS 6653  Parallel Algorithms
(3-0) 3 hours credit. Prerequisites: CS 5513 and CS 5633.
Theoretical analysis of parallel algorithms and models. Studies of the fastest and most efficient parallel algorithms for a variety of problems. Emphasis is on fundamental results and techniques and on rigorous analysis of algorithmic performance. The structures and mapping relationships between the dominant network architectures and algorithms are also covered.

CS 6723  Image Processing
(3-0) 3 hours credit. Prerequisites: CS 5633 and MAT 2233 or an equivalent.
Topics include image acquisition, enhancement, transformations, filters, compression, segmentation and edge detection, morphology, and recognition.

CS 6953  Independent Study
3 hours credit. Prerequisites: Graduate standing in Computer Science and permission in writing (form available) of the instructor and the Graduate Advisor of Record.
Independent reading, research, discussion, and/or writing under the direction of a faculty member. For students needing specialized work not normally or not often available as part of the regular course offerings. May be repeated for credit, but not more than 6 hours of CS 5971-6 and CS 6953, regardless of discipline, will apply to a degree.

CS 6961  Comprehensive Examination
1 hour credit. Prerequisite: Approval of the Graduate Program Committee to take the Comprehensive Examination.
Independent study course for the purpose of taking the Comprehensive Examination. May be repeated as many times as approved by the Graduate Program Committee. Enrollment is required each term in which the Comprehensive Examination is taken if no other courses are being taken that term. The grade report for the course is either “CR” (satisfactory performance on the Comprehensive Examination) or “NC” (unsatisfactory performance on the Comprehensive Examination).

CS 6973  Special Problems
(3-0) 3 hours credit. Prerequisite: Consent of instructor.
An organized course offering the opportunity for specialized study not normally or not often available as part of the regular course offerings. Special Problems courses may be repeated for credit when topics vary, but not more than 6 hours, regardless of discipline, will apply to a degree.

CS 6981-3  Master’s Thesis
1 to 3 hours credit. Prerequisite: Consent of thesis advisor.
Thesis research and preparation. May be repeated for credit, but not more than 6 hours will apply to the Master’s degree. Credit will be awarded upon completion of the thesis. Enrollment is required each term in which the thesis is in progress.

CS 7123  Research Seminar
(3-0) 3 hours credit. Prerequisite: Consent of instructor.
Presentation and analysis of literature in a selected area of research. May be repeated, a minimum of 6 hours is required for the Doctoral degree.

CS 7211-6  Doctoral Research
1 to 6 hours credit. Prerequisite: Successful completion of the Doctoral Qualifying Examination.
May be repeated, a minimum of 18 hours is required for the Doctoral degree.

CS 7311-6  Doctoral Dissertation
1 to 6 hours credit. Prerequisite: Admission to candidacy for the Doctoral degree.
May be repeated, a minimum of 18 hours is required for the Doctoral degree.

Back to Top