Skip to content

sloanlance/Open-Univ-Learn-to-code-for-data-analysis

 
 

Repository files navigation

Learn to code for data analysis

This repository provides the Jupyter notebooks and datasets for the Open University course Learn to Code for Data Analysis, which was available twice a year on FutureLearn, with discussion forums and facilitator support, and is now available 24/7 on OpenLearn, without forums and without support.

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

This repository does not contain the course text. 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.

You can run Jupyter notebooks locally on your computer using software like Anaconda, or you can run them in the cloud using services like CoCalc and Microsoft Azure. Running notebooks in the cloud will be noticeably slower, but you won't have to install any software and you can run them from wherever you have Internet access.

Instructions (Microsoft Azure)

Azure Notebooks

You can copy these notebooks directly to Microsoft Azure, without downloading them first to your computer, and run them there. To do so, if you have used Azure Notebooks before, click the 'launch' badge above, otherwise follow these instructions.

Instructions (Anaconda and CoCalc)

To get 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 .zip. 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 Learn-to-code-for-data-analysis-master 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.

The instructions for installing Anaconda or using Cocalc are given at the start of the course.

The course

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.

Learning outcomes

  • 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

Syllabus

  • 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

Pedagogy

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

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 94.5%
  • HTML 5.5%