Scratch Outline
Scratch Outline
Course Overview
● Lecture Topics:
○ What is Scratch?
○ Introduction to block-based programming
○ Overview of the Scratch interface (stage, sprites, scripts)
○ Basic programming concepts (sequence, loops, conditions)
● Lab/Activity:
○ Explore the Scratch interface.
○ Create a simple “Hello, World!” animation.
● Assignment:
○ Build a basic interactive story with at least two sprites.
● Lecture Topics:
○ Understanding events and triggers (“when green flag clicked,” “when
sprite clicked”)
○ Moving sprites with motion blocks
○ User interaction with keyboard and mouse events
● Lab/Activity:
○ Create a project where a sprite moves based on keyboard inputs.
● Assignment:
○ Design a simple maze game where a sprite navigates through
obstacles.
Week 3: Control Structures and Animation
● Lecture Topics:
○ Introduction to control blocks (loops, conditionals)
○ Creating animations with loops
○ Using "if-then" and "if-else" blocks for decision-making
● Lab/Activity:
○ Create an animated scene with repeating patterns.
● Assignment:
○ Develop an interactive animation where characters react to user inputs.
● Lecture Topics:
○ Introduction to variables (score, lives, timers)
○ Using broadcasts for communication between sprites
○ Implementing basic game mechanics (scoring, winning, losing)
● Lab/Activity:
○ Build a project with a score counter and broadcast messages between
sprites.
● Assignment:
○ Create a simple game with a scoring system and multiple levels.
● Lecture Topics:
○ Introduction to sensing blocks (touching, distance, loudness)
○ Adding sound effects and background music
○ Creating more complex interactions (e.g., sprite follows mouse)
● Lab/Activity:
○ Develop a project where sprites interact with each other using sensing
blocks.
● Assignment:
○ Design a musical instrument simulation or sound-based game.
Week 6: Custom Blocks, Cloning, and Optimization
● Lecture Topics:
○ Creating and using custom blocks for code reuse
○ Introduction to cloning sprites
○ Optimizing projects for performance and efficiency
● Lab/Activity:
○ Experiment with creating custom blocks and cloning sprites in a
project.
● Assignment:
○ Develop a complex game or animation using custom blocks and
cloning.
● Lecture Topics:
○ Planning and designing a final project
○ Best practices for debugging and testing
○ Presentation skills and showcasing your work
● Lab/Activity:
○ Work on the final project, incorporating all learned concepts.
● Assignment:
○ Complete and submit the final project.
○ Prepare a short presentation to demonstrate the project to the class.
● Lecture Topics:
○ Reflecting on the learning journey
○ Peer review and feedback sessions
○ Future learning paths in programming
● Lab/Activity:
○ Peer review of final projects.
● Assignment:
○ Submit a reflection on the course experience.
○ Optional: Explore more advanced programming environments (e.g.,
Python, JavaScript).
Final Assessment
● Evaluation:
○ Participation in labs and activities (20%)
○ Weekly assignments (40%)
○ Final project and presentation (40%)