Professional learning that supports student learning in computer science

In the Seattle Pacific University (SPU) Digital Education Leadership (DEL) masters program, we are examining the use of digital age best practices in professional development and program evaluation.  This is in support of the International Society for Technology in Education (ISTE) coaches standard.  In this post, I want to explore how professional development and program evaluation for computer science (CS) educators can best use digital age best practices to improve the teaching, learning, and assessment experience.

In previous posts, I described how much of professional development for computer science educators uses a traditional ‘sage on stage’ approach.  Our CS students expect far more from their CS educators in today’s classroom.  Computer science educators need to expect far more from professional development instructors in order to have an impact on student learning of the future.  In their report on transforming professional learning in the state of Washington, Bishop et al. report on their study of professional learning.

These results indicate that professional learning focused primarily on content knowledge that students are learning and that includes opportunities for teachers to apply pedagogical strategies within their own classrooms may be the best way to ultimately impact student learning. (Bishop et. al, 2016)

In the sections that follow, I will explore changes to how instructors of computer science professional development (PD) can use digital age best practices to improve the teaching, learning, and assessment experience of computer science educators.  I will refer to these ‘educators of educators’ as PD instructors and their students as CS educators.

First up is teaching.  PD instructors need many of the same skills that CS educators need to teach their students.  This includes mastery of the same learning management system (LMS) used in the classroom.  This also means the PD instructors must define all of the instruction in a PD session in the LMS, with appropriate modules, assignments, and even quizzes for the CS educators.  Ideally, the PD instructor would demonstrate best practices and new features of the LMS when instructing CS educators.

The PD instructors must also evolve the teaching experience beyond the traditional ‘sage on stage’ format.  This means PD sessions should be available in a webinar format and recordings of live sessions should be available to CS educators no later than 24-hours after the live meeting.  PD instructors need to provide CS educators with best practices in using technology outside of the classroom.  This includes instruction on configuring and using new technology such as interactive textbooks (e.g., ZyBooks) and online instruction (e.g., Teaching resources from Google for Education).

Probably the biggest challenge for PD instructors in the teaching experience is how to give CS educators the skills to build a blended or flipped classroom.  This requires not only instruction on how a CS educator can ‘flip’ a classroom, but physical changes to the traditional classroom that support a flipped learning experience.  In the flipped approach, CS educators become more like tutors to students, helping them solve an assignment or exercise, preferably as a group, much like what is expected of a software engineer in an industry job.  The image below shows a possible classroom configuration to support a flipped computer science classroom.

Wall mounted LCD screens and desks on wheels at ANU Marie Reay Teaching Centre“Wall mounted LCD screens and desks on wheels at ANU Marie Reay Teaching Centre” by tomw99au is licensed under CC BY 2.0

Next up is the learning experience.  Most computer science students expect to be given real-world, relevant problems to solve.  It is no longer acceptable for educators to use academic ‘toy applications’ in teaching a computer science topic.  This means that PD instructors must load up CS educators with as many examples of real-world, relevant problems as possible.  At first, it may seem impossible to come up with any number of such examples.  However, as Frank Holthouse at Leyden High School in Franklin Park, Illinois shows, the examples may be all around us.

There are many online tools available to CS educators to improve the CS student learning experience.  The PD instructor’s role is to introduce and instruct CS educators on the use of such tools.  Some great examples of tools can be found on the Google for Education web site.  For example, a PD instructor may spend a session with CS educators on building a lesson plan that has CS students build a game on an Android mobile device to learn more about computer science.

Building games on android devices to learn about computer science
Android Games

There are also lots of resources available to PD instructors that help bring CS educators up to speed on new and emerging technologies.  These online resources provide ‘crash courses’ to CS educators that prepare them to include new topics in their CS lesson plans.  For example, Google for Education offers a crash course on machine learning that is useful to both CS educator and students alike.  The PD instructors role is to discover, learn, and share such technologies with CS educators.

Google crash course on machine learning
Machine Learning

Our final topic is program evaluation or assessment.  This is the most challenging area of the three for CS educators.  Ask any CS educator the most time-consuming part of their job, and they are all likely to answer grading and/or assessment.  To get the best CS education, CS students are going to have to write a lot of code.  The challenge for the CS educators is how to assess/grade all of this code.  CS students expect detailed and timely feedback on coding assignments that may have taken them many hours to complete.  The only way that CS educators can provide detailed and timely feedback on any reasonable sized classroom is through automation – also know as auto-graders.

Many interactive textbooks include an auto-grader component.  This is true of ZyBooks and other interactive textbook offerings.  However, such interactive textbooks are only available for a limited set of programming languages and computer science topics.  A PD instructor is going to have to instruct CS educators on how to either automate their grading or use an auto-grader tool.  For the former, this means building test cases and making some subset of these test cases available to CS students.  This can be a very time-consuming task, and may require the PD instructor to roll up their sleeves, and help build the test cases.

Fortunately, there has been much work in the area of online, auto-graders for computer programming assignments.  Some examples can be found at AutoGradr and ClassCube.  Both of these tools provide support for a wide range of programming languages and computer science topics.  They also provide a ‘drop-down’ mode that automates the process of building customized test cases for programming languages and CS topics not already covered.  The PD instructor can use professional development sessions to train CS educators on these tools, as well as provide examples of auto-graded assignments.

At this point, many readers will suspect that the challenge I’ve put forth for PD instructors is near impossible.  First off, it is probably better to use the label ‘PD collaborators’ rather than ‘PD instructors’ for this role, as it will require cooperation and collaboration between both instructor and faculty member.  The CS educators must step in and offer to pick up some of the work, particularly if it impacts a course they teach or an area of interest.  Second, one must consider the alternative solution, with no support from the PD instructor.  In a computer science department with 15-20 or more faculty, each faculty member would be left with the task of learning all of the technologies and tools listed above.  This is a much greater cost in terms of man hours.  Having the PD instructor explore these tools for the entire department represents highly leveraged work used by the entire computer science department.  Unfortunately, in my school, we do not have a dedicated PD instructor for computer science, and all of the work described above does fall on each faculty member’s plate.


  • Bishop, D, Lumpe, A., Henrikson, R, & Crane, C. (2016). Transforming Professional Learning in Washington State – Project Evaluation Report. Seattle Pacific University: Seattle, WA.  Chaps. 4 & 5. 
  • ISTE. ISTE Standards for Coaches. (n.d.). Retrieved October 20, 2019 from 
  • NETP. (2017). National Education Technology Plan.  Teaching section.  Retrieved January 24, 2020 from
  • Meyer, K., Murrell, V. (2014). A National Study of Training Content and Activities for Faculty Development for Online Teaching. Journal of Asynchronous Learning Networks. Vol. 18, No. 1. 

Comments are closed.