How to Teach Programming Online

Photo of a computer coding

This workshop will be offered in Spanish. Dates and registration form (in Spanish)


To introduce techniques and good practices to design your programming courses and evaluate students.

During this online workshop:

  • We will show you how to design your programming courses in an efficient and productive way.

  • We will talk about the utility of peer-review and the importance of feedback. We will discuss how to implement these practices.

  • We will present different types of evaluations. For example, fill-in the blanks, faded examples, etc.

  • We will recap good programming practices and how to promote them among your students.

  • We will present the Live Coding practice. We will see examples that will help you to recognize details to take into account.

During this workshop, we will illustrate the concepts using examples written in R and Python.

Intended public of this course

In order to take this workshop, we expect you to be proficient in some programming language that you teach or that you have/want to teach. In particular, in this course we focus on R and Python.

When we designed this workshop, we had in mind Aurora, Patricio, and René as our learner personas.

  • Aurora is a university professor. She doesn’t have formal training in programming but has to teach programming concepts for her courses.

  • Patricio has been a professional Python developer for 15 years. This year he will start to deliver training courses for his company. Besides, he teaches programming at a private academy.

  • René learned many years ago a programming language that uses everyday for her data analysis job. recently, she had to learn R in order to start teaching courses because all the courses in the institution where she works switched to R.

Check out personas to read more about them.

Not included in this workshop

This is NOT a programming course (this is a course about how to teach programming). Since we only have 3 hours, a lot of things will be out of reach of the workshop. Among other things, we will not learn:

  • Programming techniques
  • Theory of pedagogy

The workshop is free. Those invited to the workshop agree to abide by our code of conduct.


This is a 3-hour workshop with intervals (ideally away from any screen) of approximately 5 minutes for every 50 minutes of content.

Sample schedule

Duration (min) Activity
5 Time to connect and make sure your audio and video connection is good (if you don’t have a camera it doesn’t matter, but if you do, it helps)
15 Introduction to the course
30 Course design
20 Peer review & Feedback
25 Type of evaluations
15 Promote good programming practices
10 Teach to get help
30 Live Coding
10 End of the workshop: summary and feedback

Course materials (in Spanish)

Do you want to re-use any of our contents? Please, be our guest!

Our materials are available for free under this license. You can reuse or edit any material that appears here, the only thing we ask in return is that when you reuse our materials you include a reference to this website. For further information, contact us at