These Jupyter notebooks provide a self-study introduction to computing with Python. They have been developed for the computing course in Part IA (Michaelmas Term) of the Engineering Tripos at University of Cambridge. This is a first computing course for undergraduate students.
The notebooks can be freely used, shared and modified. See the copyright and license notice below.
Copies of the notebooks are hosted on the Microsoft Azure cloud service:
It is recommended that you use the notebooks via the above link.
Note that when 'viewing' the rendered notebooks on the Azure service there may be some display artefacts. For the best experience, 'clone' the library to use the notebooks in a Jupyter environment.
Each notebook covers a topic, with a number of exercises for completion at the end of each notebook. Start with the notebook Part IA Michaelmas Term computing. Model solutions to the exercises are available - contact Garth N. Wells to request the solutions.
Cambridge students/staff: When prompted to sign in to the Azure notebook service, use your University of Cambridge email address, e.g. .
Others: Create an account on https://notebooks.azure.com to use the notebooks interactively.
For each notebook there are a set of exercises in the directory Exercises for completion at end the of each Activity notebook.
These notebooks are maintained at https://github.com/CambridgeEngineering/PartIA-Computing-Michaelmas. Please report suggestions or errors at:
These notebooks are developed by Garth N. Wells (firstname.lastname@example.org).
Valuable feedback during the development of the notebooks was provided by Quang T. Ha, Hugo Hadfield, Tim Love, Chris Richardson and Joanna Stadnik.
All material is copyright of Garth N. Wells (email@example.com).
All text is made available under the Creative Commons Attribution-ShareAlike 4.0 International Public License (https://creativecommons.org/licenses/by-sa/4.0/legalcode).
All computer code is released under the MIT license.
The MIT License (MIT) Copyright (c) 2016-2019 Garth N. Wells
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.