TEACHING SUMMARY

I have taught both broad courses, such as intro to programming, cybersecurity, and computer systems, and specialized courses, such as distributed systems, network protocols, network security and forensics, etc. Finally, I have also offered special topics courses in my research area (Internet Security, Authentication and Privacy, etc.), and run workshops in India and in Peru. My strong SRATE ratings (4.5+ / 5) are partly thanks to my best friend (who does research in education and has given me lots of help).

More importantly, I have mentored several students at UG, PG, and PhD levels. Some UG mentees have gone on to top-tier institutes (Harvard, UPenn, Oxford, LSE), and others to Google, Microsoft, and Facebook. Some PG and PhD mentees are now themselves faculty members in India, and one in particular – Devashish Gosain – is a good friend and collaborator.

TEACHING

  • COURSE TAUGHT
    Doctoral Dissertation
    8 Jun 2026 - 31 Jul 2026
    Graduate standing and approval of advisory committee. Independent research under the direction of a member of the graduate faculty. For students working toward a PhD degree.Offered for variable credit, 2-15 credit hours, maximum of 40 credit hours. Prerequisite(s): Graduate standing and approval of advisory committee.
  • COURSE TAUGHT
    Cloud Computing and Distributed Systems
    12 Jan 2026 - 1 May 2026
    Cloud computing and distributed systems architectures and models. Usage of Virtual Machines. Distributed computing frameworks. Using the cloud for big data analytics. Cloud deployment of data science algorithms. Cloud services. Security. May not be used for degree credit with CS 5123.Prerequisite(s): CS 3443; and CS 4343 or CS 3353, each with a grade of 'C' or better.
  • COURSE TAUGHT
    Cloud Computing and Distributed Systems
    12 Jan 2026 - 1 May 2026
    Cloud computing and distributed systems architectures and models. Usage of Virtual Machines. Distributed computing frameworks. Using the cloud for big data analytics. Cloud deployment of data science algorithms. Cloud services. Security. May not be used for degree credit with CS 4523.Prerequisite(s): CS 3443; and CS 4343 or CS 3353, each with a grade of 'C' or better.
  • COURSE TAUGHT
    Cloud Computing and Distributed Systems
    12 Jan 2026 - 1 May 2026
    Cloud computing and distributed systems architectures and models. Usage of Virtual Machines. Distributed computing frameworks. Using the cloud for big data analytics. Cloud deployment of data science algorithms. Cloud services. Security. May not be used for degree credit with CS 5123.Prerequisite(s): CS 3443; and CS 4343 or CS 3353, each with a grade of 'C' or better.
  • COURSE TAUGHT
    Doctoral Dissertation
    12 Jan 2026 - 1 May 2026
    Graduate standing and approval of advisory committee. Independent research under the direction of a member of the graduate faculty. For students working toward a PhD degree.Offered for variable credit, 2-15 credit hours, maximum of 40 credit hours. Prerequisite(s): Graduate standing and approval of advisory committee.
  • COURSE TAUGHT
    Doctoral Dissertation
    18 Aug 2025 - 5 Dec 2025
    Graduate standing and approval of advisory committee. Independent research under the direction of a member of the graduate faculty. For students working toward a PhD degree.Offered for variable credit, 2-15 credit hours, maximum of 40 credit hours. Prerequisite(s): Graduate standing and approval of advisory committee.
  • COURSE TAUGHT
    Network Security and Defense
    18 Aug 2025 - 5 Dec 2025
    Designed to allow students to study advanced topics not provided in existing courses.Offered for variable credit, 1-6 credit hours, maximum of 6 credit hours.Prerequisite(s): Consent of instructor.
  • COURSE TAUGHT
    Network Security and Defense
    18 Aug 2025 - 5 Dec 2025
    Advanced topics and applications of computer science. Typical topics include operating systems, multiprocessor systems, programming systems or various mathematical and statistical packages. Designed to allow students to study topics not provided in existing courses.Offered for variable credit, 1-3 credit hours, maximum of 5 credit hours.Prerequisite(s): Honors Program participation, junior standing.
  • COURSE TAUGHT
    Doctoral Dissertation
    13 Jan 2025 - 2 May 2025
    Graduate standing and approval of advisory committee. Independent research under the direction of a member of the graduate faculty. For students working toward a PhD degree.Offered for variable credit, 2-15 credit hours, maximum of 40 credit hours. Prerequisite(s): Graduate standing and approval of advisory committee.
  • COURSE TAUGHT
    Seminar and Special Problems
    13 Jan 2025 - 2 May 2025
    Designed to allow students to study advanced topics not provided in existing courses.Offered for variable credit, 1-6 credit hours, maximum of 6 credit hours.Prerequisite(s): Consent of instructor.
  • COURSE TAUGHT
    Doctoral Dissertation
    19 Aug 2024 - 6 Dec 2024
    Graduate standing and approval of advisory committee. Independent research under the direction of a member of the graduate faculty. For students working toward a PhD degree.Offered for variable credit, 2-15 credit hours, maximum of 40 credit hours. Prerequisite(s): Graduate standing and approval of advisory committee.
  • COURSE TAUGHT
    Network Security and Defense
    19 Aug 2024 - 6 Dec 2024
    Designed to allow students to study advanced topics not provided in existing courses.Offered for variable credit, 1-6 credit hours, maximum of 6 credit hours.Prerequisite(s): Consent of instructor.
  • COURSE TAUGHT
    Network Security and Defense
    19 Aug 2024 - 6 Dec 2024
    Advanced topics and applications of computer science. Typical topics include operating systems, multiprocessor systems, programming systems or various mathematical and statistical packages. Designed to allow students to study topics not provided in existing courses.Offered for variable credit, 1-3 credit hours, maximum of 5 credit hours.Prerequisite(s): Honors Program participation, junior standing.
  • COURSE TAUGHT
    Computer Systems
    16 Jan 2024 - 3 May 2024
    Functional and register level description of computer systems, computer structures, addressing techniques, macros, linkage, input-output operations. Introduction to file processing operations and auxiliary storage devices. Programming assignments are implemented in assembly language.Prerequisite(s): CS 2133 with a grade of 'C' or better.
  • COURSE TAUGHT
    Network Security
    16 Jan 2024 - 3 May 2024
    Designed to allow students to study advanced topics not provided in existing courses.Offered for variable credit, 1-6 credit hours, maximum of 6 credit hours.Prerequisite(s): Consent of instructor.