Operating Systems Security (ISSM 503) - Master's level course on defining a secure operating system with an understanding of the underlying infrastructure for security at the process, memory, input-output, disk, and file system levels. The course also looked at a secure operating system in terms of information flow, access control, and system assurance. A key objective of the course was to build and link theoretical knowledge of operating systems security to practical implementations of latest versions of modern operating systems using security hardening and benchmarking standards. Labs covered Linux & Windows client and server operating systems, virtualization, malware root cause analysis, and security risk assessment using CIS security controls. Taught from July 2014 till April 2018.
Cryptology and Secure Network Communications (ISSM 533) - Master's level course on understanding the theoretical and mathematical foundations of cryptographic solutions. Students were introduced to the key concepts including symmetric & asymmetric encryption, public key infrastructure, kerberos, block and stream ciphers, hashes, among others. A key goal of the course was for students to gain an in-depth understanding of the role and pragmatic deployment of cryptographic solutions in protecting confidentiality, integrity, and availability of information. Labs included virtual networks, network sniffing, securing HTTP traffic, virtual private networks (VPNs), IP security, and security risk assessment using NIST networking standards. Taught from January 2016 till April 2018.
Securing an E-Commerce Infrastructure (ISSM 525) - Master's level course providing a holistic view of e-commerce including internet commerce, mobile commerce, cryptocurrencies, and others. Students were introduced to hands-on knowledge about how e-commerce is implemented, elements of e-commerce infrastructures, and security at different levels. A key objective of the course was for students to know the common vulnerabilities, threats, and counter-measures in e-commerce environments. Labs covered cloud infrastructures, web servers, web application development fundamentals, WordPress hardening, web application firewalls (WAFs) including Mod Security, penetration testing, and security risk assessment of e-commerce websites using PCI-DSS and OWASP standards. Taught from January 2017 till April 2018.
Introduction to the Foundations of Computation II (CMPUT 175) - Undergraduate course with emphasis on data structures using Python. Winter 2015 (Dr. Osmar Zaïane).
Non-Procedural Programming Languages (CMPUT 325) - Undergraduate course on declarative programming languages covering Lisp, Prolog, Haskell, Scheme. Winter 2012 (Dr. Jia You), Fall 2010 (Dr. Jim Hoover), Winter 2010 (Dr. Jia You).
Security in a Networked World (CMPUT 333) - Undergraduate course on network security fundamentals. Fall 2009 (Dr. Ioanis Nikolaidis).