OverviewThis STEAMcourse is designed specifically for middle or high 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 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 STEAMcourse 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 RequirementsNo prior knowledge or experience in programming neededExercises only require a computer with internet accessSectionsIntroCourse OverviewUnit 1Scratch: Sign Up, Log InBasics DemoUnit 2Intro to AlgorithmsProject 1: Write Algorithm for Farmer River Crossing ProblemUnit 3Project 2: Implement Algorithm to Farmer River Crossing Problem Using ScratchUnit 4LoopsEventsBroadcastsProject 3: Remote Controlled CarUnit 5CostumesTimersProject 4: Traffic LightUnit 6VariablesArithmetic OperatorsProject 5: Traffic Light with TimerUnit 7Create a Moving ArtUnit 8Project 7: Browse Existing Scratch Community ProjectsUnit 9Asking the UserConditionalsProject 8: ATM MachineUnit 10Project 9: Make Some Sound/MusicUnit 11Logical OperatorsTesting & DebuggingProject 10: Rock Paper Scissors Game: Debug & Customize(Bonus) Unit 12State Machines(Bonus) Design Project 11:Make Your Own State MachineOutroConclusion