Courses

CIS 551/751: Fundamentals of Computer and Information Security

This course covers the basics of computer security: from notions of operating system security to notions of cryptography and network security. The course is quite hands-on and fun, with in-class demos and five programming assignments focused on writing buffer overflow based exploits.

CIS 490/890 V: Research Methods in Computer Science

This course covers the fundamentals of experiment preparation, data gathering and statistical analysis. This is a lab-based, hands-on course, where all assignments are done during the class time. Students work with real datasets and program in R. The course is co-taught with Eugene Vasserman.

CIS 553/753: Fundamentals of Cryptography

This course offers an introduction to classic cryptography. It covers fundamental topics in cryptography, including historical ciphers and basic cryptanalysis, principles and design of stream and block ciphers, public-key cryptography, digital signatures, hash functions, message authentication codes, and probabilistic concepts and techniques in cryptography.

CIS 599, 490/890 Q: Applied Research in Cyber Security

This is a project-based course, integrated with the INSuRE project. Students form teams,  are assigned a project, and work closely with their client and with their faculty adviser towards its completion. Among the frequent clients are the National Security Agency, National Institute of Standards and Technology, Department of Homeland Security, Argonne National Labs, Johns Hopkins University Applied Physics Laboratory, Sandia National Laboratories, Pacific Northwest National Labs, MIT Lincoln Laboratory, Oak Ridge National Laboratory, etc.