The security courseware spans the undergraduate and
graduate programs.
We offer both individual courses and specializations
in information assurance.
Note that on this page the term information assurance
is used as a synonym for computer security.
Computer Science Specializations
BS information assurance specialization
Requires:
- CS 487: Secure Computer Systems
- MCS 425: Codes and Cryptography
- CS 450: Introduction to Networking
- CS 385: Operating Systems Concepts and Design
- CS 335: Computer Ethics
Two courses (six credits) required to be selected from
the distribution requirements from the following humanities
and social sciences departments: Political Science, Psychology,
Sociology, Economics, Criminal Justice, Philosophy, History.
(These courses can be counted to distribution requirements as well).
MS information assurance specialization
Requires two courses from the following list:
- CS 487: Secure Computer Systems
- CS 587: Computer Systems Security
- CS 588: Network and Distributed Systems Security
- CS 545: Formal Methods in Concurrent and Distributed Systems
plus an MS Thesis or MS Project (4-8 credits) in Information Assurance.
PhD information assurance specialization
Requires two courses from the following list:
- CS 587: Computer Systems Security
- CS 588: Network and Distributed Systems Security
- CS 545: Formal Methods in Concurrent and Distributed Systems
Plus a doctoral thesis on a topic in Information Assurance.
Information Assurance Courses
MCS 425 Codes and Cryptography
3 OR 4 hours. Mathematics of communications theory, basic
information theory necessary to understand both coding theory and
cryptography, basic ideas and highlights for both coding theory and
cryptography, including public-key cryptosystems. 3 undergraduate
hours. 4 graduate hours. Prerequisite(s): Grade of C or better in MCS
261 or grade of C or better in CS 202; and grade of C or better in
MATH 310 or grade of C or better in MATH 320 or grade of C or better
in MATH 330.
CS 487 Secure Computing Systems:
4 Hours.
Introduction to computer security. Techniques for secure programming
of systems (avoiding stack smashing attacks, race
conditions). Security and privacy issues in existing host systems
including viruses, worms, sandboxing. Network security including
TCP/IP security, firewalls and intrusion detection. Prerequisite:
CS385 Recommended: CS450
CS 545 Formal Methods In Concurrent and Distributed Systems
4 Hours. Previously listed as EECS 575. Formal methods in
concurrent and distributed systems, particularly temporal logic and
automata for specifying and reasoning about security properties and
real-time properties. Automated and manual techniques for checking
correctness. Prerequisite: Consent of the instructor.
CS 587 Computer Systems Security
4 hours. Security of computer systems, including security
definitions, models, and properties; structure of computer systems and
its interaction with computer security; authentication; errant
programs; access control models; and covert channels. Prerequisite:
Consent of the instructor.
CS 588 Security and Privacy in Networked and Distributed Systems
4 hours. Security and privacy in networked and distributed systems
including applied cryptography; network security protocols for
authentication, confidentiality and integrity; distributed denial of
service attacks and defenses; distributed authentication
architectures; and privacy and anonymity. Prerequisite: Consent of the
instructor.