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.
Information Approval Curriculum accredited by CNSS gratefully acknowledge funding by National Science Foundation

UIC Links

Security Links