This repository contains lecture notes (.ipynb) and slides (.html) for Learning Python Programming at James Watt School of Engineering, University of Glasgow (UoG).
🔺Remark
Although this repository is available to students taking the course "ENG3092: Mechanical Engineering Skills 3" taught at UoG, it is prepared for a wide group of audiences who want to learn Python at their own space. With this in mind, the repository is pefectly suitable for the course "ENG2083: Introductory Programming 2".
📝 Author and Contact
- GitHub: khiemnguyen0407
- Email: khiem.nguyen@glasgow.ac.uk
| Directory | Description |
|---|---|
lecture_notes |
Jupyter Notebook for lecture notes designed for each major topic in learning Python |
slides |
Quarto .qmd files and generated .html files for lecture slides |
slides/figures |
Contain subfolders each of which store the figures for one specific topic slide. For example, slides/figures/python_functions contain all the figures necessary for running/compiling python_functions.qmd |
slides/python_xxx |
Folders that are generated by running the corresponding .qmd files. For exmaple, by compiling python_functions.qmd the folder with name python_functions_files is generated. |
advanced_learning |
Contain lecture notes and code to learn advanced topics such as computing on GPUs, multithread computing |
This repository is constantly updated throughout the semesters to reflect the questions raised in the lectures. Therefore, it is a good idea to download from time to time this repo and overwrite the old version in your local machine. I recommend you to download every two weeks or every week, especially when you see the new updates shown in the github.
Download from GitHub Website
-
Without experience with git control
The easiest way is to download this repository from the Github https: Link to this Repo. Click on the Green Tab<> Codewhen you access the above link, and then chooseDownload ZIP. Unzip the entire downloaded.zipfile. -
With experience with git control
If you are familar with git control, then you can clone the the repository by using thegitcommand. Note that you can copy this command by hoving the mouse to the command, and then the copy icon appears on the right of the banner.git clone https://github.com/khiemnguyen0407/uog-python
After cloning the repo, you can update this repo by pulling the new content from time to time with the command.
git pull
The advantage of using git control and GitHub is that you can make pull request and becomes a contributor for this repo. It is a way to impress your friends 🤗.
The lecture notes are prepared in Jupyter Notebook format. Students at James Watt School of Engineering, UoG only need to study up to lecture
Currently, the lecture notes cover:
- Variables and operators
- Control flows
- Built-in data structures
- Functions
- Object-oriented programming
- NumPy
- Matplotlib
- Errors and exceptions
The slides are prepared using Quarto with format: revealjs. You can examine .qmd files which are nothing but Markdown and python code. Quarto renders the .qmd file to an .html that can be read on any web browser. You need to put the corresponding filenameXXX_files in the same path at which the file filenameXXX.html is. For example, python_functions.html must be in the same path of the folder python_functions_files.
Currently, the slides cover:
| Topic | .html file |
.qmd file |
|---|---|---|
| Recap: Basics of Python | python_recap.html |
python_recap.qmd |
| Functions | python_functions.html |
python_functions.qmd |
| Object-oriented programming | python_oop.html |
python_oop.qmd |
| Special methods in OOP | python_special_methods.html |
python_special_methods.qmd |
| NumPy library | python_numpy.html |
python_numpy.qmd |