Teaching Awards

  • Alumni Distinguished Undergraduate Professor, 2018
  • Alumni Association Outstanding Teacher Award, 2015
  • Outstanding Teacher Award, 2015, with membership in the Academy of Outstanding Teachers
  • The Carol Miller Undergraduate Lecturer Award [student vote], 2014, 2018
  • Most Receptive Undergraduate Professor Outside the Classroom Award [student vote], 2011, 2013, 2017
  • Joyce Hatch Service Award [student vote], 2008, 2019


Undergraduate Courses

I regularly teach five of the ten core undergraduate courses in the areas of Programming Languages and Software Engineering. I have taught over 16,000 credit hours in core software engineering and programming languages courses to over 5,000 students between Fall 2009 and Spring 2022.

  • CSC 116: Introduction to Computing - Java
  • CSC 216: Programming Concepts - Java
  • CSC 230: C and Software Tools
  • CSC 326: Software Engineering
  • CSC 492: Senior Design

Undergraduate TA Training Courses

  • CSC295-002: TA Training - Fall 2016 [co-taught with Ms. ToniAnn Marini]

Graduate Courses

  • CSC801-006: Seminar on Teaching and Learning in Computer Science with Dr. Tiffany Barnes - Fall 2014
  • CSC801-004: Seminar with Dr. Rudra Dutta - Spring 2012
  • CSC885: Doctoral Supervised Teaching - Fall 2012 & Fall 2013

Summer Camps

Course Materials

Automated Grading Tools

A team of faculty at NC State have created several tools to support automated grading using professional development tools and frameworks and to support using professional tools in a classroom setting.

CSC 216 Course Resources

I have collaborated with peers to create a set of supplemental course resources for CSC 116, CSC 216, and CSC 326 students. Most of the resources are currently behind NC State authentication, but may be shared by request.

Peer Teaching Fellows Programming

The Peer Teaching Fellows program is a collaboration between Duke University, NC State, UNC Chapel Hill, and the University of Florida to develop scalable effective teaching resources for intro CS courses that utilize undergraduate students as Peer Teaching Fellows (PTFs).

CPATHII: Communication across the Curriculum Assignments

I developed several assignments that incorporate communication learning outcomes.

  • Sarah Heckman, “Black Box Test Plan - Bug Hunt,” Incorporating Communication Outcomes into the Computer Science Curriculum, accessed May 29, 2014, http://cs-comm.lib.muohio.edu/items/show/16.
  • Sarah Heckman, Ed Gehringer, “Design Proposal and Rationale,” Incorporating Communication Outcomes into the Computer Science Curriculum, accessed May 29, 2014, http://cs-comm.lib.muohio.edu/items/show/38.

Workshop: TA’ing Courses with Computer Intensive Assignments