icon picker
Programming Course

Scratch

Course Outline

🗓️ Duration: TBD

Target Audience: Ages 5–9 ​Format: Weekly lessons (1–2 hrs each), hands-on projects, and guided videosTools: Scratch (scratch.mit.edu), optional (scratch extensions)

🟢 Module 1: Introduction to Scratch

Topic 1.1: Getting Started with Scratch

Objectives: Understand the Scratch interface, create a Scratch account, explore basic motion blocks.
Instructor Video: "Tour of Scratch Interface & First Project"

Module Document:
Student Task: Make a sprite move across the screen using the “move” and “turn” blocks.

Topic 1.2: Events and Simple Animations

Objectives: Use “when green flag clicked” and “when key pressed” blocks; build animations.
Instructor Video: "Making Your Sprite Dance"
Student Task: Create a short animation of a sprite walking across the screen.

🟡 Module 2: Building Logic and Interactivity

Topic 2.1: Using Loops and Sounds

Objectives: Understand loops, repetition, and sound integration.
Instructor Video: "Loops and Sounds in Scratch"
Student Task: Make a sprite repeat a dance move 10 times with background music.

Topic 2.2: Introduction to Conditional Logic

Objectives: Understand if-statements and basic sensing.
Instructor Video: "Making Interactive Characters"
Student Task: Create a game where a sprite reacts to touching another sprite or color.

🟠 Module 3: Game Design Basics

Topic 3.1: Variables and Scores

Objectives: Learn to create and update variables (e.g., score).
Instructor Video: "Adding Scores and Lives to Your Game"
Student Task: Make a game where players earn points by catching falling objects.

Topic 3.2: Broadcast and Game Flow

Objectives: Learn about broadcasts to control scenes and events.
Instructor Video: "Creating Multiple Game Levels"
Student Task: Make a 2-level game using broadcasts.

🔵 Module 4: Advanced Concepts & Animation

Topic 4.1: Cloning and Multiple Sprites

Objectives: Create multiple copies of sprites and manage their behavior.
Instructor Video: "Using Clones to Make a Space Invaders Game"
Student Task: Make a game where multiple enemies appear using clones.

Topic 4.2: Custom Blocks and Optimization

Objectives: Learn how to make custom blocks to organize code.
Instructor Video: "Advanced Scratch: Create Your Own Block"
Student Task: Refactor an existing project using custom blocks.

🟣 Module 5: Storytelling and Creativity

Topic 5.1: Building an Interactive Story

Objectives: Use sequences, dialogues, and sound to narrate a story.
Instructor Video: "How to Build a Story Game in Scratch"
Student Task: Create a 2-minute interactive story with at least two endings.

Topic 5.2: Polish and Presentation

Objectives: Add instructions, credits, and refine visuals/sounds.
Instructor Video: "Polishing Your Scratch Project Like a Pro"
Student Task: Add menus, credits, and instructions to a previous project.

🎓 Capstone Project Ideas

Students will design and complete one of the following:
Adventure Game – Multi-level game with score, enemies, and story arc.
Education App – An interactive quiz that teaches math, science, or reading.
Scratch Animation Movie – A 3-minute animated story with characters, narration, and sound.
Virtual Pet – A pet simulation game where users care for and play with a digital pet.
Capstone Submission Includes:
Project link
Short written reflection
Screenshot or demo recording
Peer feedback session



Course Outline (Senior)

🗓️ Duration: TBD

Target Audience: Ages 8–16 ​Format: Weekly lessons (1–2 hrs each), hands-on projects, and guided videos ​Tools: Scratch (scratch.mit.edu), optional hardware (mBot2, Arduino, LEGO, micro:bit etc.)

🔰 Module 1: Scratch Basics – Getting Started

Objectives:
Understand Scratch interface
Learn to create sprites, backgrounds, and simple scripts
Instructor Video: "Introduction to Scratch and Your First Program" (5 mins)
Topic Tasks:
Create a sprite and make it move
Design a background and switch scenes
Capstone Idea: "My First Animated Story" – Make a 3-scene cartoon with sound and speech bubbles.
Evaluation:
Correct use of sprites and scenes
Completion of a working short story

🚀 Module 2: Movement & Animation

