Material for a beginner course for the Centre for Data, Culture & Society about the programming language Python.
Taught by Lucy Havens in semester 2 of the academic year 2022
The course material contains:
- Lecture Slides (two per week)
- Jupyter Notebooks for demos from the slides
- Assignments (also Jupyter Notebooks, one per week)
The material in this repo is licensed under Creative Commons Attribution 4.0 International License.
Day 1:
- Thinking Like a Computer
- Where to Find Help
- Programming in Python:
- Data types: int, str, float
- Variables
- Operators
- Functions
Day 2:
- Programming in Python:
- Conditionals
- Loops
- Error Handling
- Functions vs. Methods
- Modules
- Recursion
Day 3:
- Programming in Python:
- More on Recursion
- More Data Types: list, dictionary, tuple, set
- More Functions
- Measuring Equivalence
- Determining Containment
Day 4:
- Code Reusability and Reproducibility
- Efficiency and Memory Considerations
Open Google Colab: https://colab.research.google.com If you are not already logged you will be prompted to log-in via Gmail
- Go to the GitHub header and copy and paste the link to this repo and select the notebook you want to use and press enter
The Notebook contains paragraphs of explanatory text interspersed with grey cells containing code blocks. To run a code block and see the result:
- Place your cursor within the cell
- Click the 'Run' button on the top menu
- The results of running this code will appear below
- If the results don't appear immediately, check the icon in the browser tab. AN egg-timer icon indicates it is processing the code.
- It is best to follow the Notebook from top to bottom as some code blocks will depend on results from previous cells
- You can edit code blocks yourself and run them to see the results of your changes
To clear the results and run the code again you can use the 'Cell' menu on the top menu bar
- To clear the results of the current cell: Cell > Current Outputs > Clear
- To clear the results of all cells: Cell > All Output > Clear
Python is great for general-purpose programming and is a popular language for scientific computing as well. Installing all of the packages required for this lessons individually can be a bit difficult, however, so we recommend the all-in-one installer Anaconda.
Regardless of how you choose to install it, please make sure you install Python version 3.x (e.g., Python 3.6 version).
Windows - Video tutorial
-
Open anaconda.com/download with your web browser.
-
Download the Python 3 installer for Windows.
-
Double-click the executable and install Python 3 using MOST of the default settings. The only exception is to check the Make Anaconda the default Python option.
macOS - Video tutorial
-
Open anaconda.com/download with your web browser.
-
Download the Python 3 installer for macOS.
-
Install Python 3 using all of the defaults for installation.
To start Jupyter Notebook Open the Anaconda Navigator and Launch Jupyter Notebook
- Download the notebook on your machine
- Go to Upload
- Navigate to where you have downloaded your file
- Select Upload again
- Double-click on the uploaded file
If you are part of the University of Edinburgh you can use Noteable the cloud-based computational notebook system that work on your browser from any device.
To get started:
Download the files listed on the right to a location on your computer Make sure you know the location they have been downloaded to (usually your 'Downloads' folder) as you will need to upload them to Noteable. (The filename should end with '.ipynb'. If your computer has appended '.txt' to the end of the file make sure this is removed)
- Open the following link in a new tab: https://noteable.edina.ac.uk/login
- Login with your EASE credentials
- Under 'Standard Notebook' click 'Start'
- From the Noteable home page, click on the 'Upload' button at the top right of the screen and browse to one of the files you saved earlier to select it.
- Now click the blue 'Upload' button to load it into Noteable
- Once the file has been uploaded, click on the filename to start the Notebook