The courses listed below are taught by faculty associated with MadS&P.

COMP SCI/​E C E/​MATH 435INTRODUCTION TO CRYPTOGRAPHY
3 credits
Cryptography is the art and science of transmitting digital information in a secure manner. Provides an introduction to its technical aspects.

COMP SCI 542INTRODUCTION TO SOFTWARE SECURITY
3 credits
Teaches the security considerations that occur during all steps of the software development life cycle: methodologies for designing secure software, programming using secure programming techniques, in-depth vulnerability assessment methodologies, static and dynamic analysis tools for evaluating software security, and system defenses reducing security threats.

COMP SCI 642INTRODUCTION TO INFORMATION SECURITY
3 credits
Senior level undergraduate course covering various topics on information security. Covers a wide range of topics, such as cryptographic primitives, security protocols, system security, and emerging topics. Elementary knowledge of mathematical logic and discrete probability theory needed, such as MATH/​COMP SCI 240.

COMP SCI 763SECURITY AND PRIVACY FOR DATA SCIENCE
3 credits
Security and privacy concerns in data science. Three core subjects will be considered: Differential privacy and algorithmic fairness; Adversarial machine learning; and Applied cryptography, especially with applications to machine learning. In addition, a selection of more advanced topics will be covered. Possible examples include additional notions of privacy, language-based security, robust optimization. Enroll Info: A firm grasp of probability/statistics (STAT/​MATH 431) is recommended. Previous exposure to at least one of cryptography (COMP SCI/​E C E/​MATH 435), security (COMP SCI 642), and modern machine learning (COMP SCI/​E C E/​M E 539 or 540) is also recommended.

E C E/COMP SCI 782ADVANCED COMPUTER SECURITY AND PRIVACY
3 credits
Security and privacy issues in software, networks, and hardware systems. Security vulnerabilities, privacy threats, threats modeling, and mitigation strategies. Privacy issues related to user interaction with devices, online systems, and networks. In addition, a selection of more advanced topics will be covered. Possible examples include applied cryptography in the context of systems, security and privacy policies, user authentication, and cyber-physical systems.
Enroll Info: Previous exposure to at least one of the following: networking (such as COMP SCI 640 or E C E 537), security (such as COMP SCI 642), modern machine learning (such as COMP SCI/​E C E/​M E 532, 539 or COMP SCI 540), embedded systems (such as E C E 751), or mobile computing (such as E C E 454) is strongly recommended.