Instructor Gang Wang ( and Carl A. Gunter (
TAs Zhenning Zhang (
Anirudh Ramarathnam Madhavan (
Time/Location Lectures: online and asynchronous via Coursera
Discussion and QA: online at CampusWire
Syllabus Link to Syllabus

Class Description

The course focuses on various aspects of data-centric security and privacy. Topics include applied cryptography, trusted base, privacy, anonymity, non-interference, information flow, intrusion detection, machine learning and security, password security, policy composition and analysis, formal approaches to specification and verification of secure systems, and security and privacy of emerging systems. Course Information: Same as ECE 424. 3 undergraduate hours. 3 or 4 graduate hours. Two 75-minute lectures per week; online, asynchronous via coursera. Prerequisites: CS 225. Additional prerequisites or corequisites may be specified each term.

Learning Goals: Identify and address privacy issues in online social networks; Apply machine learning to security and address adversarial machine learning; Use crypto constructs (homomorphic encryption, multi-party computation, etc.); Identify and address issues with de-identification; Use hardware designed to support trusted computing; Reason about information flow, computational security for encryption; Recognize threats and design mitigations for security in key sectors (e.g., healthcare); Understand architecture and recognize threats for smartphone security; Recognize issues with web privacy (especially tracking and advertising); Analyze human factors as they affect privacy and security; Recognize and reason about password security;

Important Note: The course assumes a basic knowledge of programming, computer systems, and statistics. The class will expect the ability to program in Python (primary), and Java (secondary).

Expected Work

Participation: Students are expected to watch weekly lecture videos, participate in online discussions, and attend (some) office hours (online).

Quizzes: Students are expected to complete a short quiz after each lecture. The quiz contains 3-5 single-choice or multi-choice questions. The quiz is closely related to the respective lecture and is designed to be light-weighted (and hopefully fun). Quizzes will be graded (for instructor's reference), but students will receive the full points by simply trying them.

Machine Problem (MP): Students are expected to work on 4-5 MPs throughout the semester (individual efforts). The projects will involve hands-on programming and data analysis, covering various topics that complement the lecture topics. Example topics include tracking user location based on social network data, interacting with Bitcoin APIs, multi-party computation without directly exchanging data. The list of project topics will be released on Coursera.


Late Policy: Please see the individual assignment instructions.

Academic Integrity: Students must follow the university's guidelines on academic conduct (quick link). This course will have a zero-tolerance policy regarding plagiarism. You should complete all the assignments and quizzes on your own. In this course, you can help your classmates with questions such as how to use the programming language, what the library classes or methods do, what the errors mean, and how to interpret the assignment instructions. You are encouraged to post such questions to the course discussion forum, and are also encouraged to answer questions posted to the forum from other students. However, you may not give or receive help from others (except the TA) with writing your program code or writing your answers for any of the assignments or tests. Do not show or share your program code with others, and do not view or copy source code from others. Students should not post their code in any publicly accessible locations. All electronic work submitted for this course will be archived and subjected to automatic plagiarism detection. Whenever in doubt, please seek clarifications from the instructor. Students who violate Academic Integrity policies will be immediately reported to the department and the college (which could leave a permanent mark on the transcript).

Special Accommodations: If you need special accommodations because of a disability, please contact the instructor in the first week of classes.

Statement on CS CARES and CS Values and Code of Conduct

    All members of the Illinois Computer Science department - faculty, staff, and students - are expected to adhere to the CS Values and Code of Conduct. The CS CARES Committee is available to serve as a resource to help people who are concerned about or experience a potential violation of the Code. If you experience such issues, please contact the CS CARES Committee. The instructors of this course are also available for issues related to this class.