Teaching

Teaching Statements

Teaching Awards

Courses Taught

Courses ordered by most recently taught.

CS 4730: Computer Game Design

Course Website: http://f24.cs4730.org - Taught: 2013-2015, 2017, 2022-2024

This course will introduce students to the concepts and tools used in the development of modern 2-D and 3-D real-time interactive computer video games. Topics covered in this include graphics, parallel processing, human-computer interaction, networking, artificial intelligence, and software engineering.

CS 3240: Software Engineering

Course Website: http://f24.cs3240.org - Taught: 2009-2010, 2018-2024

Analyzes modern software engineering practice for multi-person projects; methods for requirements specification, design, implementation, verification, and maintenance of large software systems; advanced software development techniques and large project management approaches; project planning, scheduling, resource management, accounting, configuration control, and documentation. (Former title: Advanced Software Development Techniques)

CS 2501: Introduction to Game Programming and Design

Taught: 2015, 2024

This course is an introductory course in video game design and creation. We will focus on both the design and technical aspects of creating a game, from concept inception and prototyping through coding and playtesting. There will be a heavy focus on playing games and evaluating them. Students will also create games in the course using game building tools, such as GB Studio.

CS 4720: Mobile Application Development

Course Website: http://f22.cs4720.org - Taught: 2009-2018, 2022

Mobile computing devices have become ubiquitous in our communities. In this course, we focus on the creation of mobile solutions for various modern platforms, including major mobile operating systems. Topics include mobile device architecture, programming languages, software engineering, user interface design, and app distribution.

CS 1110: Introduction to Programming

Taught: 2010-2016

A first course in programming, software development, and computer science. Introduces computing fundamentals and an appreciation for computational thinking. No previous programming experience required.

CS 4750: Database Systems

Taught: 2007-2008, 2011-2013

Introduces the fundamental concepts for design and development of database systems. Emphasizes relational data model and conceptual schema design using ER model, practical issues in commercial database systems, database design using functional dependencies, and other data models. Develops a working relational database for a realistic application.

Other Teaching Experience

Teaching at NC State University (PhD Student)