This course provides an introduction to Python programming for geoscientists. It was developed and delivered at the Research School of Earth Sciences, Australian National University between 2018 and 2020 by Oscar Branson, Charles Le Losq, Rebecca McGirr and Andrew Valentine.
The course was designed to be taught intensively, with ~45 timetabled hours over 3 weeks. Apart from an introductory presentation, which introduces some basic concepts of computer science, the course is mainly built around self-paced practical exercises. Students completed these in class time, with support from teaching staff, and with regular whole-class discussion/presentation of concepts and particular exercises.
Typically, students were able to move forward at a rate of about one practical per 2-3 hour session. Unsurprisingly, there is wide variation across students and across practicals. Students were advised that only material from practicals 1-16 was examinable; practicals 17-20 introduce some more advanced topics. Exercise 11 can be skipped if students are pressed for time.
Students had to complete two assignments:
Once the take-home assignment had been submitted and marked, all students attended a brief individual oral examination (~15 mins) where they were asked to discuss aspects of their solution to the exercise. This was intended to discourage collusion, and also provided an opportunity to deliver personalised feedback.
You can download this repository as a Zip file by clicking here.
If you wish to work through this course on your own computer, you first need to install Python and Jupyter. There are many different ways to do this; one good option for novices is to install the free Anaconda Python Distribution. Once this is installed, running the Anaconda Navigator
app should present buttons for launching a number of different tools, one of which is Jupyter Notebook
. Clicking this should (eventually) open a Jupyter window within your web browser, and you will see a listing of the files on your computer. Navigate to your downloaded copy of this repository, and open index.ipynb
. You can then click links that take you to each exercise.
You can click here to run the Jupyter notebooks via BinderHub. This allows you to try them out without installing anything. However, you cannot save you work.
Alternatively, if you have Google Drive account, you can upload a copy of the zip file there, unpack it, and then execute the notebooks using Google Colab.
If you find anything that does not seem to be working correctly, or you have other feedback, please feel free to open an issue in the Issue Tracker. You can also email me.