This is an introductory class that introduces students to the big ideas of computer programming in a fun, friendly, and graphical way. The emphasis is on creativity and problem solving, and not on learning a particular programming language.
This is a project-based course. Students learn fundamental building blocks of programming by building graphical narratives and stories during class and get live feedback from their instructor.
The course is taught using Snap! a block language developed at University of Berkeley to teach programming to students ages 13 to adult. Unlike Scratch, Snap! is a very powerful language that can be used to teach advanced concepts like recursion, functional programming, and so on.
The primary objective of the course is to inspire a passion for computer science and motivate students to further study, lay a solid foundation of computer programming fundamentals, and develop creativity and problem solving skills.
By the end of the course, students will be ready to take text-based programming language courses such as Python and Java.
This course is offered to students in grades 8 or above as their first computer programming course.