Find us on GitHub

Instructor Training: The University of Lausanne

Jan 13-14, 2016

9:00 am - 4:30 pm

Trainers: Tracy Teal, Aleksandra Pawlik

Software Carpentry and Data Carpentry's mission is to help scientists and engineers get more research done in less time and with less pain by teaching them basic lab skills for scientific computing. This hands-on two-day workshop covers the basics of educational psychology and instructional design, and looks at how to use these ideas in both intensive workshops and regular classes. The workshop is a mix of lectures and hands-on lessons where you practice giving a short lesson using approaches learned and implement some of the teaching techniques which we will discuss. This is training for teaching, not technical training; you do not need any particular technical background, and we will not be teaching that. This workshop is based on the constantly revised and updated curriculum.

Who: The course is aimed at everyone who is interested in becoming a better teacher. In particular, this training is aimed at those who want to become Software and Data Carpentry instructors, run workshops and contribute to the Carpentry training materials. You don't currently have to be an instructor or a teacher to attend this workshop, but you do need to be willing and committed to becoming one and to improving your teaching techniques.


This workshop is supported by the ELIXIR project.

Where: Amphimax Building; Rooms 414, 413, 412; University of Lausanne. Get directions with OpenStreetMap or Google Maps.

How to get there:

  • By plane, to Geneva, Basel or Zurich.
  • By train, to Lausanne or Renens (see official website of the Swiss railway company, CFF, for timetables and tickets).
  • By metro, to Unil-Sorge (see the Lausanne public transport website, T-L, for timetables and tickets). From Lausanne railway station: take the metro M2 going to "Les Croisettes" to the "Flon" stop, then the M1 metro going to "Renens CFF". Get off at "UNIL-Sorge". From Renens railway station: metro M1 to the "Unil-Sorge" stop.
  • By car, highway direction Lausanne-Sud, exit "Universit√©-EPFL". Limited car spaces for visitors are available behind the building.

Requirements: Participants should bring a laptop that is Internet connected and has a functioning browser. If you have it, a device for recording audio and video (mobile phones and laptops are OK) is useful as throughout the two days, we are going to record one another teaching in pairs or threes. It does not have to be high-quality, but it should be good enough that you can understand what someone is saying.

Please also read the Preparation section below. You will also receive some further information before the workshop so please check your email.

All participants are also required to abide by Software Carpentry's Code of Conduct.

Contact: Please email for more information.


Day 1

09:00 Welcome and introductions
09:30 Mental models
10:00 Formative vs. summative assessment
10:30 Coffee break
11:00 Teaching as performance art
12:00 Lunch break
13:00 Concept maps
14:30 Coffee break
15:00 Cognitive load theory
15:30 Instructional design. Learning objectives.
16:15 Homework overview
16:30 Close

Day 2

09:00 Recap and homework review
09:45 Live coding and active learning.
10:30 Coffee break
11:00 Live coding - continued
11:30 Motivation and demotivation
12:00 Lunch break
13:00 Overview of Software and Data Carpentry infrastructure
13:30 Setting up and running a workshop
14:30 Coffee break
15:00 Overview of existing materials; how to contribute
16:00 Next steps
16:30 Close



  1. Please read Porter et al's "Success in Introductory Programming: What Works?", which is a good recent summary of results specific to teaching programming, and Mark Guzdial's "Top 10 Myths About Teaching Computer Science", which is a nice overview of things that are not true, but are widely believed.
  2. Please also pick up a copy of "How Learning Works", which is currently the best summary of research in education. It is full of useful insights, and a lot of how we teach is based on the findings it reports.
  3. Finally, please go to Software Carpentry's lessons page and Data Carpentry's lessons page to see what is currently taught by each.
  4. Please watch one of the following videos from Software Carpentry workshops or and put a 3-4 sentences feedback to
  5. Please complete one of the practial tasks:
    • If you want to teach Software Carpentry, please submit a small pull request to this repository Your pull request should contain one file (and one file only) called "your_name.txt" (e.g., marie_curie.txt or alan_turing.txt). This file should contain a sentence or two that describes the type of work you do. You will submit the name of this file as part of your application.
      Help on creating pull requests can be found at If you need assistance, please mail
    • If you want to teach only Data Carpentry, please propose a short exercise for the existing lessons by submitting it via this form.

If you are interested in doing more reading, Huston's "Teaching What You Don't Know" is a lot of fun - many will recognize themselves in these stories. Past participants have also enjoyed "Building a Better Teacher", which is a well-written look at why educational reforms in the past 50 years have mostly failed, and covers what we should be doing instead.