About the course

CS 419

Motivation

Cybersecurity impacts nearly every aspect of modern life. Hardly a day goes by without news of stolen passwords, compromised bank accounts, phishing scams, or data breaches exposing sensitive information. With the rise of autonomous vehicles, smart medical devices, IoT systems, and critical infrastructure reliant on technology, the stakes for cybersecurity have never been higher.

The risks extend beyond financial loss to privacy violations, service disruptions, and even physical safety. Ransomware attacks can cripple hospitals, while state-sponsored hacks threaten election integrity, critical infrastructure, and global security. As our world becomes more interconnected, the need to secure it grows more urgent.

The course

This course provides a broad introduction to computer security, focusing on the principles and technologies that safeguard data, communications, and systems.

Topics include cryptographic methods like symmetric and asymmetric encryption, digital signatures, and hash functions, as well as authentication protocols, biometric authentication, access control, blockchain, and anonymous communication.

We will also examine network security fundamentals, including firewalls, intrusion detection systems, VPNs, and zero trust, along with threats such as network routing attacks, code and command injection attacks, and strategies for mitigating and containing these attacks.

While computer security is a broad field, this course focuses on essential areas, including operating system security models and their limitations, programmer errors, sandboxing, and network defenses. We’ll also explore the unique challenges posed by commerce and mobility.

The course syllabus, available here, provides a tentative outline of the topics we’ll cover. Content may evolve during the semester as I organize topics into logical, lecture-sized units and adjust for dependencies. Updates will be reflected on the course webpage as needed.

All course materials, including prerequisites, homework assignments, exam details, and policies, are accessible through the main course webpage: people.cs.rutgers.edu/~pxk/419/index.html, which is mirrored on my personal website pk.org/419. Please review the course policies and prerequisites early to ensure a smooth start.

Homework and class announcements will be posted on Canvas throughout the semester.

Welcome to the course—I look forward to exploring the fascinating and vital world of computer security with you!

Lecture notes

The course will use on-line reading material. We will make much use of Ross Anderson’s Security Engineering, second edition, which is available online or in print form. We will also make use of published papers and other contet. I will post lecture notes that summarize lecture content, particularly information that may not be available in the text. While the lecture notes attempt to cover most material that will be presented, I cannot guarantee that they will cover all of the material. The course is not a correspondence course. You are responsible for attending class and for all the material presented in class.

Exams and assignments

To ensure fair grading and give you a chance to engage with the material, this course will include a combination of homework assignments, programming projects, quizzes, and exams. The goal isn’t to overwhelm you but to provide opportunities to apply what you’ve learned and allow me to evaluate your performance fairly without relying on a single high-stakes exam.

You are expected to have reasonable proficiency in programming with C, Java, and/or Python. Completing the programming assignments is mandatory; you cannot pass the course without doing so.

There will be an exam roughly every third lecture, each lasting about half the lecture time. All exams will be weighted equally, and your lowest exam grade will be dropped. Unless you missed an exam or received a grade on one exam that deviated significantly from your other grades, there will be no need for you to take the final.

To reward attendance and keep you at least partially awake (especially since this is a late class), I will occasionally give short, easy quizzes during lectures. These will be designed to reinforce key points from the lecture and can be completed using information covered in class.

By balancing different types of assessments, I hope to create a learning environment that rewards effort, engagement, and understanding without the panic of high-stakes components.

Last modified January 21, 2025.
recycled pixels