These projects are created as part of the following training: AIN-3005 "Advanced Python Programming"
This repository is the single source of truth for code assets used in AIN-3005 (Advanced Python Programming). It is designed to help you onboard quickly, stay aligned throughout the semester, and accelerate your learning curve with runnable examples and module-based content.
The operating model is simple: each module folder contains practical material that supports lecture outcomes, lab-style practice, and homework/project implementation patterns.
You should expect a structured set of folders that map to course modules and hands-on topics. As of now, the repository includes the following top-level areas:
module01/andmodule02/for early-course foundations and core Python practice.module03-unit.testing-using-pytest/for unit testing workflows withpytest.module05/for additional advanced topics covered later in the term.lecture-notes/for supporting lecture materials.developing-rest-api/for web/service-oriented development examples.
New modules and assets may be added during the semester, so pull regularly to stay current.
This repo assumes you can run Python locally. A standard, low-friction setup looks like this:
- Install a modern Python version (recommended: Python 3.11+).
- Clone the repository.
- Create and activate a virtual environment.
- Install dependencies when they exist in a module (for example, a
requirements.txtfile).
Example (Windows PowerShell):
git clone https://github.com/deepcloudlabs/ain3005-2025.2026.git
cd ain3005-2025.2026
python -m venv .venv
.\.venv\Scripts\Activate.ps1Example (macOS/Linux):
git clone https://github.com/deepcloudlabs/ain3005-2025.2026.git
cd ain3005-2025.2026
python3 -m venv .venv
source .venv/bin/activateIf a module provides dependencies, install them from that module directory:
pip install -r requirements.txtFor best throughput, treat each module folder as a mini-delivery with the following workflow:
- Read the module material and notes (if provided).
- Run the example scripts end-to-end before editing anything.
- Make incremental changes and re-run frequently.
- For testing modules, run tests locally and iterate until green.
If you are following along with course distribution via MS Teams as well, use this repo as your “canonical” implementation reference and Teams as the communication/coordination layer.
Navigate into the relevant module folder and run:
python your_script_name.pyIn the testing module (or wherever tests exist), run:
pytest -qIf pytest is not installed in your environment:
pip install pytestIf you encounter issues (setup friction, runtime errors, unclear instructions), the fastest escalation path is:
- Reproduce the problem and capture the exact error message.
- Note which module folder and file you were running.
- Share your environment details (OS + Python version).
- Report via the course channel (or open a GitHub Issue if instructed).
This keeps the feedback loop tight and makes it easier to de-risk blockers for everyone.
Use this repository as a learning accelerator, not as a copy/paste pipeline. You are expected to understand what you submit, be able to explain it, and comply with the university’s academic integrity rules.