Teaching
Classes, Workshops, Outreach, and Mentoring
Information Security
CS 47205/57205
Instructor - Fall 2023
This course explores the fundamental theories and practices involved in securing data and processes within information systems. We cover security in the basic areas of the security triad - confidentiality, integrity, and availability, covering the risks, principles, policies, and technologies prevalent in each of these areas of information security.
Guest Lecturer
CS 643, CS 250
Cloud Security (CS 643) [Spring 2021, Fall 2022], Discrete Structures (CS 250) [Spring 2019]
Topic 1 - Trustworthy Cloud Forensics, Securing E-Discovery, and the Chain of Custody for Digital Evidence.
Topic 2 - Digital Forensics.
Topic 3 - The Foundations, Logic and Proofs.
Topic 4 - Tree Traversal and Applications of Trees.
Cloud Computing
CS 433
Summer 2021, Summer 2020 - Teaching Assistant
CS 433 is an upper-division introduction to cloud computing taught by Prof. Ragib Hasan. This course also covers CS 633 (Masters Students) and CS 733 (Ph.D. Students) sections. I taught lab part with another TA throughout the course, covered concepts ranging from C/C++/Java libraries to communicate with the cloud, manage virtual machines, Elastic MapReduce, IoT Core, containers, and identities management. I held regular office hours, graded homeworks, project, and exams.
Algorithms and Data Structures
CS 303
Fall 2020 - Lab Instructor
Undergraduate level introduction course to Algorithms and Data Structures taught by Prof. Purushotham Bangalore. Students learn about techniques for design and analysis of algorithms; efficient algorithms for sorting, searching, graphs, and string matching; and design techniques such as divide-and-conquer, recursive backtracking, dynamic programming, and greedy algorithms. As a student lab instructor, I helmed one lab section, held regular office hours, and designed and graded homework.
Discrete Structures
CS 250
Fall 2019, Spring 2020, Spring 2021 - Teaching Assistant
CS 205 is an undergraduate level course taught by Prof. Nitesh Saxena (Fall 2019 at UAB) and Prof. Ragib Hasan (Spring 2020, Spring 2021). Students learn discrete mathematics for computer science, including elementary propositional and predicate logic, sets, relations, functions, counting, elementary graph theory, proof techniques including proof by induction, proof by contradiction, and proof by construction. I held regular office hours, graded homeworks and exams.