Teaching programming at a distance

Topic Description

Knowing how to code (i.e. develop software) has been suggested as the 21st century’s literacy. Every December, tens of thousands of face to face ‘hour of code’ events take place throughout the world. The UK, the US and other countries have or are introducing Computer Science and programming in the school curriculum, often from an early age on.

However, programming remains a hard skill to learn due to its abstract nature and the fact that most programming languages and coding tools were invented for professionals, not novices. Teaching programming at a distance and at scale, without interactive, face to face, lab sessions where tutors and peers can help, is a further challenge.

This topic, of direct interest to Open University courses, can explore a range of technological and pedagogical possibilities, for example:

- Making programming tools more supportive of novices (simpler error messages, automatic corrections, etc.)
- Developing a simple programming language for educational use.
- Developing a concept inventory for programming.
- Scaling up programming labs.
- Investigating the efficacy of ‘follow these steps’ tutorials, e.g. for solving unseen problems.

For the first two suggestions, see also my proposed PhD topic "A Novel Language and Environment for Teaching Programming".

Skills Required:

Depending on the particular project, one or more of the following may be required:

- Programming skills
- Pedagogical background
- Experience of teaching introductory programming (face to face or at a distance)

Background Reading:

For inspiration, browse the proceedings of a recent SIGCSE or ITiCSE conference, e.g. http://dl.acm.org/citation.cfm?id=2839509.

Report an error on this page