Teaching

Hands-on courses, built to be accessible

I teach through project-based work and design every course so students can take part fully, whether they are learning recursion, SQL, or how to evaluate an interface.

At Virginia Tech since 2023
7 courses, 21 sections
At the University of Sindh, 2007 to 2023
80 sections
Independent study and undergraduate research
9 offerings, 54 enrollments

Teaching philosophy

I spent sixteen years teaching at the University of Sindh in Pakistan, among students who walked hours to reach campus and who, in many cases, went on to change their families’ trajectories. That taught me what I carry into every classroom: the moment a student walks in, what matters most is not what they already know. It is whether they feel safe enough to not know it yet.

I believe teaching is an act of trust. Students trust you with their confusion and their fear of being wrong in front of others, so I try to be present, before class, after class, and on Piazza, and to treat students as whole people rather than performance metrics.

I work to close the gap between abstract computing and real-world practice, with ethics modules, industry guest sessions, and projects with real audiences. Every course is built for accessibility from the start, and my research grows directly from questions my classrooms raise, especially how to teach students to think well alongside AI.

Courses taught at Virginia Tech

What I teach, and what I changed

  • CS 2104

    Problem Solving in Computer Science

    Undergraduate. Fall 2023 to Fall 2026

    Co-redesigned in Spring 2025 with Margaret Ellis and Naren Ramakrishnan to teach LLMs throughout: modules on how they work, rubrics for every assignment, LLM-specific activities, and a new final project. Now being aligned with Virginia Tech’s AI minor.

  • CS 4604

    Introduction to Database Management Systems

    Undergraduate. Spring 2024 to Spring 2026

    Built up across three semesters: a database ethics module, MongoDB and Neo4j content, AI-as-teammate project requirements, DBWorkout practice, guest speakers from industry, and a milestone-driven, calendar-based structure.

  • CS 3724

    Introduction to Human–Computer Interaction

    Undergraduate. Spring 2025

    Built around a “Design for All” project theme and a module on HCI and culture, with explicit rubrics for every major assignment, an in-class UX critique, and the syllabus offered as both text and an infographic.

  • CS/CMDA/STAT 3654

    Introduction to Data Analytics and Visualization

    Undergraduate. Spring 2024, Fall 2025

    Adds solved notebooks, biweekly reflection forms, a web-scraping notebook with data ethics, and a two-week virtual global collaboration with students at a partner university abroad.

  • CS 4094

    Computer Science Capstone

    Undergraduate. Spring 2026

    Redesigned around four milestone-driven phases with sponsored industry and research projects, weekly team mentoring, a team member evaluation framework, and AI-as-team-member documentation.

  • CS 4774

    HCI Design Experience

    Undergraduate. Spring 2026

    Team-based, end-to-end interface design projects on the same milestone structure as the capstone, with usability evaluation and AI-assisted system integration built in.

  • CS 3114

    Data Structures and Algorithms

    Undergraduate. Fall 2023, Fall 2024

    Half of each class on project discussion, anonymous QR check-in questions after difficult topics, an ethics mini-quiz drawn from students’ own projects, and a structured system for tracking TA office hours.

  • CS 5614

    Database Management Systems

    Graduate. Fall 2026

    The graduate course in database management systems.

Pedagogical innovations

Four ideas I keep returning to

LLMs taught, not banned

CS 2104 was redesigned in Spring 2025 with Margaret Ellis and Naren Ramakrishnan so students learn how language models work, practice using them with guidance, and reflect on that use. Assignments include LLM-generated code for students to evaluate, debug, and correct. Fall 2025 refinements added LLM-assisted HCI modules, a Character.ai ethical review, and Peer+ questions.

AI as a teammate

In CS 4604 and the capstone, AI is a member of each project team. Students document what the humans and the AI each did at every phase and reflect on its contribution, preparing them for workplaces where AI governance is still developing.

Classrooms without borders

CS 3654 includes a two-week virtual global collaboration in which Virginia Tech students work with students at a partner university in another country on shared data science projects built from open datasets.

Accessibility by default

Courses are designed for accessibility from the start. The capstone and HCI design courses reached 97 to 99 percent on Canvas accessibility checks, CS 2104 about 95 percent, and CS 3724 offers the syllabus as both text and an infographic.

AI in computing education

Teaching students to think before they prompt

My courses treat large language models as something to understand, not just use. Students learn the basics of how the models work, practice effective and responsible prompting, verify what the model tells them, and reflect on their own use after each assignment.

That work is also research: it has produced papers on how students use LLMs across computer science subfields, in teams, and in security-sensitive settings, and it is shaping Virginia Tech’s AI minor.

Experiential and project-based learning

Real projects, real audiences

  • The capstone and HCI design courses run on a four-phase, milestone-driven structure with sponsored industry and research projects, a team member evaluation framework, and weekly mentoring.
  • DBWorkout brings live, leaderboard-driven SQL practice into CS 4604 lectures.
  • CS 3114 uses anonymous QR check-in questions and ethics quizzes based on student projects.

Selected course resources

Materials you can use