Instructor Training: Books

Key Points

  • Software and Data Carpentry are communities of practice. We strive to provide a welcoming environment for all learners and take our Code of Conduct seriously.

  • This episode sets the stage for the entire workshop. The introductions and exercises help everyone begin to develop a relationship and trust.

  • This workshop will cover general teaching pedagogy and how it applies specifically to Software and Data Carpentry.

  • Learner motivation and prior knowledge vary widely, but can be assessed with a quick multiple choice question.

How Learning Works: The Importance of Practice
  • Our goal when teaching novices is to help them construct useful mental models.

  • This requires practice and feedback.

  • Formative assessments provide practice for learners and feedback to learners and instructors.

How Learning Works: Expertise and Instruction
  • Experts face challenges when teaching novices due to expert blind spot.

  • Expert blind spot: knowing something so well that it seems easy when it’s not.

  • With practice, we can learn to overcome our expert blind spot.

How Learning Works: Working Memory and Cognitive Load
  • Most adults can store only a few items in short-term memory for a few seconds before they lose them again.

  • Things seen together are remembered (or mis-remembered) in chunks.

  • Teaching consists of loading short-term memory and reinforcing it long enough for items to be transferred to long-term memory.

  • Use formative assessments to avoid overloading short-term memory.

Building Teaching Skill: Getting Feedback
  • Give your learners time to fill out the post-workshop survey at the end of your workshop.

  • Take the time to respond to your learners’ feedback.

Creating a Positive Learning Environment: Motivation and Demotivation
  • A positive learning environment helps people concentrate on learning.

  • People learn best when they see the utility in what they’re learning, so teach what’s most immediately useful first.

  • Imposter syndrome is a powerful force, but can be overcome.

  • Accessibility benefits everyone.

Creating a Positive Learning Environment: Mindset
  • Growth mindset and grit promote learning by making effort a positive thing.

  • Presenting errors as essential to the learning process helps learners learn from their mistakes.

  • Successful lifelong learners aren’t embarassed to ask for help.

Building Teaching Skill: The Importance of Practice
  • Like all other skills, good teaching requires practice and feedback.

  • Lesson study is essential to transferring skills among teachers.

  • Feedback is most effective when those involved share ground rules and expectations.

Wrap-Up and Homework for Tomorrow
Welcome Back
  • Instructors guide learners to construct the proper big picture (accurate mental model) of the topic rather than focus on details.

  • Instructors rely on frequent feedback from learners to monitor their own presentation of the material.

  • Instructors introduce a few concepts at a time to avoid cognitive overload.

  • The best way to motivate learners? Show them how to do something they can immediately put to use and be enthusiastic about it.

  • Teaching is a learned skill.

Building Teaching Skill: Lesson Study
  • To teach effectively, you have to know who you are teaching.

  • Good learning objectives communicate the intended effect of a lesson on its learners.

  • A good exercise provides useful guidance to instructors about next steps needed in teaching.

Building Teaching Skill: Live Coding
  • Live coding gives learners continuous practice and feedback.

  • Live coding forces the instructor to slow down.

  • Mistakes made during live coding are valuable learning opportunities.

Building Teaching Skill: Performance Revised
  • (Reflective) Practice makes perfect.

The Carpentries: Workshop Introductions
  • A planned introduction is a helpful tool in setting the workshop environment.

  • Introductions should both include practical information and start building relationships.

The Carpentries: How We Operate
  • Carpentry materials are all openly licensed, but Software and Data Carpentry names and logos are trademarked.

  • Carpentry workshops must cover core concepts, have at least one certified instructor, use our pre- and post-workshop surveys and report attendance information.

The Carpentries: Teaching Practices
  • Having a plan makes it easier for you to remember to implement the important teaching practices you’ve learned.

Afternoon Wrap-Up
  • To certify, you must contribute to a lesson, take part in a discussion, and do a teaching demo within 90 days of your training event.


