Teaching

CS 4104: Data and Algorithm Analysis

Instructor of Record, Virginia Tech Computer Science, 2024

Data structures and algorithms from an analytical perspective. Theoretical analysis of algorithm efficiency. Comparing algorithms with respect to space and run-time requirements. Analytical methods for describing theoretical and practical bounds on performance. Constraints affecting problem solvability.

CS 3704: Intermediate Software Engineering

Instructor of Record, Virginia Tech Computer Science, 2023

Explores the principles of software design in detail, with an emphasis on software engineering aspects. Includes exposure of software lifecycle activities including design, coding, testing, debugging, and maintenance, highlighting how design affects these activities. Peer reviews, designing for software reuse, CASE tools, and writing software to specifications are also covered.