Basic Information

  • Course name: Computer Security
  • Semester: Spring 2026
  • Credits: 4
  • Prerequisites: CS 455 (Intro to Distributed Systems) strongly recommended; knowledge of programming expected; broad understanding of how computer systems work.
  • Meetings/Times: TR 12:30 pm – 1:45 pm (in-person section), asynchronous (online section)
  • Location: Scott Bioengineering, room 231

Course Materials

While there are no required textbooks, select resources will be provided on Canvas. The following textbooks are suggested as useful supplementary materials:

  • Security in Computing, 6th Edition by Charles Pfleeger, Shari Pfleeger, and Lizzie Coles-Kemp (2023). ISBN-13: 9780138230746
  • Cryptography and Network Security: Principles and Practice (7th edition), by William Stallings (2016). ISBN-13: 978-0134444284

Charlie Pfleeger’s book contains sections for a major portion of the topics that we will cover. William Stallings’s book has more information about cryptography.

Here are some other books on the topic that you may find interesting:

  • Firewalls and Internet Security: Repelling the Wily Hacker by William R. Cheswick and Steven M. Bellovin,  Adison-Wesley.
  • Network Security: Private Communication in a Public World by Charlie Kaufman, Radia Perlman and Mike Spencer, Prentice Hall.
  • Information Security: An Integrated Collection of Essays by Marshall D. Adams, Sushil Jajodia and Harold J. Podell, eds., IEEE Computer Society Press.
  • Fundamentals of Computer Security Technology by Edward Amoroso, Prentice-Hall.
  • Cryptography and Data Security by Dorothy E. Denning, Addison-Wesley.
  • Computers under Attack by Peter J. Denning, Addison-Wesley.
  • Cryptography: Theory and Practice by Douglas R. Stinson, CRC Press.
  • Building a Secure Computer System by Morrie Gasser, Van Nostrand Reinhold.
  • Building Internet Firewalls by D. Brent Chapman and Elizabeth D. Zwicky, O’Reilly and Associates.
  • CS 455 (Intro to Distributed Systems) strongly recommended.
  • Knowledge of programming expected.
  • Broad understanding of how computer systems work.

Course Objectives

Upon successful completion of this course, students will be able to:

  1. Describe the fundamental principles of access control models and techniques.
  2. Describe the fundamental principles of secure system design.
  3. Apply various cryptographic protocols and techniques.
  4. Apply authentication, access control, and intrusion detection techniques.
  5. Identify software security vulnerabilities in existing systems.
  6. Identify mitigation techniques for software security vulnerabilities in existing systems.

Tentative Course Schedule

Please note that the schedule may be modified as the semester progresses. Please see Canvas for the most up-to-date deadlines.

WeekLecture ContentLab/Recitation/Other ContentCourse Learning Outcome #
1Introduction to computer security 1, 2
2-3Access control models 1, 4
4ComplianceIdentification of term project/paper topic2, 5, 6
5Introduction to cryptography 1, 3
6-7Secret and Public key cryptosystemsTerm project/paper abstract due3
8Diffie-Hellman, RSA, El-Gammal, Elliptic Curves, Lattice-based CryptoHomework assignment3
9Spring BreakSpring Break 
10Searchable encryption, computation over encrypted data 2, 3
11Message digests, Merkle hashes and Blockchain, digital signaturesHomework assignment2, 3  
12Identification and authenticationTerm project/paper update4, 5, 6
13Wireless security 5, 6
14Privacy and computer security 5, 6
15AI and computer security 5, 6
16Course wrap-upFinish final reports and presentation content 

Student Experiences and Pedagogical Techniques

This course combines lectures, student-led discussions, hands-on programming exercises, and project-based learning. Students will critically engage with current research literature, analyze real vulnerabilities, and critically evaluate existing vulnerability analysis models. Peer feedback and collaborative learning will be emphasized throughout the semester.

For a more detailed version of the syllabus, please refer to Canvas or reach out to the instructor.