Year 1 - Python - Architects
JSON Content Structure
{
"programName": "The Python Digital Architect Program",
"moduleID": "PY-1.4",
"moduleTitle": "Git Collaboration & Web Deployment",
"moduleDescription": "Master advanced Git workflows, including branching and Pull Requests, to collaborate effectively and deploy your Pygame applications to the web using GitHub Pages.",
"capstoneProject": "Part 1: Make a small improvement (e.g., adding a score limit) to a provided simple Pygame game (e.g., Pong) using a new Git branch, create a Pull Request on GitHub, and merge it. Part 2: Deploy your own Pygame game from Module 1.3 to the web using GitHub Pages, resulting in a shareable public URL and professional documentation.",
"technologiesUsed": [
"Git",
"GitHub",
"GitHub Pages",
"Markdown",
"HTML/CSS basics",
"PyGame Web export tools",
"pytest"
],
"coreConcepts": [
"Git branching (git branch, git checkout)",
"Git push with upstream",
"GitHub Pull Request workflow (creating, reviewing, merging)",
"GitHub Pages deployment",
"web deployment",
"README creation",
"code commenting",
"Object-Oriented Design for Game Entities (Recap)",
"Game Loop and Event Handling (Recap)"
],
"blueprints": [
{
"blueprintID": "PY-1.4-BP1",
"blueprintTitle": "Mastering Git Branches for Feature Development",
"coreObjective": "Students will learn to create, switch between, and merge Git branches locally to isolate feature development, specifically by making a small improvement (e.g., adding a score limit) to a provided simple Pygame game.",
"technologiesUsed": [
"Git",
"VS Code"
],
"coreConcepts": [
"Git branching (git branch, git checkout)",
"Git merge",
"Feature branching workflow (local)"
],
"lessonKnowledge": "Students will understand the purpose of branching, how to create and navigate branches, and how to integrate changes using local merges, specifically within the context of a Pygame project.",
"previousLessonKnowledge": "Students should have a solid understanding of basic Git commands (add, commit, push, pull) and repository structure from previous modules."
},
{
"blueprintID": "PY-1.4-BP2",
"blueprintTitle": "Connecting Local Branches to GitHub & Introducing Pull Requests",
"coreObjective": "Students will push local branches to a remote GitHub repository and understand the concept and purpose of a Pull Request.",
"technologiesUsed": [
"Git",
"GitHub"
],
"coreConcepts": [
"Git push with upstream",
"Remote branches",
"Introduction to Pull Requests"
],
"lessonKnowledge": "Students will be able to share their local branches with collaborators via GitHub and explain why Pull Requests are used in collaborative workflows.",
"previousLessonKnowledge": "Students should be proficient in creating and merging branches locally and have a GitHub account linked to their local Git setup."
},
{
"blueprintID": "PY-1.4-BP3",
"blueprintTitle": "The Pull Request Workflow: Review, Comment, Merge",
"coreObjective": "Students will practice the full Pull Request lifecycle on GitHub, including creating, reviewing, commenting on, and merging a Pull Request.",
"technologiesUsed": [
"GitHub"
],
"coreConcepts": [
"GitHub Pull Request workflow (creating, reviewing, merging)",
"Code review practices"
],
"lessonKnowledge": "Students will be able to participate in a standard GitHub-based collaborative workflow, contributing changes via branches and integrating them through reviewed Pull Requests.",
"previousLessonKnowledge": "Students should know how to push branches to GitHub and understand the basic concept of a Pull Request."
},
{
"blueprintID": "PY-1.4-BP4",
"blueprintTitle": "Preparing Your Pygame Project for Web Deployment",
"coreObjective": "Students will prepare their Pygame project for web deployment, focusing on necessary file structure, documentation, and considering web export tools.",
"technologiesUsed": [
"Markdown",
"PyGame Web export tools (conceptual)",
"VS Code"
],
"coreConcepts": [
"README creation",
"Code commenting",
"Project structure for web export",
"Object-Oriented Design for Game Entities (Recap)",
"Game Loop and Event Handling (Recap)"
],
"lessonKnowledge": "Students will understand the steps required to make a Pygame project ready for web hosting, including creating professional documentation and ensuring code clarity.",
"previousLessonKnowledge": "Students should have a completed Pygame project (ideally from Module 1.3) and understand basic project organization."
},
{
"blueprintID": "PY-1.4-BP5",
"blueprintTitle": "Deploying Pygame to the Web with GitHub Pages",
"coreObjective": "Students will deploy their prepared Pygame project to the web using GitHub Pages, resulting in a publicly accessible URL.",
"technologiesUsed": [
"GitHub",
"GitHub Pages",
"HTML/CSS basics (configuration)",
"PyGame Web export tools (application)"
],
"coreConcepts": [
"GitHub Pages deployment",
"web deployment",
"Static site hosting"
],
"lessonKnowledge": "Students will be able to configure a GitHub repository to host a web application using GitHub Pages and troubleshoot common deployment issues.",
"previousLessonKnowledge": "Students should have a Pygame project prepared for web export and understand how to push their project to GitHub."
},
{
"blueprintID": "PY-1.4-BP6",
"blueprintTitle": "Capstone Project: Git Collaboration & Web Deployment Integration",
"coreObjective": "Students will apply the learned Git collaboration workflow and GitHub Pages deployment skills to complete the module's capstone project.",
"technologiesUsed": [
"Git",
"GitHub",
"GitHub Pages",
"Markdown",
"PyGame Web export tools",
"VS Code"
],
"coreConcepts": [
"Git branching (git branch, git checkout)",
"Git push with upstream",
"GitHub Pull Request workflow (creating, reviewing, merging)",
"GitHub Pages deployment",
"web deployment",
"README creation",
"code commenting",
"Object-Oriented Design for Game Entities (Recap)",
"Game Loop and Event Handling (Recap)"
],
"lessonKnowledge": "Students will have successfully completed a project demonstrating their ability to collaborate using Git/GitHub and deploy a Pygame application to the web.",
"previousLessonKnowledge": "Students should have completed all previous blueprints in this module, understanding Git branching, Pull Requests, project preparation, and GitHub Pages deployment."
}
]
}