Python in education


29th June, 2005

Quick links to the handbook

An introduction to computer programming using Python. Suitable for all ages, but some of the exercises assume high school/secondary school maths.

Preface

This website is no longer actively maintained. The documents produced in the course of my consideration of Python as a language to teach computer programming will remain avaiable, in the hope that that will be of use. You are free to modify or distribute them under the terms of the DSL. I bet you thought there was a Creative Commons license coming then, didn’t you?

, although I should warn you that I’m out of the Python loop, and you’ll probably get a better (but much less witty and urbane) reply on matters Python from the appropriate mailing list. If you’re stuck with a Python programming problem, tutor is the list for you, while EDU-sig is for discussion of teaching techniques, usually specific to Python.

Introduction

This page is the result of a Masters project to assess the suitability of Python as a language to teach computer programming. The victims were a group of physics undergraduates at the University of Oxford. An overview of the project is provided by this article, which appeared in issue 3 of Pyzine.

Enough! You’re here for the goodies, which are avaiable in PDF format for printing, HTML for browsing, and LaTeX for masochisming.

The handbook

The handbook is designed to be used by students as a textbook. It has much local information (in particular chapter 1 and some of chapter 2) which is probably of no interest. Chapter 3 and chapter 4 are generally applicable and form an introduction to procedural programming. The handbook assumes no programming experience but does assume some mathematical aptitude. It is probably suitable for secondary/high school and above.

The handbook was slightly modified for further use in the trial, and that modified version can be downloaded in HTML and PDF format from Oxford Physics.

The report

The report was submitted as my Masters dissertation. It’s very badly written, and the graphs have been known to make grown information architects cry, but perhaps a detailed enumeration of Python’s strengths and weaknesses in education could be useful to someone.