In the initial phase of our programming curriculum, students will embark on a journey into the world of coding through CodeHS's "Introduction to Programming with Karel the Dog." In this course, students will learn the fundamentals of programming in a fun and engaging way. Karel, a virtual dog that responds to JavaScript commands, lives in a grid world where he can perform tasks such as moving around, picking up, and placing tennis balls. By interacting with Karel, students will master essential programming concepts including commands, functions, and control structures. Through a series of puzzles and challenges, they will develop critical thinking and problem-solving skills, setting a strong foundation in computational thinking.
As a supplement to our programming units, students will also engage in creative projects using a custom-made pixel art program developed specifically for our course. This platform allows students to apply their JavaScript skills in an artistic context, reinforcing their understanding of coordinates and command functions through visual design. By using simple commands to color individual pixels or fill areas on a 16x16 grid, students can create various images and designs, ranging from seasonal themes to abstract compositions. These pixel art projects serve as a way to practice programming concepts in a visually engaging and enjoyable way, bridging the gap between abstract coding skills and tangible outcomes.
Building on the programming skills acquired with Karel, students will later apply these concepts to physical computing using Arduino Uno boards. This segment of the curriculum introduces students to Arduino, which utilizes a version of C++ for controlling hardware. Here, students will learn how to manipulate inputs and outputs, integrating the abstract coding skills learned with Karel into tangible, real-world projects. By programming microcontrollers, students will gain hands-on experience and an understanding of how software and hardware interact, preparing them for more advanced projects and applications in technology.