This page provides information and links to these two Python courses:
run by the Graduate School of Life Sciences at University of Cambridge, UK.
Since February 2017, the original two days course, taught over many years (on GitHub since 2013), has been rewritten into two separate courses running over three days.
Introduction to solving biological problems with Python: This course provides a practical introduction to the writing of Python programs for the complete novice. Participants are lead through the core aspects of Python illustrated by a series of example programs. Upon completion of the course, attentive participants will be able to write simple Python programs and customize more complex code to fit their needs.
Working with Python: functions and modules: This course will cover concepts and strategies for working more effectively with Python with the aim of writing reusable code. In the morning session, we will briefly go over the basic syntax, data structures and control statements. This will be followed by an introduction to writing user-defined functions. We will finish the course by looking into how to incorporate existing Python modules and packages into your programs as well as writing you own modules.
The course materials are available as Jupyter notebook files, one for each session of the course. Jupyter notebooks allow you to interactively run python code in your browser and if you install Jupyter on your own machine, you can then run the notebooks and experiment with the example code. A quick installation guide is also available in our introductory course repository on GitHub in the README.md file.
The notebook and example data files as well as scripts used in both courses are available to download from our course’s repositories:
python-basic course repo for ‘Introduction to solving biological problems with Python’ course
python-functions-and-modules repo for ‘Working with Python: functions and modules’ course
Static renderings of the notebooks (that do not support interactively running the examples) are also available (using the Jupyter notebook viewer) as a service from GitHub.
Web-based collaborative editor is used during some courses, allowing everyone to simultaneously ask questions by editing a text document, and see all participants’ edits in real-time:
Example solutions to all of the exercises from the course materials are available from the course repository in the
solutions folder. The solution scripts are named sequentially for each session.
Note that these solutions are just examples, and there are many ‘correct’ solutions to these exercises. If you spot any issues or bugs with the solutions, or indeed any of the course materials, please let us know (pull requests are welcome!)