Susan Ambrose et al: How Learning Works: Seven Research-Based Principles for Smart Teaching.
An excellent overview of what we know about education and why we believe it’s true, covering everything from cognitive psychology to social factors.
Stephen D. Brookfield and Stephen Preskill: The Discussion Book.
Describes fifty different ways to get groups talking productively.
Joshua Foer: Moonwalking with Einstein: The Art and Science of Remembering Everything.
Discusses memory techniques within the context of training for the U.S. Memory Championship. Compelling read and also very informative.
Elizabeth Green: Building a Better Teacher.
A well-written look at why educational reforms in the past 50 years have mostly missed the mark, and what we should be doing instead.
Mark Guzdial: Learner-Centered Design of Computing Education: Research on Computing for Everyone.
A well-researched investigation of what it means to design computing courses for everyone, not just people who are going to become professional programmers, from one of the leading researchers in CS education.
Doug Lemov: Teach Like a Champion 2.0.
Presents 62 classroom techniques drawn from intensive study of thousands of hours of video of good teachers in action.
Therese Huston: Teaching What You Don’t Know.
A pointed, funny, and very useful book that explores exactly what the title suggests.
James Lang: Small Teaching.
A short guide to evidence-based teaching practices that can be adopted without requiring large up-front investments of time and money.
Jane Margolis and Allan Fisher: Unlocking the Clubhouse: Women in Computing.
A groundbreaking report on the gender imbalance in computing, and the steps Carnegie-Mellon took to address the problem.
Claude M. Steele: Whistling Vivaldi: How Stereotypes Affect Us and What We Can Do.
Explains and explores stereotype threat and strategies for addressing it.


Baume: “Writing and Using Good Learning Outcomes
A useful detailed guide to constructing useful learning outcomes.
Borrego and Henderson: “Increasing the Use of Evidence-Based Teaching in STEM Higher Education: A Comparison of Eight Change Strategies
Describes eight approaches to effecting change in STEM education that form a useful framework for thinking about how Software Carpentry and Data Carpentry can change the world.
Brown and Altadmri: “Investigating Novice Programming Mistakes: Educator Beliefs vs Student Data
Compares teachers’ opinions about common programming errors with data from over 100,000 students, and finds only weak consensus amongst teachers and between teachers and data.
Carroll, Smith-Kerker, Ford, and Mazur-Rimetz: “The Minimal ManualHuman–Computer Interaction, 3:2, 123-153, 1987.
Outlines an approach to documentation and instruction in which each lesson is one page long and describes how to accomplish one concrete task. Its focus on immediate application, error recognition and recovery, and reference use after training makes it an interesting model for Software and Data Carpentry.
Crouch and Mazur: “Peer Instruction: Ten Years of Experience and Results
An early report on peer instruction and its effects in the classroom.
Deans for Impact: “The Science of Learning
Summarizes cognitive science research related to how students learn, and connects it to practical implications for teaching and learning.
Guzdial: “Exploring Hypotheses about Media Computation
A look back on 10 years of media computation research.
De Bruyckere et al: “Urban Myths About Learning and Education
A one-page summary drawn from their book of the same name.
Gormally et al: “Feedback about Teaching in Higher Ed: Neglected Opportunities to Promote Change
Summarizes best practices for providing instructional feedback and recommends specific strategies for sharing instructional expertise.
Guzdial: “Why Programming is Hard to Teach
A chapter from Making Software that explores why programming seems so much harder to teach than some other standard subjects.
Kirschner et al: “Why Minimal Guidance During Instruction Does Not Work: An Analysis of the Failure of Constructivist, Discovery, Problem-Based, Experiential, and Inquiry-Based Teaching
Argues that inquiry-based learning is less effective for novices than guided instruction.
Lee: “What can I do today to create a more inclusive community in CS?”.
A brief, practical guide on exactly that with references to the research literature.
Mayer and Moreno: “Nine Ways to Reduce Cognitive Load in Multimedia Learning
Shows how research into how we absorb and process information can be applied to the design of instructional materials.
Porter et al: “Success in Introductory Programming: What Works?
Summarizes the evidence that three techniques—peer instruction, media computation, and pair programming—can significantly improve outcomes in introductory programming courses.
Wiggins and McTighe: “UbD in a Nutshell
A four-page summary of the authors’ take on reverse instructional design.
Wilson et al: “Good Enough Practices in Scientific Computing”.
Describes and justifies a minimal set of computing practices that every researcher could and should adopt.
Wilson et al: “Best Practices for Scientific Computing
Describes and justifies the practices that mature scientific software developers ought to use.
Wilson: “Software Carpentry: Lessons Learned
Summarizes what we’ve learned in 17 years of running classes for scientists.