{"id":26686055,"url":"https://github.com/adygcode/ictprg302-classwork-2025-s1","last_synced_at":"2025-10-20T12:03:17.862Z","repository":{"id":281123283,"uuid":"944278455","full_name":"AdyGCode/ICTPRG302-Classwork-2025-S1","owner":"AdyGCode","description":"ICTPRG302 (Python) Classwork Demo Code \u0026 Documents for 2025/S1 (Repo: ICTPRG302-Classwork-2025-S1)","archived":false,"fork":false,"pushed_at":"2025-03-21T07:05:03.000Z","size":473,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-21T08:22:47.313Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AdyGCode.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-07T04:35:20.000Z","updated_at":"2025-03-21T07:05:07.000Z","dependencies_parsed_at":"2025-03-21T08:22:29.180Z","dependency_job_id":"2e2eabd0-f01a-4fec-8e49-2d4e96c75a40","html_url":"https://github.com/AdyGCode/ICTPRG302-Classwork-2025-S1","commit_stats":null,"previous_names":["adygcode/ictprg302-classwork-2025-s1"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdyGCode%2FICTPRG302-Classwork-2025-S1","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdyGCode%2FICTPRG302-Classwork-2025-S1/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdyGCode%2FICTPRG302-Classwork-2025-S1/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdyGCode%2FICTPRG302-Classwork-2025-S1/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AdyGCode","download_url":"https://codeload.github.com/AdyGCode/ICTPRG302-Classwork-2025-S1/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245641437,"owners_count":20648644,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-26T11:16:16.030Z","updated_at":"2025-10-20T12:03:17.857Z","avatar_url":"https://github.com/AdyGCode.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ICTPRG302 Classwork 2025 S1\n\nThis repository contains sample code, exercises and other useful items\nfrom the unit ICTPRG302 Apply introductory programming techniques,\nas delivered to the Certificate IV in IT (Programming) at the Perth Campus,\nand for Online programming students\nof [North Metropolitan TAFE](https://northmetrotafe.wa.edu.au).\n\nFull credit and acknowledgement **must** be included when reusing all or any\nindividual part of these notes, exercises, solutions, source code, and\nassociated data. This **must** include a link to this repository.\n\n## Developer(s)\n\n| Role | Name                                               |\n|------|----------------------------------------------------|\n| Lead | Adrian Gould (ASL) \u003cadrian.Gould@nmtafe.wa.edu.au\u003e |\n|      | Rafael                                             |\n|      | Para                                               |\n|      | John                                               |\n|      | Aaron                                              |\n|      | Marcia                                             |\n\n## Contributors\n\nOur developers encourage students studying this unit/cluster to contribute to\nthis project by submitting issues and issue resolutions (via pull requests).\n\n## Useful Links\n\n| Reference                                                                                                                                                                                     | Notes                                                                                                                           |\n|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------|\n| 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.                                                         |\n| Trinket. (2021). Trinket.io. https://books.trinket.io/pfe/index.html                                                                                                                          |                                                                                                                                 |\n| 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 |                                                                                                                                 |\n| Easy, P. M. (2022). Python Made Easy. O’Reilly Online Learning. https://learning.oreilly.com/library/view/python-made-easy/9781836646150/                                                     |                                                                                                                                 |\n| Learning Python, 6th Edition. (2025). Learning Python, 6th Edition. O’Reilly Online Learning. https://learning.oreilly.com/library/view/learning-python-6th/9781098171292/                    |                                                                                                                                 |\n| Practical Python: Learn Python Basics Step by Step - Python 3. (2022). Oreilly.com. https://learning.oreilly.com/course/practical-python-learn/9781803246680/                                 |                                                                                                                                 |\n| 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 |\n\n\n## Glossary\n\n| Term   | Meaning                                                             |\n|--------|---------------------------------------------------------------------|\n| C3IT   | ICT30120 Certificate IV in Information Technology (Cybersecurity)   |\n| C4IT   | ICT40120 Certificate IV in Information Technology                   |\n| DipIT  | ICT50220 Diploma Information Technology                             |\n| C4Prog | ICT40120 Certificate IV in Information Technology (Programming)     |\n| C4Web  | ICT40120 Certificate IV in Information Technology (Web Development) |\n| C4NW   | ICT40120 Certificate IV in Information Technology (Networking)      |\n| C4CS   | ICT40120 Certificate IV in Information Technology (Cybersecurity)   |\n| NMTAFE | North Metropolitan TAFE                                             |\n| TODO   | An item that needs filling out                                      |\n| TAFE   |                                                                     |\n|        |                                                                     |\n|        |                                                                     |\n\n*Specialist courses are denoted with the specialisms in parentheses.*\n\n## Development Environment\n\nICT40120 Certificate IV in Information Technology (Programming) students use\nthe following (or later) development environment for studying this unit\n(and other units of competence):\n\n| Item               | Version   | Link                                                                                   |\n|--------------------|-----------|----------------------------------------------------------------------------------------|\n| Python             | 3.12+     | [Download Python Installer]()                                                          |\n| JetBrains PyCharm  | 2024.3.3+ | [Download JetBrains Toolbox](https://www.jetbrains.com/toolbox-app/)                   |\n| Microsoft Terminal | 2024.3.3+ | [MS Terminal Installer](https://apps.microsoft.com/detail/9n0dx20hk701?hl=en-gb\u0026gl=US) |\n| Git                | 2024.3.3+ | [Download Laragon v6](https://github.com/AdyGCode/NMTAFE-Laragon-v6) **†**             |\n\n### Version Control (Git)\n\nThe version control system, git, is listed here as ICTPRG302 is taught\nbefore and simultaneously as other units that cover version control and\nobject-oriented programming.\n\n### Microsoft Terminal\n\nThe MS Terminal is used as it provides a very robust tabbed interface that is\ncustomisable and allows for adding additional 'shells' such as the\nversion of the Bash shell that is part of the git installation within Laragon.\n\n### Laragon\n\n**†** Our version of Laragon provides the following tools/services (and\nothers) for use across the complete Certificate IV in Information\nTechnology (Programming) and Diploma of Information Technology Courses:\n\n- MySQL / MariaDB\n- PostgreSQL\n- Apache\n- Composer\n- Git\n- HeidiSQL\n- MailPit\n\n## About this Repository\n\nTODO: What does this repository contain\n\n### How to download the repository\n\nTODO:\n\n### How to fork \u0026 clone the repository\n\nTODO:\n\n### How to be a contributor\n\nTODO:\n\n- How to clone the repo\n- How to add new files to the repo\n- How to commit the new files\n- How to push to the remote\n\n### How to create your own virtual python installation\n\nTODO:\n\n- How to add Python .venv\n- How to activate the environment\n- How PyCharm uses the virtual environment\n\n## Badges\n\n| Section         | Badges                                                                                                                                                                                                                                                                                                                                                                             |\n|:----------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| General         | ![GitHub Repo stars](https://img.shields.io/github/stars/AdyGCode/ICTPRG302-Classwork-2025-S1?style=for-the-badge) \u003cbr/\u003e![GitHub Last Commit](https://img.shields.io/github/last-commit/AdyGCode/ICTPRG302-Classwork-2025-S1?style=for-the-badge) \u003cbr/\u003e![GitHub Downloads](https://img.shields.io/github/downloads/AdyGCode/ICTPRG302-Classwork-2025-S1/total?style=for-the-badge) |\n| Content Markup  | ![Markdown](https://img.shields.io/badge/markdown-000000.svg?style=for-the-badge\u0026logo=markdown\u0026logoColor=white)                                                                                                                                                                                                                                                                    |\n| Languages       | ![Python](https://img.shields.io/badge/python-000000?style=for-the-badge\u0026logo=python\u0026logoColor=#3776AB)                                                                                                                                                                                                                                                                            |\n| IDEs \u0026 Editors  | ![PyCharm](https://img.shields.io/badge/pycharm-000000?style=for-the-badge\u0026logo=pycharm\u0026logoColor=ffffff) \u003cbr/\u003e![Idle](https://img.shields.io/badge/idle-000000?style=for-the-badge\u0026logo=idle\u0026logoColor=ffffff) \u003cbr/\u003e![VS Code](https://img.shields.io/badge/VSCode-000000?style=for-the-badge\u0026logo=VSCode\u0026logoColor=ffffff)                                                       |\n| Support Systems | ![Bash](https://img.shields.io/badge/bash-4EAA25?style=for-the-badge\u0026logo=gnubash\u0026logoColor=ffffff) \u003cbr/\u003e![Git](https://img.shields.io/badge/git-F05032?style=for-the-badge\u0026logo=git\u0026logoColor=ffffff)                                                                                                                                                                             |\n\n## Acknowledgements\n\n- Icons by https://simpleicons.org\n- Badges by https://shields.io/badges\n\n## Useful Notes\n\nInstall and use:\n\n- Microsoft Terminal\n- Bash (From Laragon)\n\nTo create a set of folders quickly in BASH use {OPTION_LIST}. For example\nto create the Session folders we can use:\n\n```shell\nmkdir Session-{{0,1}{0,1,2,3,4,5,6,7,8,9},20}\n```\n\nTo add a `.gitignore` to the above folders use:\n\n```shell\ntouch Session-{{0,1}{0,1,2,3,4,5,6,7,8,9},20}/.gitignore\n```\n\nExample with folders and subfolders:\n\n```shell\nmkdir -p {public,assets/{css,js,img,webfonts,downloads,video}}\ntouch {public,assets/{css,js,img,webfonts,downloads,video}}/.gitignore\n\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadygcode%2Fictprg302-classwork-2025-s1","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadygcode%2Fictprg302-classwork-2025-s1","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadygcode%2Fictprg302-classwork-2025-s1/lists"}