Instructor Training, University of Illinois

Dec 14-15, 2017

9:00 am - 4:30 pm

Instructors: Neal Davis, Elizabeth Wickes


General Information

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.

Where: 1030 National Center for Supercomputing Applications. Get directions with OpenStreetMap or Google Maps.

When: Dec 14-15, 2017. Add to your Google Calendar.

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 note that after this course is over, you will be asked to do three short follow-up exercises online in order to finish qualifying as an instructor: the details are available at If you have any questions about the workshop, the reading material, or anything else, please get in touch.

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

Accessibility: We are committed to making this workshop accessible to everybody. The workshop organisers have checked that:

Materials will be provided in advance of the workshop and large-print handouts are available if needed by notifying the organizers in advance. If we can help making learning easier for you (e.g. sign-language interpreters, lactation facilities) please get in touch and we will attempt to provide them.

Contact: Please mail for more information.


We would like to acknowledge support on campus from Computational Science and Engineering, the National Center for Supercomputing Applications, and Technology Services' Research IT.


Please read the following before the workshop begins:

  1. Success in Introductory Programming: What Works?
  2. The Science of Learning

Please also read through one of the episodes below carefully, so that you can do some exercises based on it on the first day of the class.


Please see this site for course material.

Setup Preparatory readings for the lesson.
Day 1 09:00 Welcome Who are Data and Software Carpentry and how do we approach teaching?
What should you expect from this workshop?
09:15 How Learning Works: The Importance of Practice How do people learn?
Who is a typical Carpentry learner?
How can we help novices become competent practitioners?
10:20 How Learning Works: Expertise and Instruction What type of instructor is best for novices?
How are we (as instructors) different from our learners and how does this impact our teaching?
11:10 Morning Coffee Break
11:25 How Learning Works: Working Memory and Cognitive Load What is cognitive load and how does it affect learning?
How can we design instruction to work with, rather than against, memory constraints?
12:15 Building Teaching Skill: Getting Feedback How can I get feedback from learners?
How can I use this feedback to improve my teaching?
12:35 Lunch Break
13:35 Creating a Positive Learning Environment: Motivation and Demotivation Why is motivation important?
How can we create a motivating environment for learners?
14:40 Creating a Positive Learning Environment: Mindset How does mindset influence learning?
How should we praise our learners?
How should we talk about errors?
What are successful habits of lifelong learners?
15:20 Afternoon Coffee Break
15:35 Building Teaching Skill: The Importance of Practice How can I improve my teaching?
16:45 Wrap-Up and Homework for Tomorrow What have we learned today?
What needs to be done to prepare for tomorrow?
17:05 Finish
Day 2 09:00 Welcome Back What have we learned so far?
What will we focus on today?
09:10 Building Teaching Skill: Lesson Study How should I use learning objectives when preparing to teach?
How can I adapt challenges while teaching?
How can I adapt my teaching in response to formative assessment
10:05 Building Teaching Skill: Live Coding Why do we teach programming using live coding?
11:05 Morning Coffee Break
11:20 Building Teaching Skill: Performance Revised How did you change your teaching in response to feedback?
12:00 Lunch Break
13:00 The Carpentries: Workshop Introductions How do you actually start a workshop?
14:10 The Carpentries: How We Operate How are Software and Data Carpentry organized and run?
15:15 Afternoon Coffee Break
15:30 The Carpentries: Teaching Practices How are the teaching practices we’ve learned used in our workshops?
What do I do if there is a Code of Conduct violation?
16:00 Afternoon Wrap-Up What do I need to do to finish certifying as a Carpentry instructor?
16:45 Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.

We will use this collaborative document for chatting, taking notes, and sharing URLs and bits of code.