Scratch to Python Bridge
Weekly Course Plan
Class 1: Review of the Fundamentals
● Topics: What is programming? The difference between hardware and software. We'll
introduce the Input → Process → Output (IPO) model and define what a program
is, including algorithms, pseudocode, and flowcharts. We'll then compare
block-based and text-based programming, introducing key Python concepts like
syntax, semantics, and indentation.
● Scratch Bridge: Connect the "green flag" in Scratch to a Python "main flow." We'll
also relate the "Say/Ask" mindset to text input/output (I/O).
● Take-Home: None
Class 2: From Blocks to Text, Vars
● Topics: Learn to use print() for output and input() for user input. We'll introduce basic
data types (str, int, float) and practice defining and calling functions, focusing on
proper naming and indentation.
● Scratch Bridge: Relate Scratch’s “say/ask” blocks to Python's print/input and
Scratch's "My Blocks" to Python's functions.
● Take-Home: Assignment 1
Class 3: Functions II: Parameters & Return Values
● Topics: Differentiate between parameters and arguments and explore optional
default parameters. You'll learn the crucial difference between a function that returns
a value and one that simply prints.
● Scratch Bridge: See how complex custom blocks with inputs translate to Python
functions with parameters. Understand that reusing a block is like calling a function
repeatedly with different arguments.
● Take-Home: Assignment 2
Class 4: Conditionals I
● Topics: Use if, elif, and else statements. We'll cover comparison operators (<, <=,
==, !=) and basic input cleaning (strip, lower).
● Scratch Bridge: Relate Scratch’s “if then / if then else” blocks to Python’s
branching logic and boolean reporter blocks to Python's boolean expressions.
● Take-Home: None
Class 5: Conditionals II
● Topics: Learn about compound logic using and, or, and not. We'll also cover
nested if statements and chained comparisons (0 <= x < 10).
● Scratch Bridge: See how stacked conditions in Scratch translate to nested or
compound conditions in Python. Understand that multiple decision paths relate to an
elif ladder.
● Take-Home: Assignment 3
Class 6: Loops I
● Topics: Use for loops to iterate over strings and use accumulators for counting.
We'll also introduce while loops for repeated input.
● Scratch Bridge: Connect Scratch’s “repeat/forever” blocks to Python's for/while
loops. Relate the "ask-until-valid" pattern to a while loop.
● Take-Home: None
Class 7: Loops II
● Topics: Use the range() function for a specific number of repetitions. Learn to use
break and continue to alter loop behavior. We'll also briefly touch on nested loops
and running totals.
● Scratch Bridge: Connect Scratch's “repeat N times” block to for i in range(N) in
Python. Relate a game-style "forever" loop to a while True loop with a quit condition.
● Take-Home: Assignment 4.
Class 8: Consolidation & Handoff
● Topics: We'll combine everything you've learned to build larger programs. We'll
practice reading tracebacks, testing with sample inputs, and refactoring helper
functions.
● Scratch Bridge: Map a small text program's flowchart back to the Scratch blocks
you would have used.
● Take-Home: Project/Assignment 5 depending on student progress.