Teaching
Hamad Bin Khalifa University
- Applied cryptography (graduate) – Fall’16, Fall’17
- Network forensics (graduate) – Fall’18, Fall’19, Fall’20
- Security risk analysis (graduate) – Spring’17, Spring’18
- Introduction to computer systems – Spring’19
- Principles of imperative computing - Spring’20, Spring’21
- Cybersecurity fundamentals – Fall’19
Michigan Tech
- Introduction to algorithms - Fall’15
- Software quality assurance - Spring’16
John Jay College, CUNY
- Applied cryptography (graduate) - Spring’12, Spring’14, Spring’15
- Architecture of secure operating systems (graduate) - Fall’13
- Database security (graduate, at the CUNY Graduate Center) - Spring’11
- Data communications forensics and security (graduate) - Spring’10, Spring’11
- Theoretical foundations of computing security (graduate) - Fall’07
- Forensic management of digital evidence (graduate) - Fall’06
- Database systems - Spring’10, Spring’11
- Advanced data structures - Fall’08, Fall’10, Fall’11, Fall’13, Fall’14
- Object oriented programming - Fall’07, Fall’08, Fall’09
- Programming languages - Spring’07
- Introduction to computing and programming - Fall’06, Spring’08
Hong Kong University of Science and Technology
- Introduction to computing with Java - Fall’12
- Network security - Spring’13
University of Hong Kong
- Queueing theory - Fall’01, Fall’02, Fall’03
- System modeling and performance analysis - Spring’03, Spring’04
University of Southern California
- Design and analysis of computer communication networks (graduate) - Fall’97