Contents Menu Expand Light mode Dark mode Auto light/dark, in light mode Auto light/dark, in dark mode Skip to content
Teaching Programming
Logo
Teaching Programming
  • Preface
  • The Craft of Teaching
    • Programming is difficult to teach
    • The Teaching Process
    • What Students are looking for
    • Types of Students
    • The Teacher
    • The Classroom
  • Preparing Lessons
    • Decide what to teach
    • Learning Goals
    • Concept Maps
    • The Structure of a Lesson
    • Lesson Plans
    • Example Lesson: Create Tables in SQL
    • Planning well-balanced Courses
    • Teaching Online
  • Managing Expectations
    • The first minute
    • Selling your Lesson
    • Mood Cards
    • Four Questions
    • Scale
    • Getting to know each other
  • Warming Up
    • Priming
    • One-Liners
    • Buggy Code
    • Upside-Down
    • Brainstorming
    • How to use storytelling?
    • Theater
    • Eight Tricks with Bricks
  • Introducing New Content
    • Deductive Instruction
    • Alternatives to Slide Presentations
    • Live coding
    • Visual Media
    • Questions
    • Knowledge Board
    • Paper-and-Scissor Worksheets
    • Algorithmic games
  • Coding Exercises
    • Facilitating Coding Exercises
    • How to prevent Installation Problems?
    • Group Assignments
    • Debugging
    • Coding Kata
    • Group Puzzle
    • Code Reviews
    • How to select material for self-study?
  • Wrapping Up
    • Multiple Choice Questions
    • 20 Questions
    • Check & Cross
    • Memory
    • Scrabble
    • Telepathy
    • Quizzes
    • Lightning Talks
    • Facilitated Discussion
    • Carrousel
    • Marketplace
    • Fishbowl with Experts
    • More Recap Methods
  • Collecting Feedback
    • Dot Voting
    • Feedback Props
    • Start a Fire
    • Fist or Five
    • Four-Corner Feedback
    • Round Robin Questions
    • Supermarket
    • Voting Box
    • Other Feedback Methods
  • Troubleshooting
    • How to teach with little time to prepare?
    • How to be a less nervous teacher?
    • How to teach when your plan doesn’t work?
    • How to deal with technology failures?
    • How to handle heterogeneous skill levels?
    • How to react to disruptive behavior?
    • How to handle passive participants?
    • How to handle participants under pressure?
    • How to wake up your class?
    • How to teach in an unfamiliar place?
    • How to teach a subject you know little about?
  • Appendix
    • A Recipe for Bioinformatics Training Course Design
    • Quotes on Teaching
    • Links and Literature
Back to top
View this page
Edit this page

Links and Literature¶

Literature¶

  • Teaching Tech Together by Greg Wilson

  • 10 Tips for Programming Classes

  • Journal of Open Source Education

  • 10 simple rules for developing a short bioinformatics training course

  • Hattie (2009) visible-Learning – “What teachers do matters”.

  • Lesson Study

  • [Lesson Study II](http://www.lessonstudygroup.net/lg/conference/-478445411.pdf https://people.neilon.software/)

Courses¶

  • SW Carpentry Trainer course

  • Learning How to Learn @ Coursera - online course by Barbara Oakley and Terrence Sejnowski

  • Software Carpentry – programming lessons with excellent didactic structure

  • Scipy-Lectures – advanced course material on data science

Methods¶

  • Methopedia

  • CS Unplugged – offline methods

  • MathManiacs – overlap with CS Unplugged (Mike Fellows)

  • Methodenpool Cologne – in German

  • Aktivieren und Motivieren – in German

  • More Methods – in German

Teaching Programming to Kids¶

  • Rapid Router – 100 Blockly programming exercises

  • Programmieren mit der Maus – Blockly programming tutorial in German

  • Lightbot – programming a small robot

  • Scratch – programming environment by MIT

  • ScratchJr – programming for 6-7 year olds (iOS/Android only)

  • Codemoji – online playground for learning HTML + CSS

  • Tynker – online coding platform with many prepared lessons

  • Scottie Go – haptic programming game in English, Polish and Korean (commercial)

  • Unplugged Classroom activities

  • Open Tech School Intro to Python

  • Code + Go Robot Mouse

  • Lego Education

Flipped Class¶

  • Flipping Your Classroom

  • Flip Class @ Wikipedia

  • Eric Mazur

Tools¶

  • Jupyter notebooks in teaching

  • Jupyter Education Forum

  • Repl.it – Write and execute Python code in a browser

  • Socrative – quiz tool

  • PollEverywhere – quiz tool

  • Quizlet – quiz tool

Screencasts¶

  • Asciinema

  • Screencastify

  • Appear.in

  • Feedvalidator

  • zoom

Other¶

  • Sir Ken Robinson @ TED

  • Potsdam – collection of beginner-friendly material

  • Project Euler – mathematical problem solving

  • Coder Dojo – catalog of dojos worldwide

  • Homepage Nicco Kunzmann

  • Gewissensbits – case studies for ethics (German)

Books¶

  • Jark, Werner: Leitfaden zur Unterrischtsvorbereitung [Scriptor]

  • Unterrichtsmethoden [Scriptor]

  • Meyer, Hilbert: Didaktische Modelle [Scriptor]

  • Bönsch, Manfred: Unterrichtsmethoden - kreativ & vielfältig

  • “Flip your classroom”

Previous
Quotes on Teaching
Copyright © 2025, Kristian Rother
Made with Sphinx and @pradyunsg's Furo
On this page
  • Links and Literature
    • Literature
    • Courses
    • Methods
    • Teaching Programming to Kids
    • Flipped Class
    • Tools
    • Screencasts
    • Other
    • Books