Scientific Computing Practical Course
This course is an introduction to using Jupyter and Python for scientific computing — that is, for data science and machine learning.
Arrangements
- Briefing lecture (available on recordings tab)
- This is a self-paced online course, with automated ticks which you must complete by early in Lent term. There will be no written exam.
- For questions, please use the help forum on Moodle.
- There will also be two further sessions, consisting of 30 minutes of general discussion in LT1 followed by helpdesk in the Intel Lab. These will be Thu 19 Jan 1–3pm, and Tue 24 Jan 1.30–3.30pm.
Course contents / tutorials
- 0. Introduction to Python
- 1. Numerical computation with numpy
- 2. Plotting with matplotlib (with plot gallery)
- 3. Handling data with pandas — optional
If you want to read more, I recommend From Python to Numpy and Scientific Visualization: Python + Matplotlib, both by Nicolas Rougier. There are also some handy recipes for data cleanup (reading SQL, scraping a webpage etc.) if you want to do your own data science investigations.
Assessment / ticks
There are four ticks, each marked pass/fail. Most students are expected to pass all 4 ticks. Each tick contributes 2% to your mark on the maths paper, giving a total of 8%.
- Exercise 0 (getting started) — not assessed
- Tick 1 and Tick 2
— model solution [ipynb] - Tick 3 (plotting) and Tick 4 (investigation) — deadline 12noon on Monday 6 Feb
Please upload your work to Moodle. Instructions about what to upload are on Moodle. You will be assessed on the answers, not on the neatness of your code, so you do not need to spend any time cleaning up your notebooks. A random subset of you will be asked for live ticking, for auditing purposes, after 6 Feb.
Running Python and Jupyter
Most students do their work in Jupyter Notebooks on
hub.cl.cam.ac.uk,
which has all the relevant Python libraries installed. (Make sure when you start a new notebook that
you choose python39
, the latest version of Python.) Exercise 0 shows you how to use the automated ticker,
and has some tips about how to structure your notebooks.
But you can also do your work anywhere else, for example your own machine with Jupyter or VSCode, or on Google Colab. The automated ticker runs anywhere.