Teaching

Teaching Assistant for CSC 230

Undergraduate course, North Carolina State University, 2024

In this course, students will develop skills in several important areas. First, we’ll get some experience working in C, a language that lets us think like procedural rather than object-oriented developers. Also, being a fairly low-level language, C lets us see and control more of what’s going on in the hardware. This can help us think about using the hardware more effectively, whether we’re actually programming in C or in a higher-level language. While we learn C, we’ll also learn about tools and techniques that help us build, manage, debug and analyze software projects.

Teaching Assistant for CSC 505

Graduate course, North Carolina State University, 2023

Algorithm design techniques: use of data structures, divide and conquer, dynamic programming, greedy techniques, local and global search. Complexity and analysis of algorithms: asymptotic analysis, worst case and average case, recurrences, lower bounds, NP-completeness. Algorithms for classical problems including sorting, searching and graph problems (connectivity, shortest paths, minimum spanning trees).

Teaching Assistant for ECE 3561

Undergraduate course, the Ohio State University, 2021

Served as TA from FA21 to SP23. Design and analysis of sequential circuits; digital circuit design using building blocks, programmable logic devices; design of basic computer components such as arithmetic logic units.