Python is the most popular ‘industrial strength’ programming language in UK schools. Beyond education it is widely used by data scientists and web application developers, and pops up everywhere as a scripting language.
Its popularity has led to the development of lots of tools and add-ons, some of which are useful in schools. A couple of freebies to note are:
Jupyter Notebook has been gaining fans in higher education, where it is used for code demonstrations, assignments, interactive manuals, data visualisation and much more besides. Formerly known as iPython notebook, it makes simple-to-read, easily-editable documents similar in many ways to Wolfram interactive documents – while using the familiar language of Python.
UUhistle – pronounced ‘whistle’ – is a program animation tool. It is used to visualise and explore execution-time behaviour of Python programs. Learners can trace, step-by-step, program execution, following how data is stored and retrieved in memory. From simply watching order of operations, to recursive program flow, it is a unique application that has been shown to help the understanding of novices. And in a different mode, UUhistle asks students to take control of the process, dragging data and functions in order of execution.
Both of these tools have numerous uses in learning computer science. Perhaps you can flip the classroom by giving students exercises to complete in their independent study time? Classroom exercises that encourage them to think more about the processes in action at runtime can also help understanding, and can even be used as assessment exercises.
We would love to hear about your favourite uses of Python that engage students, too, so please share in the comments below.