Python 101
Students Age 11-14
Welcome to Python 101, this course is ideal for students who are comfortable with the basics of programming logic and computational thinking, it will help them transition to Python and adapt to the additional challenges of text-based syntax.
Students who successfully complete this lesson plan will demonstrate a strong mastery of Python syntax, as well as the ability to creatively program games and other projects and debug their own code.
Lesson 1:
Welcome to Python
Python 101 is separated into three sections:
​
-
Part I - Python Syntax and Basics: students will learn basic Python syntax and programming as they go on a jungle adventure to discover hidden treasures.
-
Part II - UI and Interaction: this part teaches students to use the turtle tool, background color, x-y coordinates, keyboard interaction, and pen drawing.
-
Part III - Game Design: This final art focuses on putting together everything students have learn to build games. Students will even build several games on their own!
Lesson 2:
Loops and Patterns
Students will...
-
Use Python commands to solve puzzle modules
-
Identify patterns in their code
-
Use "for" loops to reduce lines of code
-
Use arithmetic operators to add, subtract, multiply, and divide values
-
Apply coding knowledge to nest multiple “for” loops inside each other
Lesson 3: Part 1
Conditional Logic
Students will
-
Use Python commands to solve puzzle modules
-
Use conditionals to detect whether a condition is true and only run code in certain cases
-
Use assignment operators to change the value of a variable
-
Use comparison operators to compare values
-
Use logical operators to check multiple conditions at the same time or reverse the value of a boolean
-
Distinguish between assignment, comparison, and logical operators
Lesson 3: Part 2
Conditional Logic
Students will
-
Use Python commands to solve puzzle modules
-
Use conditionals to detect whether a condition is true and only run code in certain cases
-
Use assignment operators to change the value of a variable
-
Use comparison operators to compare values
-
Use logical operators to check multiple conditions at the same time or reverse the value of a boolean
-
Distinguish between assignment, comparison, and logical operators
Lesson 4:
Conditional Loops
Students will...
-
Use Python commands and conditional loops to solve puzzle modules
-
Identify differences between a “for” loop and a conditional “while” loop
-
Use “while” loops to continue executing code while a condition is true
-
Identify differences between a “for” loop and a “while” loop
-
Use the “break” command to stop a loop from iterating before it ends naturally
Lesson 5:
Variables
Students will...
-
Use variables to store information
-
Apply knowledge of variables to change the value of a variable and declare multiple variables
-
Use and define strings
-
Use proper syntax for strings
-
Access properties of strings and perform other operations on strings (i.e., substring, search, concatenation)
-
Solve puzzle modules using variables
Lesson 6:
Expressions
Students will...
-
Write and apply knowledge of expressions
-
Distinguish between arithmetic, logical, and string expressions
-
Predict how an expression will evaluate based on knowledge of strings, numbers, and operator precedence
-
Use numbers in expressions
-
Parse data to change its type between strings, floats, and integers
-
Use operator precedence to evaluate an expression
-
Use and declare lists and dictionaries
-
Identify the appropriate data type (variable, list, or dictionary) to store information
Lesson 7:
Turtle Tool
Students will...
-
Use pen drawing to make the turtle draw
-
Create custom shapes using the turtle object
-
Graph using the turtle tool
-
Apply concepts from this lesson to set up a turtle screen, change the screen’s background color, and move the turtle object
-
Apply knowledge of the coordinate system to turtle graphics
Lesson 8:
User Interface
Students will...
-
Apply knowledge of functions to define a function, add parameters to a function, pass a return value back from a function, and delay the execution of code using the “ontimer” function
-
Identify whether an identifier is defined in local or global scope
-
Create a program that reacts to keyboard input
-
Create a program that generates a random integer between two values
-
Create a scene that responds to keyboard inputs
-
Create a scene that responds to mouse inputs
Lesson 9:
Game Design
Students will...
-
Identify sprites and what their behaviors are
-
Create a sprite to represent the player
-
Apply coding concepts to clone a sprite that inherits all of the original sprite’s properties
-
Apply coding concepts to loop through a list using a “for” loop
-
Demonstrate advanced list manipulations
-
Demonstrate sorting a list
Lesson 10:
Snake - Connect 4 - Tetris
Students will...
-
Create a Snake game
-
Create state variables that track the state of the game, such as whether the game has been lost or whose turn it is
-
Apply programming concepts to check win/loss conditions and detect if two sprites are touching
-
Create a Connect 4 game
-
Use nested “for” loops to create a grid
-
Apply coding concepts to declare constants
-
Create a Tetris game
-
Apply coding concepts to store information about the shapes in a tuple