Teaching: 15 min
Exercises: 10 min
  • How can we describe teaching and learning how to teach?

  • What common vocabulary do we need to talk about teaching and learning?

  • Describe how learning to teach is like learning a performing art.

  • Identify where in a lesson the instructor is using content knowledge, general knowledge, and pedagogical content knowledge.

  • Use an example to illustrate the difference between top-down and bottom-up learning.

The following terms will support the discussions and activities in the rest of the training by giving us a common vocabulary to talk about teaching and learning to teach.

Educational Psychology

Educational psychology is the study of how people learn. It touches on everything from the neuropsychology of perception and the mechanisms of memory to the sociology of school systems and the philosophical question of what we actually mean by “learning” (which turns out to be pretty complicated once you start looking beyond the standardized Western classroom). Within the broad scope of educational psychology, two specific perspectives have primarily influenced Software and Data Carpentry’s lessons and teaching practices (and by extension, this instructor training).

One perspective is cognitivism, which treats learning as a problem in neuropsychology. Cognitivists focus their attention on things like pattern recognition, memory formation, and recall. It is good at answering low-level questions, but generally ignores larger issues like, “What do we mean by ‘learning’?” and, “Who gets to decide?”

Our other guiding perspective is situated learning, which focuses on the way that legitimate peripheral practice leads to people becoming members of a community of practice.

Unpacking those terms, the situated learning perspective focuses on the transition from being a newcomer to being accepted as a peer by those who already do the activity in question. Situated learning is directly relevant to our learners, many of whom ease into scientific computing by doing small tasks that experienced practitioners would regard as straightforward, but who learn how to take on bigger and more novel challenges both from what they do and from the feedback (and welcome) it elicits. It is equally relevant to our instructors (i.e., you), who are approaching evidence-based teaching in the same way.

Software and Data Carpentry aim to serve researchers who are exploring data management and programming on their own (legitimate peripheral practice) and make them aware of other people doing that work (simply by attending the workshop) and the best practices and ideas of that community of practice, thereby giving them a way to become members of that community. Situated learning thus describes why we teach, and recognizes that teaching and learning is necessarily rooted in a social context. We then depend on the cognitivist perspective to drive how we teach the specific content associated with the community of practice.

Other Perspectives

There are many other perspectives outside cognitivist theory—see this site for summaries. Besides cognitivism, those encountered most frequently include behaviorism (which treats education as stimulus/response conditioning), constructivism (which considers learning an active process during which learners construct knowledge for themselves), connectivism (which emphasizes the social aspects of learning, particularly those made possible by the Internet), and connectionism, a cognitivist theory that explains learning as creating connections between concepts. And yes, it would help if their names were less similar…

Instructional Design

Educational psychology does not tell us how to teach on its own because it under-constrains the problem: in real life, several different teaching methods might be consistent with what we currently know about how learning works. We therefore have to try those methods in the class, with actual learners, in order to find out how well they balance the different forces in play. This is called instructional design (ID); if educational psychology is the science, ID is the engineering.

Pedagogical Content Knowledge

There is a misconception in academia that if you are have content knowledge or expertise then you are qualified to teach the subject. However, to effectively teach, you also need to have pedagogical knowledge about how to teach and how learning works. Additionally, different subjects require different teaching methods. Pedagogical content knowledge is knowledge about how to effectively teach a particular subject.

Your own technical expertise and the Carpentry workshop lesson materials provide the content knowledge. Our instructor training program and your teaching experience and training provides the pedagogical knowledge. Finally, our community mentoring programs provide the pedagogical content knowledge through demo lessons, discussion sessions, GitHub issues, and online forums.

Pedagogical Content Knowledge

Examples of Pedagogical Content Knowledge

Myths and Pseudoscience

One well-known scheme characterizes learners as visual, auditory, or kinesthetic according to whether they like to see things, hear things, or do things. This scheme is easy to understand, but as de Bruyckere and colleagues point out in Urban Myths About Learning and Education, it is almost certainly false. Unfortunately, that hasn’t stopped a large number of companies from marketing products based on it to parents and school boards.

This is not the only myth to plague education. The learning pyramid that shows we remember 10% of what we read, 20% of what we hear, and so on? Myth. The idea that “brain games” can improve our intelligence, or at least slow its decline in old age? Also a myth, as are the claims that the Internet is making us dumber or that young people read less than they used to.

Computing education has its own myths. Mark Guzdial’s “Top 10 Myths About Teaching Computer Science” are:

  1. The lack of women in Computer Science is just like all the other STEM fields.
  2. To get more women in CS, we need more female CS faculty.
  3. A good CS teacher is a good lecturer.
  4. Clickers and the like are an add-on for a good teacher.
  5. Student evaluations are the best way to evaluate teaching.
  6. Good teachers personalize education for students' learning styles.
  7. High schools just can't teach CS well, so they shouldn't do it at all.
  8. The real problem is to get more CS curriculum out into the hands of teachers.
  9. All I need to do to be a good CS teacher is model good software development practice, because my job is to produce excellent software engineers.
  10. Some people are just born to program.

The last of these—the idea that there is a “geek gene”—is as pervasive as it is damaging. Elizabeth Patitsas and others have shown that, contrary to a widely-held belief, grades in computing classes are not bimodal, i.e., there isn’t one group that gets it and another that doesn’t. Many of the participants in our workshops have advanced degrees in intellectually demanding subjects, but have convinced themselves that they just don’t have what it takes to be programmers. If all we do is dispel that belief, we will have done them a service.

Key Readings

An excellent overview of research results in education and learning is Ambrose et al’s How Learning Works (which is also an excellent example of what secondary literature ought to look like). Green’s Building a Better Teacher is lighter but no less informative: it explores why educational reforms in the past 50 years have mostly missed the mark, and what we should be doing instead. The ultra-short summary “Deans for Impact report” contains useful, practical insights, and is required reading for this training.

Pieces focusing specifically on computer science education include Guzdial’s “Why Programming is Hard to Teach” and “Top 10 Myths About Teaching Computer Science”, and Porter et al’s “Success in Introductory Programming: What Works?”, all of which you should read before starting this class.

Three Kinds of Knowledge

Think of a memorable moment from a class you took or taught. In the Etherpad, describe it, and explain how the instructor used domain knowledge, general pedagogical knowledge, and pedagogical content knowledge to create that moment. This discussion should take about 5 minutes.

Bottom Up or Top Down?

In the Etherpad, describe the way you learned what you already know about using computers in research: bottom up, top down, or a mix of both? Is that how you prefer to learn? This discussion should take about 5 minutes.

Key Points

  • Aims to strengthen participants’ teaching skills.

  • And to connect them with each other.

  • Educational psychology: the study of how people learn.

  • Instructional design: the engineering of lessons.

  • Pedagogical content knowledge: connects general understanding of teaching to domain-specific content.