Middle School Coding with Scratch
Computational Thinking & Artistic Expression for Grades 6+
Description
Overview
This course is designed specifically for middle school students who want to take their first class about computer programming. It's a great starter programming course to include as part of a computer science curriculum for your students.
This course isn't about learning Scratch programming specifically. Rather, it is designed to help students get their first experience with programming and computer programming, and along the way, get a basic understanding and familiarity with essential concepts in programming languages, such as algorithms, loops, variables, logic, conditionals, objects, properties, events, design, implementation, debugging, testing, etc.
The projects in this STEAM course are designed to be well-balanced between thinking & logic and artistic expression and creativity, so that both left- and right-brained students can thrive and be motivated!
This is an all Project-based Learning (PBL) lab course. Each week's class includes a little bit of lecture and slides, but the majority of the time is spent by the students in the lab (or on students' laptops) on their own to finish each week's project. The solution to each project is included and the teacher may choose to review it with the students during the next class. The course ends with a capstone project, wherein students will design, implement, test, and debug a State Machine device of their choice (e.g. a soda machine) using Scratch.
I teach this class to a real 8th grade classroom in a middle-high school, during one school semester.
Perquisites and Requirements
No prior knowledge or experience in programming needed
Exercises only require a computer with internet access
Info for Teachers
School computer curriculum ready
For teacher curriculum bundle see Termeric Education website.
Sections
Intro
Course Overview
Unit 1
Scratch: Sign Up, Log In
Basics Demo
Unit 2
Intro to Algorithms
Project 1: Write Algorithm for Farmer River Crossing Problem
Unit 3
Project 2: Implement Algorithm to Farmer River Crossing Problem Using Scratch
Unit 4
Loops
Events
Broadcasts
Project 3: Remote Controlled Car
Unit 5
Costumes
Timers
Project 4: Traffic Light
Unit 6
Variables
Arithmetic Operators
Project 5: Traffic Light with Timer
Unit 7
Create a Moving Art
Unit 8
Project 7: Browse Existing Scratch Community Projects
Unit 9
Asking the User
Conditionals
Project 8: ATM Machine
Unit 10
Project 9: Make Some Sound/Music
Unit 11
Logical Operators
Testing & Debugging
Project 10: Rock Paper Scissors Game: Debug & Customize
(Bonus) Unit 12
State Machines
(Bonus) Design Project 11: Make Your Own State Machine
Outro
Conclusion
What You Will Learn!
- Gain knowledge of foundations of computer programming
- Grasp fundamental concepts of programming languages: objects, events, logic, conditionals, variables, states, and more
- Build experience with tile/block-based family of programming environments
- Learn to create programs with Scratch
- Gain familiarity, basic knowledge, and experience to start learning new programming languages
- Develop your skills in reasoning, computational thinking, and problem solving
- Build on your skills in modeling, design, planning, implementation, debug, and testing
- Engage and apply your own creativity, self-expression, and artistic skills using technology with all open-ended customizable projects
Who Should Attend!
- Elementary school, middle school, and high school students interested in taking their first class on programming
- Students who want to improve their skills in problem solving and logic
- School educators looking for a classroom-tested--and suitable for a semester--first programming course to teach students