Tony Hirst

Hi! I'm Tony Hirst
OU academic and data tinkerer
Libraries (View all)

This repository provides the Jupyter notebooks and datasets for the Open University course Learn to Code for Data Analysis, which is available:

  • twice a year on FutureLearn, with discussion forums and facilitator support;
  • 24/7 on OpenLearn, without forums and without support.

This repository does not contain the course materials. It contains:

  • one test notebook to check that your software installation includes Python 3 and the necessary data analysis and visualisation libraries;
  • one exercise notebook, one project notebook, and the necessary datasets, for each of the 4 parts of the course;
  • additional software for interactive pivot tables in part 4.

To use the notebooks and data files for the course, click on the green 'Clone or download' button above. You will see a pop-up window with a button 'Download ZIP'. Click on it. The notebooks and data files will be downloaded as a compressed archive: a file with extension . The archive will be in the folder where your web browser usually puts downloaded files. You will need to double-click on the downloaded file to uncompress it, although your browser may have already done that automatically for you.

You should now have a sub-folder named or similar. You can rename the folder to whatever name you prefer. If you will be working on the course using your desktop, e.g. with Anaconda, you need to move that folder to anywhere within your home folder, so that Jupyter can find your notebooks and open them. If you will be working on the course using a web-based service, e.g. CoCalc, you need to upload the folder to that service.

Learn to Code for Data Analysis is a hands-on introduction to computer programming and data analysis. It teaches how to access open data and clean, analyse and visualise it. It adopts a reproducible research approach: the data analysis is written up and publicly shared with the code used in the analysis.

The course teaches how to write computer programs, one line of code at a time, to download, clean, analyse and visualise open data (using line charts, bar charts and scatterplots). The course also teaches how to write up and share data analyses in a reproducible way.

Each part of the course is organised around a specific analysis project using open data from the World Health Organisation, the Weather Underground, the World Bank and the United Nations.

All coding and data analysis is done with tools used by professional scientists: the Python programming language, the pandas data analysis library and the Jupyter Notebooks programming environment.

The course does not assume prior experience in programming, data analysis, or statistics, but it requires basic numeracy and digital skills, like understanding percentages and working with files and folders.

The course was written by Michel Wermelinger (parts 1 and 3), Rob Griffiths (part 2) and Tony Hirst (part 4).

  • Understanding basic programming and data analysis concepts
  • Awareness of open data sources as a public resource
  • Using a programming environment to develop programs
  • Writing simple programs to analyse large bodies of data and produce useful results
  • Python: variables, assignments, expressions, basic data types, if-statement, functions
  • Programming: using Jupyter Notebooks, writing readable and documented code, testing code
  • Data analysis: using pandas to read CSV and Excel files, to clean, filter, partition, aggregate and summarise data, and to produce simple charts

The course follows Merrill's First Principles of Instruction. More details on how are here.

Modified on: Apr 9, 2018

Notebooks and resources for the Open University Course TM112 Introduction to computing and information technology 2 Block 2 Week 6 geolocation activities.

Notebooks are provided for the following activities:

  • Activity 6.16 - Cell Tower Lookup.ipynb
  • Activity 6.20 - Locating Nearby Wifi Hotspots.ipynb
  • Activity 6.22 - 6.25 Geocoding.ipynb
    • Activity 6.22 - Geocoding an address using an API
    • Activity 6.23 - Geocoding addresses and postcodes
    • Activity 6.24 - Geocoding an IP address
    • Activity 6.25 - Reverse geocoding a postcode
  • Activity 6.27 - Creating annotated interactive maps with Python
  • Activity 6.29 - Modelling uncertainty in simple trilateration.ipynb

You should be able to find the notebooks in either the folder or the folder depending on which notebook server you are running.

Modified on: Nov 22, 2018

This library explores various ways in which Jupyter notebooks can embed third party interactive materials to provide scaffolded support for students learning Python as their first text-based programming language.

Tool support includes:

  • blocks based programming () that exports Python code
  • Python tutor / program step tracer ()
  • import python file into notebook for stepped execution and annotation / commenting
  • use notebooks to deliver interactive presentations with live code execution

Examples are also provided of how to use Jupyter notebooks to display interactive, code executing presentations.

As well as running the library contents using the classic Jupyter notebooks interface, you can also open them in a environment.

Having started a notebook session, simple modify the URL from something like:


Modified on: May 17, 2018
0 clones

Jupyter demo for devacuk

Modified on: Feb 15, 2018
Starred Libraries (View all starred libraries)