Objectives:
Control sprite movements (x, y coordinates)
Add basic animation using costume changes
Understand loops and timing
Instructor Video: "Make Your Sprite Dance!" (7 mins)
Topic Tasks:
Create a sprite dance or walk
Add looping background music
Capstone Idea: "Dance Party Animation" – Multiple characters performing synchronized dance.
Evaluation:
Use of loops and costume switching
Proper event triggering (e.g., “when green flag clicked”)

🎮 Module 3: Interactive Games I – Events & Logic

Objectives:
Understand broadcast messages
Implement conditionals (if-then, touching color)
Use variables to track score and time
Instructor Video: "Build Your First Game: Collect the Stars!" (10 mins)
Topic Tasks:
Build a point system
Add start and game-over conditions
Capstone Idea: "Fruit Catcher" – Catch falling fruits to score points.
Evaluation:
Score increases correctly
Game starts/restarts correctly

🎮 Module 4: Interactive Games II – Levels & Complexity

Objectives:
Create multiple levels using logic
Store player progress
Add win/lose feedback with sounds and animation
Instructor Video: "From Simple to Smart: Advanced Game Logic" (10 mins)
Topic Tasks:
Add multiple scenes/levels
Use variables to track level number
Capstone Idea: "Treasure Hunter" – Navigate mazes and unlock levels.
Evaluation:
Consistent level transitions
Working game-over and win states

🎥 Module 5: Animation Studio

Objectives:
Storyboarding and planning animations
Advanced use of timelines and backdrops
Voice recording and sound effects
Instructor Video: "Create Your Own Animated Short Film" (8 mins)
Topic Tasks:
Record voices and sync with character
Use custom backdrops and sound effects
Capstone Idea: “Animated PSA” – Public service message on climate change or kindness.
Evaluation:
Story structure and message clarity
Use of original audio and backgrounds

🧠 Module 6: AI & Smart Programs (Scratch Extensions)

Objectives:
Use Scratch extensions (translate, text-to-speech, AI services)
Integrate data from sensors or speech
Instructor Video: “Making Scratch Smarter with Extensions” (9 mins)
Topic Tasks:
Create a language translation app
Add voice instructions to a game
Capstone Idea: “AI Tour Guide” – A sprite that answers questions in different languages.
Evaluation:
Proper use of at least one extension
Functional and interactive output

🧰 Module 7: Debugging & Best Practices

Objectives:
Learn to identify and fix bugs
Organize scripts and name variables
Use comments for clarity
Instructor Video: "Fixing Bugs Like a Pro" (6 mins)
Topic Tasks:
Debug an intentionally broken project
Add comments and organize scripts
Capstone Idea: “Fix the Code Challenge” – Collaborative debugging of peer code.
Evaluation:
Peer-review checklist
Reflection on debugging steps

🌍 Module 8: Adventure – Integrations & Exploration

Objectives:
Explore integrating Scratch with hardware and web APIs
Learn about sensors, robots, and real-world data
Instructor Video: “Beyond the Screen: Scratch + The Real World” (12 mins)
Integration Ideas:
🛠️ Makeblock mBot2: Use Scratch to move robot and read sensors
🤖 Arduino via S4A: LED blinking, motion alerts
🌐 APIs: Weather app using dummy API keys (via Scratch extensions)
🧱 LEGO WeDo 2.0: Motion-based games
Capstone Idea: "Smart School Project" – Students build a Scratch-based classroom alert system or robot demo.
Evaluation:
Working hardware integration
Demonstration and presentation

🏁 Final Project and Showcase🎯

Final Capstone: "Build Your Dream App or Game" – Combine knowledge from all modules.
Requirements:
Functional and creative
Documented with screenshots and presentation
Includes at least 2 Scratch extensions or integrations
Evaluation Rubric:
Task Eval
Criteria
Excellent (5)
Good (4)
Fair (3)
Needs Work (1–2)
Functionality
5
6
5
Creativity & Storytelling
Technical Complexity
Presentation
Debugging/Comments
There are no rows in this table


MIT App Inventor

Course Outline (Junior)

🗓️ Duration: TBD

Target Audience: Ages 5–9 ​Format: Weekly session (1 hrs each), hands-on projects, and guided videosTools: Scratch (scratch.mit.edu), optional (scratch extensions)

🟢 Module 1: Introduction to App Inventor

Objectives:
Understand App Inventor interface
Learn basic concepts: components, blocks, and design view
Build and test your first simple app
Instructor Video Guide: “Getting Started with MIT App Inventor – Interface Tour & First App” (~5 min)
Tasks:
Create a "Hello World" app
Use a Button and Label component
Test on AI2 Companion App
Evaluation Metrics:
App successfully runs on emulator or real device
Correct use of Button-Label logic

