Year 1 - Python - Architects
JSON Content Structure
{
"programName": "The Python Digital Architect Program",
"moduleID": "PY-1.1",
"moduleTitle": "The Generative Artist",
"moduleDescription": "Learn to use core programming concepts to create complex, repeatable geometric art that demonstrates mastery of Python fundamentals.",
"capstoneProject": "A Generative Art program that combines multiple functions to draw a unique, complex, and beautiful pattern that can be customized with different parameters.",
"technologiesUsed": [
"Python 3.x",
"Turtle graphics library",
"VS Code",
"built-in math module",
"pytest",
"git"
],
"coreConcepts": [
"for loops",
"functions with parameters",
"variables",
"basic conditional logic",
"turtle graphics",
"nested loops",
"mathematical transformations"
],
"blueprints": [
{
"blueprintID": "PY-1.1-BP1",
"blueprintTitle": "My First Turtle Drawing: Lines and Shapes",
"coreObjective": "Understand basic Python syntax and use the Turtle library to draw simple geometric shapes.",
"technologiesUsed": [
"Python 3.x",
"Turtle graphics library",
"VS Code"
],
"coreConcepts": [
"Variables (for color, speed)",
"Python syntax basics",
"Turtle graphics setup (screen, turtle object)",
"Turtle movement (forward, backward, left, right)",
"Drawing basic shapes (square, triangle)"
],
"lessonKnowledge": "Students will learn how to set up a Python environment for Turtle graphics, control the turtle's movement, change its properties (like color and speed), and draw fundamental shapes.",
"previousLessonKnowledge": "None"
},
{
"blueprintID": "PY-1.1-BP2",
"blueprintTitle": "Repeating with Loops: The Power of Patterns",
"coreObjective": "Utilize `for` loops to efficiently create repetitive patterns and more complex geometric designs.",
"technologiesUsed": [
"Python 3.x",
"Turtle graphics library",
"VS Code"
],
"coreConcepts": [
"for loops",
"range() function",
"variables within loops",
"iterative drawing"
],
"lessonKnowledge": "Students will understand how `for` loops automate repetitive tasks, enabling them to draw intricate patterns (e.g., a row of shapes, polygons with many sides, simple spirals) with minimal code.",
"previousLessonKnowledge": "Basic Python syntax, variables, Turtle graphics setup and basic movement commands."
},
{
"blueprintID": "PY-1.1-BP3",
"blueprintTitle": "Building Blocks: Functions for Reusable Art",
"coreObjective": "Learn to define and use functions with parameters to create modular and reusable drawing components.",
"technologiesUsed": [
"Python 3.x",
"Turtle graphics library",
"VS Code"
],
"coreConcepts": [
"Functions (definition and calling)",
"Parameters (for size, color, sides)",
"Code modularity",
"Abstraction"
],
"lessonKnowledge": "Students will be able to encapsulate drawing logic into functions (e.g., `draw_polygon(sides, length, color)`), making their code more organized, readable, and easier to reuse for complex compositions.",
"previousLessonKnowledge": "Understanding of for loops, variables, and basic Turtle graphics operations."
},
{
"blueprintID": "PY-1.1-BP4",
"blueprintTitle": "Adding Flair: Conditions and Nested Structures",
"coreObjective": "Introduce basic conditional logic (`if/else`) to vary drawing outputs and use nested loops to create more complex, layered patterns.",
"technologiesUsed": [
"Python 3.x",
"Turtle graphics library",
"VS Code"
],
"coreConcepts": [
"Basic conditional logic (if, else, elif)",
"Comparison operators",
"Nested for loops",
"Combining loops and conditions"
],
"lessonKnowledge": "Students will learn to make their drawings more dynamic by using conditional statements (e.g., changing color based on loop iteration) and create grid-like or intricate layered designs using nested loops.",
"previousLessonKnowledge": "Ability to define and use functions with parameters, understanding of for loops and Turtle graphics."
},
{
"blueprintID": "PY-1.1-BP5",
"blueprintTitle": "Generative Techniques: Implementing Transformations and Combining Functions",
"coreObjective": "Learn to implement key mathematical transformations (rotation, scaling, translation) using function parameters and the `built-in math module`, and combine these with custom functions to build sophisticated generative art.",
"technologiesUsed": [
"Python 3.x",
"Turtle graphics library",
"VS Code",
"built-in math module"
],
"coreConcepts": [
"Mathematical transformations (rotation, scaling, translation)",
"Implementing transformations via function parameters",
"Using the `built-in math module` (e.g., `math.sin`, `math.cos`) for geometric calculations",
"Function composition for complex visual structures",
"Advanced pattern generation",
"Creative application of mathematical concepts in art"
],
"lessonKnowledge": "Students will learn to explicitly implement key mathematical transformations to create sophisticated generative art. They will understand how to:\n* Achieve **rotation** by manipulating the turtle's heading or by applying trigonometric functions (e.g., `math.sin`, `math.cos` from the `built-in math module`) for rotations around arbitrary points.\n* Implement **scaling** by passing size-modifying parameters to their drawing functions.\n* Perform **translation** by strategically repositioning the turtle before drawing elements.\nConcrete coding examples will demonstrate how to integrate these transformations into their functions (e.g., creating a rotated and scaled array of shapes). This will enhance their ability to combine functions and parameters to produce complex, customizable, and dynamic visual patterns.",
"previousLessonKnowledge": "Proficiency with functions, loops, conditional logic, and Turtle graphics."
},
{
"blueprintID": "PY-1.1-BP6",
"blueprintTitle": "Good Habits: Intro to Testing and Version Control",
"coreObjective": "Introduce the fundamental concepts of code testing (simple, non-GUI examples).",
"technologiesUsed": [
"Python 3.x",
"pytest",
"git",
"VS Code"
],
"coreConcepts": [
"Importance of testing",
"Writing simple test functions (e.g., for a helper function that calculates a value)"
],
"lessonKnowledge": "Students will gain a conceptual understanding of why testing is important for reliable code. They will practice writing a simple test for a non-graphical utility function.",
"previousLessonKnowledge": "Solid understanding of Python functions and basic program structure."
},
{
"blueprintID": "PY-1.1-BP7",
"blueprintTitle": "Capstone Showcase: Your Generative Masterpiece",
"coreObjective": "Synthesize all learned Python and Turtle graphics concepts to design and implement a unique, complex, and customizable generative art program. - They will draw a map of the nearby area with their favorite landmarks using Turtle.",
"technologiesUsed": [
"Python 3.x",
"Turtle graphics library",
"VS Code",
"git"
],
"coreConcepts": [
"Application of all module concepts: for loops",
"functions with parameters",
"variables",
"basic conditional logic",
"turtle graphics",
"nested loops",
"mathematical transformations",
"code organization",
"creative design"
],
"lessonKnowledge": "Students will demonstrate their ability to integrate various programming techniques to create a substantial and original piece of generative art, showcasing their understanding of Python fundamentals and creative application of learned skills. This lesson needs a roadmap that helps them with the capstone project.",
"previousLessonKnowledge": "All concepts and skills covered in Blueprints 1 through 6, including Python programming, Turtle graphics, functions, loops, conditionals, and basic Git usage."
}
]
}