This introductory course offers students who are comfortable with math a hands-on learning approach to building creative projects and learning about the science of computers that surrounds us every day. Students create classic arcade style games such as Pong, Flappy Bird, Frogger, Pit Fall, Pac-Man and Asteroids. The course is far more than just a fun, collaborative environment for learning to program graphical and engaging games in Snap (a block-based programming language). The class is based on the UC Berkeley CS10 course and gently introduces students to game design, algorithms, object oriented design, debugging, agile development methodologies, project management, and optimization.
This course is an introduction to programming and intended for students who have completed Algebra I, are comfortable with math, and looking for an opportunity to build creative projects. We will complete a number of interesting and challenging projects to demonstrate that programming provides a powerful set of tools for creative expression.
We will be using the freely available Snap! visual programming language, an easy-to-learn language that allows for easy development of fun storytelling and game programs. The problem-solving skills students gain in this course will be helpful no matter what field they choose to pursue. The experience of writing programs will make them more savvy software users.
The course is the most introductory of the computer science offerings and would be many students' first course in computer science. Although the material is for the beginner, the projects are open-ended allowing students to exercise Snap's more advance features such as concurrency, recursion, cloning, and custom block creation.
Khan Academy Computing (optional educational resource)