Computer Science (CS)
CS 501 Workshop in Computer Science
Credits 1-3 Grading Basis Graded
Designed to provide workshop experience in a variety of computing areas. Does not satisfy graduation requirements for the Master of Science degree in computer science.
CS 503 Information Systems Security Management
Credits 1 Grading Basis Graded
An advanced study of the basic material needed to manage an information system. Topics covered include granting final approval to operate, accreditation of the system, and verifying compliance with stated policies and procedures. This course does not satisfy any requirements for the Master of Science degree in computer science.
CS 504 Information System Security Administration
Credits 1 Grading Basis Graded
An advanced course to prepare a student to ensure information systems and networks are used securely; to identify and report security incidents; to maintain configuration control of systems and software; and to identify anomalies or integrity loopholes. This course does not satisfy any requirements for the Master of Science degree in computer science.
CS 506 Assessment of Secure Information Systems
Credits 1 Grading Basis Graded
This course considers the assessment of the technical and non-technical security features of an information system in an operational configuration. Upon completion of the course, students should be able to identify the assurance levels achieved in meeting all applicable security policies, standards and requirements. This course does not satisfy any requirements for the Master of Science degree in computer science.
CS 510 Object Oriented Programming
Credits 3 Grading Basis Graded
This course covers fundamental programming techniques including basic data types, control structures, algorithm development, procedures, arrays and abstract data types.
CS 511 Computer Organization
Credits 3 Grading Basis Graded
This course is the study of the organization of computer systems, including a brief study of number systems and digital circuits. It also covers basic components of computer systems such as main memory, CPU, I/O and their interconnection mechanisms.
CS 512 Data Structures
Credits 3 Grading Basis Graded
This course covers commonly used data structures including stacks, queues and lists using both static and dynamic memory allocations and including elementary performance analysis of these data structures.
Prerequisites: CS 510 or equivalent.
CS 515 Discrete Mathematics
Credits 3 Grading Basis Graded
This course provides a survey of fundamental computer science concepts such as set theory, elementary number theory, functions, relations, sequences and recurrence relations, induction, counting techniques and introductory probability, propositional and predicate logic, and proof methods.
CS 523 Ethics, Law and Policy in Cyberspace
Credits 3 Grading Basis Graded
Study of ethical issues, legal resources and recourses, and policy implications inherent in our evolving online society. Provides an overview of the ethical challenges faced by individuals and organizations in the information age. Introduces the complex and dynamic state of the law as it applies to behavior in cyberspace.
Prerequisites: CS 550.
CS 530 Programming Languages
Credits 3 Grading Basis Graded
Study of the fundamental principles of programming language design and their realization in actual programming languages. Examines programming languages from the procedural, object-oriented, functional and declarative paradigms. Introduces basic concepts of grammars and parsing.
CS 531 Secure Programming
Credits 3 Grading Basis Graded
This course is a survey of concepts related to secure and rugged programming. It continues both the theoretical foundations of secure and rugged programming and various issues that arise in practice. Some language-specific and platform-specific issues are addressed.
Prerequisites: CS 512.
CS 550 Operating Systems
Credits 3 Grading Basis Graded
This course covers concepts and principles of multiple-user operating systems including memory, CPU, I/O device allocation, scheduling and security. Concepts studied will include memory hierarchies, performance evaluation, analytic models, simulation, concurrent programming and parallel processors. Completion of a student project is a significant part of the course.
CS 552 Applied Complexity Theory
Credits 3 Grading Basis Graded
Algorithms (sorting and searching, graph theory, arithmetic) with space and time complexity and analyses; formal models of computation; theoretical aspects of computational complexity, including complexity measures and hierarchies, intractable problems, and the P=NP question. Other topics in theoretical computer science with applications.
Prerequisites: Unconditional admission as a computer science graduate student.
CS 555 Secure Software Engineering
Credits 3 Grading Basis Graded
An overview of methodologies, tools and techniques for producing secure software systems. Students will cooperatively develop a secure software product. The course will also provide an introduction to professional resources and ethical issues for software developers.
Prerequisites: CS 512.
CS 557 Information Security
Credits 3 Grading Basis Graded
Fundamental concepts of information security including identification and authentication, access control, security models, security kernels, and Windows and Unix security. Discussions will cover the historical development of information security, cryptology, PKI key management, application-level security issues and security evaluation. Prerequisite: CS 550.
Prerequisites: CS 550.
CS 559 Computer Security
Credits 3 Grading Basis Graded
Computer security is one of the three traditional branches of information security. It studies the security of digital data within a computer system, either stand-alone or networked, and the control of the computer system. This course covers basic computer security building blocks include entity authentication, access control (including discretionary access control and mandatory access control [MAC]), MAC-based security models, formal methods, security development and evaluation, security auditing, and database access control.
CS 560 Networks and Network Security
Credits 3 Grading Basis Graded
Fundamental concepts, principles, and practical networking and internetworking issues relevant to the design, analysis and implementation of enterprise-level trusted networked information systems. Topics include networking and security architectures, techniques and protocols at the various layers of the Internet model. Prerequisite: CS 550.
Prerequisites: CS 550.
CS 574 Database Systems
Credits 3 Grading Basis Graded
Types of physical storage and access methods; data models; relational algebra and calculus, data definition and query languages; dependencies, decomposition and normalization; database design; recovery; consistency and concurrency; distributed databases. Examples from commercial databases.
Prerequisites: CS 511.
CS 585 Selected Topics I
Credits 3 Grading Basis Graded
Study of selected topics not otherwise covered in the regular offerings of the department. May be repeated for credit when course content changes.
CS 588 Introduction to Computer Graphics
Credits 3 Grading Basis Graded
Problems, objectives and study of computer graphics to include hardware, software and applications. Graphics, data structures and languages. Vectors, curves and character generation. Interactive display devices. Construction of hierarchical image lists. Surface representations. Discussion of problems of current interest.
Prerequisites: CS 510 and knowledge of calculus.
CS 610 Networking and Security
Credits 3 Grading Basis Graded
Fundamental concepts, principles, and practical networking and internetworking issues relevant to the design, analysis and implementation of enterprise-level trusted networked information systems. Topics include networking and security architectures, techniques and protocols at the various layers of the Internet model.
Prerequisites: CS 550.
CS 621 Software Assurance
Credits 3 Grading Basis Graded
This course investigates the engineering of robust security solutions. We study security problem definition and modeling, policy-to-code modeling, security factoring of software source code, model-based vulnerability analysis, and how security solutions are related to security problems through an assurance argument.
CS 625 Secure Operations
Credits 3 Grading Basis Graded
This course covers the principles of secure composition of heterogeneous security components such as servers, firewalls, workstations and intrusion detection systems. It also covers principles and practice related to secure operation of existing distributed systems. Principles of penetration testing for assessment of system security are also addressed.
CS 627 Cryptography: Algorithms and Applications
Credits 3 Grading Basis Graded
Cryptographic techniques to achieve confidentiality, integrity, authentication and non-repudiation are examined. The underlying mathematical concepts are introduced. Topics to be covered include symmetric and public key encryption, hashing, digital signatures, cryptographic protocols and other recent developments in the field.
Prerequisites: Unconditional admission as a computer science graduate student.
CS 630 Compiler Theory and Implementation
Credits 3 Grading Basis Graded
This course teaches an introduction to the theory of grammars and the mathematical foundations of compilers along with the practical considerations for developing them. The course covers practical aspects of all phases of the compilation process including lexical analysis, parsing, code generation and code optimization. Students develop a compiler for a small grammar using the appropriate techniques.
CS 633 Computer Forensics
Credits 3 Grading Basis Graded
This course teaches how to perform computer crime investigations. The course covers the recovery and analysis of digital evidence, addressing legal and technical issues. Forensic examination of Windows and Unix systems are used to illustrate typical investigative processes.
Prerequisites: CS 550.
CS 635 Secure Network Operations
Credits 3 Grading Basis Graded
Standard network security techniques for monitoring and maintaining an organization's internal and external networks. Students will learn how to detect network-based attacks, diagnose an attacker's intent, and respond to and recover from intrusions.
Prerequisites: CS 610.
CS 640 Malware Analysis
Credits 3 Grading Basis Graded
This course deals with the classification, identification and forensic analysis of malicious code found on computing systems or transmitted via digital networks. Topics will include types and classification of malware, a review of assembly programming and shell code exploits, reverse engineering techniques, dynamic and static code analysis, as well as techniques to identify and capture malicious code.
Prerequisites: CS 633.
CS 644 Artificial Intelligence
Credits 3 Grading Basis Graded
Application of heuristics to problem solving; perception and pattern recognition; search methods, production systems and knowledge representation; applications to expert systems, automatic programming and natural language processing.
Prerequisites: CS 512.
CS 652 Formal Methods for Information Security
Credits 3 Grading Basis Graded
A formal specification language is presented with case studies, proofs and the formal specification of software components. Additional topics may include formal security policy modeling, seminal formal systems, first-order logic, set theory, relations, functions, sequences, bags, free types, formal and rigorous proof, immanent reasoning, reification, decomposition and Floyd-Hoare logic.
CS 660 Advanced Network Security
Credits 3 Grading Basis Graded
This is a project-based course. Students will learn advanced network security concepts, conduct information security research and apply what they have learned throughout the information security master's program to better secure critical information infrastructure.
Prerequisites: CS 610.
CS 666 Software Construction and Testing
Credits 3 Grading Basis Graded
Study of the state-of-the-art in software construction and testing. Topics include tools, techniques and practices for software production, testing, verification, validation and evaluation.
Prerequisites: CS 555.
CS 680 Reading and Research
Credits 3 Grading Basis Graded
Opportunity for supervised reading and research in areas of special interest to the student. Reading and research may be done only in the major field of study.
CS 685 Selected Topics II
Credits 3 Grading Basis Graded
An in-depth study of selected topics not otherwise covered in the regular offerings of the department. May be repeated for credit when course content changes.
CS 698 Comprehensive Continuance
Credits 1 Grading Basis Comprehensive/Thesis/Dissertation Continuance
Continued preparation in anticipation of the comprehensive examination. Course may be repeated as needed.
CS 699 Thesis Continuance
Credits 1 Grading Basis Comprehensive/Thesis/Dissertation Continuance
Continued study, research and writing in the area of thesis concentration. Course may be repeated as needed.
CS 700 Thesis Research
Credits 2-3 Grading Basis Satisfactory/Unsatisfactory
This course is graded on a satisfactory/unsatisfactory (S/U) basis.