🟢 Module 2: User Interface Design Basics

Objectives:
Use common UI elements: buttons, textboxes, images
Apply layouts (horizontal, vertical)
Design visually structured mobile screens
Guide Video: “UI Elements & Layout Tips in MIT App Inventor” (~7 min)
Tasks:
Create a user login screen
Arrange buttons and fields using layout components
Evaluation:
UI is intuitive and visually organized
Proper component alignment

🟡 Module 3: Event-Driven Programming and Logic

Objectives:
Understand event-driven programming in App Inventor
Use conditionals, variables, and basic math operations
Guide Video: “Building Interactive Apps: Event Logic in App Inventor” (~10 min)
Tasks:
Build a simple calculator app
Add logic for Add/Subtract/Multiply/Divide
Evaluation:
Code structure follows correct event flow
Accurate calculations based on user input

🟡 Module 4: Using Multimedia & Sensors

Objectives:
Add sound, images, and video
Use mobile sensors (accelerometer, orientation, etc.)
Guide Video: “Using Sound and Sensors in Mobile Apps” (~8 min)
Tasks:
Build a “Shake-to-Play” sound app using Accelerometer
Add background music to an app
Evaluation:
Sound/media load correctly
Sensor triggers action as expected

🟡 Module 5: Storing and Retrieving Data

Objectives:
Use TinyDB for local data storage
Introduction to global and local variables
Guide Video: “Data Storage in MIT App Inventor with TinyDB” (~6 min)
Tasks:
Create a to-do list app with save/load feature
Store user preferences locally
Integration: 📦 TinyDB
Evaluation:
Data persists after app closes
Smooth add/remove item functionality

🟠 Module 6: Connecting to the Web – APIs and Online Data

Objectives:
Connect to public APIs (e.g., weather, quotes)
Parse JSON responses
Guide Video: “Using Web APIs in App Inventor” (~10 min)
Tasks:
Create a weather app using OpenWeatherMap API
Display city temperature using JSON
Integration: 🌐 Web API, JSONTextDecode block
Evaluation:
API call returns and parses data correctly
Meaningful UI representation of API data

🟠 Module 7: Working with Firebase – Real-Time Cloud Database

Objectives:
Set up Firebase for real-time data syncing
Read/write user-generated content
Guide Video: “Firebase Setup for App Inventor – Real-time Apps” (~12 min)
Tasks:
Create a guestbook or chat app
Enable real-time sync between users
Integration: ☁️ Firebase DB
Evaluation:
Multiple users see updated content in real time
Proper Firebase configuration

🔵 Module 8: App Navigation and Multi-Screen Design

Objectives:
Implement screen switching and parameter passing
Organize apps with multiple screens
Guide Video: “Multi-Screen Navigation in MIT App Inventor” (~8 min)
Tasks:
Build a quiz app with intro, question, and score screens
Evaluation:
Seamless navigation
Data shared across screens correctly

🔵 Module 9: Publishing and Testing for Android and iOS

Objectives:
Package app for APK (Android) and AAB (Google Play)
Use MIT App Inventor iOS TestFlight process
Guide Video: “Deploying to Android & iOS – Complete Guide” (~10 min)
Tasks:
Export app as APK
Follow Apple iOS TestFlight instructions
Evaluation:
App installable on Android and iOS test devices
Complete user testing checklist

🟣 Capstone Project

Project Ideas:
Community Health App – Tracks user symptoms and gives basic advice using API
Eco-Friendly Habit Tracker – Encourages sustainable habits with gamification
Student Planner App – Stores tasks, sends deadline alerts, syncs with Firebase
Capstone Deliverables:
Functional App (APK or iOS Test version)
Design Documentation
Short demo video presentation
Final report (objectives, user flow, lessons learned)
Evaluation Rubric:
Eval Metrics
Functionality
30%
UI/UX Design
Code Structure & Logic
Use of Integration (API/Firebase/etc.)
Presentation & Report
There are no rows in this table

Course Outline (Senior)

🗓️ Duration: TBD

Target Audience: Ages 8–16 ​Format: Weekly lessons (1–2 hrs each), hands-on projects, and guided videosTools: Scratch (scratch.mit.edu), optional hardware (mBot2, Arduino, LEGO, etc.)

