Innovative Programming introduces students in grades 6-8 to computer science concepts and practices through a mixture of unplugged and plugged activities using the Scratch programming language. Scratch is a block-based programming language that allows students to create stories, games, and animations while equipping them with the skills they will need to succeed in a rapidly-changing technological era. This unit delves deeper into the computer science concepts of algorithms, abstraction, and programming. Each lesson builds on the knowledge gained in the previous lesson; by the end of direct instruction, students will have created a Scratch project integrated with another subject area that demonstrates the students’ understanding of both the core subject matter topic and computer science. The unit culminates in a Hackathon-style project where students will be challenged to design an interactive Scratch project in response to a specific subject matter challenge posed by the teacher.