Austin Z. Henley

Associate Teaching Professor
Carnegie Mellon University

Home | Publications | Teaching | Blog

The pain points of teaching computer science


This post is a summary of our SIGCSE'23 paper, "What Is Your Biggest Pain Point? An Investigation of CS Instructor Obstacles, Workarounds, and Desires". See the preprint for more details. Thanks to Samim Mirhosseini and Chris Parnin for the great collaboration!

See the discussion of this post on Hacker News.

Teaching is hard.

But exactly what about it is hard? How could technology help?

To investigate the pain points that CS instructors face and their workarounds, we conducted semi-structured interviews with 32 computer science instructors. Their institutions range from large research universities to small liberal arts colleges and community colleges across 7 different countries.

We asked open-ended questions about lecture structure, availability of resources such as TAs and software, time spent on various activities, techniques used to improve learning experiences, the most painful aspects of running courses, and potential solutions to their pain points.

Pain points

We identified 6 categories of pain points:


We also identified 5 categories of how instructors attempt to overcome these pain points:

There are many opportunities to improve the lives of instructors and students in computer science courses. As class sizes increase, how is an instructor to know when a student struggles with the same concept across multiple assignments? How can they provide fair mechanisms for students of various backgrounds to seek help? How do instructors keep their courses modern while sufficiently attending to all the administrivia? What is the right balance of automation and human touch?

What role does AI play, especially those powered by large language models like ChatGPT and Copilot?

Read more in our SIGCSE'23 paper: What Is Your Biggest Pain Point? An Investigation of CS Instructor Obstacles, Workarounds, and Desires.