🟢 Module 1: Getting Started with App Inventor

Objective:
Understand what MIT App Inventor is and its interface
Set up development environment for Android and iOS
Build and test your first app
Video Guide:
"Welcome to App Inventor: Your First App (Hello World!)"
Student Task:
Create a basic app that displays a welcome message and changes text on button click
Evaluation Metrics:
Ability to access and navigate MIT App Inventor
Successfully building and running the first app on emulator or device

🟡 Module 2: UI Components & Event Handling

Objective:
Use UI components (buttons, labels, images, text boxes)
Handle user events (click, input)
Video Guide:
"Designing Your First Functional App Interface"
Student Task:
Build a tip calculator that takes input and calculates tip on button press
Evaluation Metrics:
UI usability and correct event handling

🟠 Module 3: Variables, Logic, and Math

Objective:
Use variables and control logic
Perform arithmetic and conditional operations
Video Guide:
"Programming Logic and Math in App Inventor"
Student Task:
Create a simple grade calculator or quiz app
Evaluation Metrics:
Logical correctness and flow
Functional use of conditionals

🟣 Module 4: Working with Multimedia

Objective:
Add sound, video, camera, and image manipulation
Use the Canvas for drawing and animation
Video Guide:
"Bring Your App to Life with Media & Animation"
Student Task:
Build a photo frame or drawing app
Evaluation Metrics:
Multimedia integration and functionality

🔵 Module 5: Lists, Loops, and Data Structures

Objective:
Understand lists, iteration, and data processing
Store and retrieve lists for dynamic app behavior
Video Guide:
"Building a To-Do List App with Loops & Lists"
Student Task:
Create a checklist or shopping list app
Evaluation Metrics:
Correct implementation of lists and loops

🟤 Module 6: App Navigation and Multi-Screen Design

Objective:
Design multi-screen apps
Navigate between screens with parameters
Video Guide:
"Making Your App Multi-Functional: Working with Screens"
Student Task:
Build a recipe app with ingredient detail on second screen
Evaluation Metrics:
Navigation logic and screen layout

🟩 Module 7: Using Sensors and Location Features

Objective:
Integrate accelerometer, GPS, compass, and orientation
Build location-aware or motion-based apps
Video Guide:
"Using Device Sensors for Smart Apps"
Student Task:
Build a pedometer or location finder
Evaluation Metrics:
Sensor response accuracy and integration

🟧 Module 8: TinyDB and Data Persistence

Objective:
Store data locally with TinyDB
Create user sessions, saved preferences
Video Guide:
"Keep User Data with TinyDB"
Student Task:
Create a personal diary or user login preference app
Evaluation Metrics:
Persistent data and correct data retrieval logic

🔴 Module 9: Connecting to Web APIs

Objective:
Call REST APIs using Web Component
Parse JSON data and display results
Video Guide:
"Using the Web: Connect Your App to APIs"
Student Task:
Build a weather app using a public weather API
Evaluation Metrics:
Correct use of web requests and data parsing

⚫ Module 10: Advanced UI and Dynamic Components

Objective:
Use dynamic UI generation
Customize themes and build reusable layouts
Video Guide:
"Advanced App Design with Dynamic Components"
Student Task:
Build a dynamic news app that displays items from API
Evaluation Metrics:
Reusable design, dynamic generation accuracy

✳️ Module 11: iOS Compatibility and Testing

Objective:
Test and deploy apps for iOS
Debug cross-platform compatibility
Video Guide:
"Publishing Your App on iOS & Android"
Student Task:
Test your main app on iOS and list differences/issues
Evaluation Metrics:
iOS-specific design considerations and resolution

🌟 Capstone Project Ideas

Health Tracker App (with graphs and local storage)
Community Emergency App (location-based alert)
Language Learning Flashcard App (API and image/audio)
Eco Diary (Daily habits + TinyDB + Weekly stats)
Capstone Evaluation Metrics:
Creativity
Functionality
UI/UX
Platform compatibility
Use of advanced components (API, database, sensors)

🚀 Adventure Module: Integration & Exploration

Objective:
Extend apps with external integrations and real-world systems

Topics & Tools:

Database: Firebase integration for real-time updates
AI/ML APIs: Use Google Vision API or Hugging Face APIs
IoT Hardware:
mBot2 integration (Bluetooth command execution)
Lego Spike/EV3 (Simple control interface)
Arduino via BLE (Sensor data visualization)
Google Sheets: App as form input collector
Speech Recognition: Use voice control
Blockchain: (Advanced) Save immutable entries for health records
Student Task:
Choose one integration and build a functional prototype
Evaluation Metrics:
Complexity of integration
Stability and innovation
Documentation quality



