https://github.com/adygcode/ictprg302-classwork-2025-s1
ICTPRG302 (Python) Classwork Demo Code & Documents for 2025/S1 (Repo: ICTPRG302-Classwork-2025-S1)
https://github.com/adygcode/ictprg302-classwork-2025-s1
Last synced: 8 months ago
JSON representation
ICTPRG302 (Python) Classwork Demo Code & Documents for 2025/S1 (Repo: ICTPRG302-Classwork-2025-S1)
- Host: GitHub
- URL: https://github.com/adygcode/ictprg302-classwork-2025-s1
- Owner: AdyGCode
- License: cc0-1.0
- Created: 2025-03-07T04:35:20.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-21T07:05:03.000Z (over 1 year ago)
- Last Synced: 2025-03-21T08:22:47.313Z (over 1 year ago)
- Language: Python
- Size: 462 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ICTPRG302 Classwork 2025 S1
This repository contains sample code, exercises and other useful items
from the unit ICTPRG302 Apply introductory programming techniques,
as delivered to the Certificate IV in IT (Programming) at the Perth Campus,
and for Online programming students
of [North Metropolitan TAFE](https://northmetrotafe.wa.edu.au).
Full credit and acknowledgement **must** be included when reusing all or any
individual part of these notes, exercises, solutions, source code, and
associated data. This **must** include a link to this repository.
## Developer(s)
| Role | Name |
|------|----------------------------------------------------|
| Lead | Adrian Gould (ASL) |
| | Rafael |
| | Para |
| | John |
| | Aaron |
| | Marcia |
## Contributors
Our developers encourage students studying this unit/cluster to contribute to
this project by submitting issues and issue resolutions (via pull requests).
## Useful Links
| Reference | Notes |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------|
| https://www.diigo.com. (2025). Diigo.com. https://www.diigo.com/profile/ady_gould | Adrian Gould's Diigo account. Good starting place for useful resources. |
| Trinket. (2021). Trinket.io. https://books.trinket.io/pfe/index.html | |
| Mertz, J. (2019, February 20). Reading and Writing Files in Python (Guide). Realpython.com; Real Python. https://realpython.com/read-write-files-python/#opening-and-closing-a-file-in-python | |
| Easy, P. M. (2022). Python Made Easy. O’Reilly Online Learning. https://learning.oreilly.com/library/view/python-made-easy/9781836646150/ | |
| Learning Python, 6th Edition. (2025). Learning Python, 6th Edition. O’Reilly Online Learning. https://learning.oreilly.com/library/view/learning-python-6th/9781098171292/ | |
| Practical Python: Learn Python Basics Step by Step - Python 3. (2022). Oreilly.com. https://learning.oreilly.com/course/practical-python-learn/9781803246680/ | |
| Programming with Mosh. (2025). Python for Beginners - Learn Coding with Python in 1 Hour. Youtube.com. https://www.youtube.com/watch?v=kqtD5dpn9C8 | Programming with Mosh is a great channel by an excellent presenter. This Python 'course' covers almost everything for ICTPRG302 |
## Glossary
| Term | Meaning |
|--------|---------------------------------------------------------------------|
| C3IT | ICT30120 Certificate IV in Information Technology (Cybersecurity) |
| C4IT | ICT40120 Certificate IV in Information Technology |
| DipIT | ICT50220 Diploma Information Technology |
| C4Prog | ICT40120 Certificate IV in Information Technology (Programming) |
| C4Web | ICT40120 Certificate IV in Information Technology (Web Development) |
| C4NW | ICT40120 Certificate IV in Information Technology (Networking) |
| C4CS | ICT40120 Certificate IV in Information Technology (Cybersecurity) |
| NMTAFE | North Metropolitan TAFE |
| TODO | An item that needs filling out |
| TAFE | |
| | |
| | |
*Specialist courses are denoted with the specialisms in parentheses.*
## Development Environment
ICT40120 Certificate IV in Information Technology (Programming) students use
the following (or later) development environment for studying this unit
(and other units of competence):
| Item | Version | Link |
|--------------------|-----------|----------------------------------------------------------------------------------------|
| Python | 3.12+ | [Download Python Installer]() |
| JetBrains PyCharm | 2024.3.3+ | [Download JetBrains Toolbox](https://www.jetbrains.com/toolbox-app/) |
| Microsoft Terminal | 2024.3.3+ | [MS Terminal Installer](https://apps.microsoft.com/detail/9n0dx20hk701?hl=en-gb&gl=US) |
| Git | 2024.3.3+ | [Download Laragon v6](https://github.com/AdyGCode/NMTAFE-Laragon-v6) **†** |
### Version Control (Git)
The version control system, git, is listed here as ICTPRG302 is taught
before and simultaneously as other units that cover version control and
object-oriented programming.
### Microsoft Terminal
The MS Terminal is used as it provides a very robust tabbed interface that is
customisable and allows for adding additional 'shells' such as the
version of the Bash shell that is part of the git installation within Laragon.
### Laragon
**†** Our version of Laragon provides the following tools/services (and
others) for use across the complete Certificate IV in Information
Technology (Programming) and Diploma of Information Technology Courses:
- MySQL / MariaDB
- PostgreSQL
- Apache
- Composer
- Git
- HeidiSQL
- MailPit
## About this Repository
TODO: What does this repository contain
### How to download the repository
TODO:
### How to fork & clone the repository
TODO:
### How to be a contributor
TODO:
- How to clone the repo
- How to add new files to the repo
- How to commit the new files
- How to push to the remote
### How to create your own virtual python installation
TODO:
- How to add Python .venv
- How to activate the environment
- How PyCharm uses the virtual environment
## Badges
| Section | Badges |
|:----------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| General | 

 |
| Content Markup |  |
| Languages |  |
| IDEs & Editors | 

 |
| Support Systems | 
 |
## Acknowledgements
- Icons by https://simpleicons.org
- Badges by https://shields.io/badges
## Useful Notes
Install and use:
- Microsoft Terminal
- Bash (From Laragon)
To create a set of folders quickly in BASH use {OPTION_LIST}. For example
to create the Session folders we can use:
```shell
mkdir Session-{{0,1}{0,1,2,3,4,5,6,7,8,9},20}
```
To add a `.gitignore` to the above folders use:
```shell
touch Session-{{0,1}{0,1,2,3,4,5,6,7,8,9},20}/.gitignore
```
Example with folders and subfolders:
```shell
mkdir -p {public,assets/{css,js,img,webfonts,downloads,video}}
touch {public,assets/{css,js,img,webfonts,downloads,video}}/.gitignore
```