Available courses

Introduction to Modern Cryptography

Three credits. Prerequisites: CSE 3400, CSE 3500; and STAT 3025 or 3345 or 3375Q or MATH 3160.

An introduction to the fundamentals of modern cryptography focusing on development of secure cryptographic tools based on hard computational problems. Topics include one-way functions, pseudorandom generators, encryption, digital signatures, and protocols.

CSE1729 is a rigorous introduction to programming based on the famous text "Structure and Interpretation of Computer Programs," by Abelson and Sussman. 

Three credits.

Two 1-hour lectures and one 2-hour laboratory per week.


CSE2100 or CSE2050.


Introduction to system-level programming with an emphasis on C programming, process management, and small scale concurrency with multi-threaded programming. Special attention will be devoted to proficiency with  memory management and debugging facilities both in a sequential and parallel setting.