🟢 Module 1: Introduction to App Inventor

Objectives:
Understand App Inventor interface
Learn basic concepts: components, blocks, and design view
Build and test your first simple app
Instructor Guide: “Getting Started with MIT App Inventor – Interface Tour & First App”

Tasks:
Create a "Hello World" app
Use a Button and Label component
Test on AI2 Companion App
Evaluation Metrics:
App successfully runs on emulator or real device
Correct use of Button-Label logic

🟢 Module 2: User Interface Design Basics

Objectives:
Use common UI elements: buttons, textboxes, images
Apply layouts (horizontal, vertical)
Design visually structured mobile screens
Guide : “UI Elements & Layout Tips in MIT App Inventor” (~7 min)
Tasks:
Create a user login screen
Arrange buttons and fields using layout components
Evaluation:
UI is intuitive and visually organized
Proper component alignment

🟡 Module 3: Event-Driven Programming and Logic

Objectives:
Understand event-driven programming in App Inventor
Use conditionals, variables, and basic math operations
Guide : “Building Interactive Apps: Event Logic in App Inventor” (~10 min)
Tasks:
Build a simple calculator app
Add logic for Add/Subtract/Multiply/Divide
Evaluation:
Code structure follows correct event flow
Accurate calculations based on user input

🟡 Module 4: Using Multimedia & Sensors

Objectives:
Add sound, images, and video
Use mobile sensors (accelerometer, orientation, etc.)
Guide : “Using Sound and Sensors in Mobile Apps” (~8 min)
Tasks:
Build a “Shake-to-Play” sound app using Accelerometer
Add background music to an app
Evaluation:
Sound/media load correctly
Sensor triggers action as expected

🟡 Module 5: Storing and Retrieving Data

Objectives:
Use TinyDB for local data storage
Introduction to global and local variables
Guide : “Data Storage in MIT App Inventor with TinyDB” (~6 min)
Tasks:
Create a to-do list app with save/load feature
Store user preferences locally
Integration: 📦 TinyDB
Evaluation:
Data persists after app closes
Smooth add/remove item functionality

🟠 Module 6: Connecting to the Web – APIs and Online Data

Objectives:
Connect to public APIs (e.g., weather, quotes)
Parse JSON responses
Guide : “Using Web APIs in App Inventor” (~10 min)
Tasks:
Create a weather app using OpenWeatherMap API
Display city temperature using JSON
Integration: 🌐 Web API, JSONTextDecode block
Evaluation:
API call returns and parses data correctly
Meaningful UI representation of API data

🟠 Module 7: Working with Firebase – Real-Time Cloud Database

Objectives:
Set up Firebase for real-time data syncing
Read/write user-generated content
Guide : “Firebase Setup for App Inventor – Real-time Apps” (~12 min)
Tasks:
Create a guestbook or chat app
Enable real-time sync between users
Integration: ☁️ Firebase DB
Evaluation:
Multiple users see updated content in real time
Proper Firebase configuration

🔵 Module 8: App Navigation and Multi-Screen Design

Objectives:
Implement screen switching and parameter passing
Organize apps with multiple screens
Guide : “Multi-Screen Navigation in MIT App Inventor” (~8 min)
Tasks:
Build a quiz app with intro, question, and score screens
Evaluation:
Seamless navigation
Data shared across screens correctly

🔵 Module 9: Publishing and Testing for Android and iOS

Objectives:
Package app for APK (Android) and AAB (Google Play)
Use MIT App Inventor iOS TestFlight process
Guide : “Deploying to Android & iOS – Complete Guide” (~10 min)
Tasks:
Export app as APK
Follow Apple iOS TestFlight instructions
Evaluation:
App installable on Android and iOS test devices
Complete user testing checklist

🟣 Capstone Project

Project Ideas:
Community Health App – Tracks user symptoms and gives basic advice using API
Eco-Friendly Habit Tracker – Encourages sustainable habits with gamification
Student Planner App – Stores tasks, sends deadline alerts, syncs with Firebase
Capstone Deliverables:
Functional App (APK or iOS Test version)
Design Documentation
Short demo video presentation
Final report (objectives, user flow, lessons learned)
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.