Teaching Portfolio
Instructor of Record
CSCI 2610 - Discrete Mathematics
Spring 2012 - University of GA
The fundamental mathematical tools used in computer science: sets, relations, and functions; propositional logic, predicate logic, and inductive proofs; summations, recurrences, and elementary asymptotics; counting and discrete probability; undirected and directed graphs; introductory linear algebra, with applications in computer science.
CSCI 1302 - Software Development
Fall 2011 - University of GA
Software development techniques in an object-oriented computer language. An intermediate programming course emphasizing systems methods, top-down design, testing, modularity, and structured techniques. Applications from areas of numeric and non-numeric processing and data structures.
Team Programming for Video Games
Summer 2011 - Duke University Talent Identification Program
Texas A&M Campus
Create competitive and collaborative multiplayer games in small teams. Learn about structured and object-oriented program design, event-driven programming, testing, simulations, debugging, documentation, and techniques for using a concurrent editor (where multiple people edit the same program at the same time).
Java for Video Games
May 2011 - Duke University Talent Identification Program
IIM Ahmedabad Campus
This course is designed to teach concepts related to game design and development. Students learn basic programming concepts by developing small games individually with increasing levels of difficulty over a period of three weeks. Students also work in teams to creatively and collaboratively design games within the constraints given to them by the instructors.
Web Programming
Summer 2010 - Duke University Talent Identification Program
University of Kansas Campus (Term II)
There is an increasing demand for computer applications to be collaborative, dynamic, and tied to the user instead of the computer. As applications move off of the computer and into "the cloud," web-application programming proves to be a critical part of the next computing revolution. Learn about the basic principles of dynamic web-application programming and the unique considerations of programming for the web. By the end of the course you will develop an original web application.
TA Positions
CSCI 1302 - Software Development
Spring 2011 - University of GA
Software development techniques in an object-oriented computer language. An intermediate programming course emphasizing systems methods, top-down design, testing, modularity, and structured techniques. Applications from areas of numeric and non-numeric processing and data structures.
Java for Video Games
Summer 2008-2010 - Duke University Talent Identification Program
IIM Ahmedabad Campus
This course is designed to teach concepts related to game design and development. Students learn basic programming concepts by developing small games individually with increasing levels of difficulty over a period of three weeks. Students also work in teams to creatively and collaboratively design games within the constraints given to them by the instructors.
CSCI 4730/6730 - Operating Systems
Fall 2010 - University of GA
Coverage of the key concepts in modern operating systems. Specific topics include process management, synchronization mechanisms, scheduling strategies, deadlock detection/avoidance, memory management, file systems, protection and security, and distributed systems. Concepts will be reinforced through programming projects using a realistic operating system.
Education Courses Taken
GRSC 7770: Graduate Seminar
Provides graduate teaching assistants with knowledge of pedagogical approaches and available support systems. Special sections are reserved for international students, with focus on use of language, pedagogy, and cultural aspects of teaching in this country.
MATH 5200: Foundations of Geometry I
Advanced elementary geometry for prospective teachers of secondary school mathematics: axiom systems and models; the parallel postulate; neutral, Euclidean, and non-Euclidean geometries.
MATH 5210: Foundations of Geometry II
Advanced elementary geometry for prospective teachers of secondary school mathematics: further development of the axioms and models for Euclidean and non-Euclidean geometry; transformation geometry.
Additional Teaching Materials
- Class Website: Programming for the Web
- Sample Midterm Exam
- Sample Programming Project
- Game Programming Tutorials
Teaching Philosophy
- Download as PDF.