- 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
I regularly teach five of the ten core undergraduate courses in the areas of Programming Languages and Software Engineering. I have taught 12,199 credit hours in core software engineering and programming languages courses to 3,704 students between Fall 2009 and Spring 2019. The syllabi for the courses are linked in below.
- 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]
- 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
- 2011 CSC High School Summer Camp
- 2012 CSC High School Summer Camp
- 2014 CSC High School Summer Camp
- 2015 CSC High School Summer Camp
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.
- Git Guide - in collaboration with Jason King and Jessica Schmidt
- Testing the Java Collections Framework - assignment for linear data structures.
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.