Software Carpentry TakeAways

In a previous blog post, I announced my excitement for becoming a certified Software and Data Carpentry instructor. As I complete my checkout process, I also wanted to recap the most important points from the training. A lab meeting presentation of this recap cis available on google slides here.

Looking forward to teaching my first workshop in the next few months!

Data Carpentry Software Carpentry

Teaching Techniques

The current goal in higher education is to create an active learning environment in the classroom. This is not new, and in fact I spent 2 years working with the Cornell Center for Teaching Excellence designing workshops using this philosophy. Often, higher education utilizes passive learning environments. The professor is the expert, and they lecture for 50 minutes alongside powerpoint slides. This format is easy to teach, it matches the traditional academic presentation style, and its fairly easy to prepare because the instructor focuses on the question: "What material should I cover?"

Learning Objectives

A wonderful outcome of active learning is that the instructor is encourage to instead ask "What should the outcome of this lesson be?" These outcomes are called learning objectives, and without them, you are teaching just to cover material. Learning Objectives describe what your students will be able to do after finishing the lesson. Learning objectives can be foundational (recite this fact, describe this model) or higher order (choose and apply the correct model to solve a real world problem).

It should be no surprise that Software and Data Carpentry workshops clearly state their learning objectives at the start of each lesson: communicating these to your students is very helpful!

The Human Brain


The human brain has limited space for short term memory, not unlike Random Access Memory (RAM) in a computer.

Software and Data Carpentry subscribes to a model of working memory with limited cognitive load. Your working memory is fast and effective, but small. To test the limits of your working memory, you can take this test.

Most people can remember 5-7 things in the above exercise, give or take. Keep in mind that for true novices, every piece of a single concept will constitute one "thing"! Picking one higher order learning objective per lesson, and including the foundational skills required to achieve it, will almost always meet, or exceed, this limit.


When we think of school, we think tests. Tests are a great form of evaluation, but they should just be the tip of the iceberg. Sprinkling a lesson with evaluations has many benefits, such as :

  • Gives students a chance to "handle" the content, improving retention
  • Corrects student misconceptions
  • Tests for gaps in lesson plan
  • Slows down instruction, giving students time to process and retain information.


Prudent use of in-class activities will allow you to evaluate your students' learning while also working to overcome the limits of short term memory.

In-class activities include all of the following examples:



etherpad is an excellent group notepad.

The most interesting portion of this training for me was the use of technology. Active learning is so difficult in an on-line session: how do you stop for evaluations or encourage students to interact?

  • The video conference software Zoom allowed breakout rooms where we were paired off in small groups to discuss questions and present it back to the group.
  • The collaborative note program Ether Pad served as the roadmap for the lesson. The software has a chatbox, and colored text for tracking who writes what. The frequent activities had us type our responses into Ether Pad where we could comment on one another's answers.

I was also delighted that Workshops use a Jekyll template and github hosting for the website. This site is powered by the same tools!


There were many other topics covered in the workshop, but these were my favorite. If you are interested in learning more, please visit the Software Carpentry and Data Carpentry websites.