Course Information

Course description

A comprehensive study of the principles and practices of computer systems security including operating systems security, software security, network security, and web security. Topics include common attacking techniques such as virus, trojan, worms and memory exploits; applied cryptography and key management; intrusion detection and security analytics; trusted computing; access control; password protection; and legal and ethical issues in computer security.

Instructor information

TA information


  • Basic algorithmic design and analysis (CS 5343).

  • System programming and operating systems concepts (CS 5348).

Class modality

Remote/Virtual breakout sessions

  • Where: MS Teams (per-group channels).

  • When: Every Tuesday 9-10am CST according to the Schedule.

  • You can find your group and channel information here.

  • Participation is not required (but encouraged).

Student learning objectives/outcomes

Students shall be able to understand what are the common threats faced today, what are the foundational theory behind information security, what are the basic principles and techniques when designing a secure system, how to think adversarially, how today's attacks and defenses work in practice, how to assess threats for their significance, and how to gauge the protections and limitations provided by today's technology. In particular, the students will have:

  • Ability to understand and explain fundamental security concepts.

  • Ability to understand common threats and recognize vulnerabilities of information systems.

  • Ability to understand and apply cryptographic algorithms.

  • Ability to understand and apply network security enumeration and monitoring tools.

  • Ability to understand and apply security policies.

Grading policy

  • Homeworks (25%): 3 homeworks.

  • Projects (30%): 3 projects.

  • Quizzes (10%): 4 quizzes.

  • Midterm exam (15%).

  • Final exam (20%).

  • Homework 3 is optional: Homework 3 grade will substitute the lowest prior homework grade if it is higher.

Evaluation & late policy

  • Homeworks and projects will be evaluated on a 100-point scale (0-100).

  • Late homeworks and projects will be penalized 10 point per day (24-hour period).

  • Quizzes and Homework 3 must be submitted before the deadline (above late policy is not applicable); late submission will result in zero point.

Academic integrity


Cheating vs. collaboration

Collaboration is a very good thing. On the other hand, cheating is considered a very serious offense and is vigorously prosecuted. Vigorous prosecution requires that you be advised of the cheating policy of the course before the offending act.

For this semester, the policy is simple: don't cheat:
  • Never share code or text on the homeworks and projects.

  • Never use someone else's code or text in your solutions.

  • Never consult potential solutions on the Internet.

On the other hand, for this class, you are strongly encouraged to:
  • Share ideas.

  • Explain your code to someone to see if they know why it doesn't work.

  • Help someone else debug if they've run into a wall.

If you obtain help of any kind, always write the name(s) of your sources.


Online resources

  • Course website: Course information, schedule, homework and project instructions.

  • MS Stream: Lecture videos.

  • MS Teams: Q&A and live virtual/remote breakout sessions.

  • eLearning: Quiz, homework and project submission.