We all know that computing is the future. And, we know that our kids love games and screens. So, how do we teach our kids to be the folks behind those wonderful games and screens?
ComputerBoost! (with Python) is a great step for students who have some experience with programming but want to learn to write their own games!
In ComputerBoost! we use Python because it is a fairly universal and clean (not too much unnecessary punctuation!) language that is often used as an introductory language (MIT's computer science program has all of its students begin with Python). Although the syntax in Python is different than that of C++, Java, PHP, or any other programming language, the concepts of programming stand across languages and students who become proficient Python programmers will easily learn other languages as they move through the tech world.
In this ComputerBoost! class we utilize Python to teach students basic programming (including how to take and utilize different forms of user input), how to write clean/readable code by using functions, and how to conceptualize a game and translate that into programmable steps.
This year, we will focus on object oriented programming, which is central to most game design. A central part of this process will involve analyzing existing game code, identifying critical features of the code, and modifying the code to change the ways in which games work.
Each class will begin with a lesson, in which we talk about a new aspect of programming, followed by an activity in which students need to execute a particular assignment to show that they have mastered the assignment. Once they have mastered the day's lessons, students will work on their master project, ideally incorporating new ideas from each lesson into their final program. We'll work with students individually and in small groups to grow and refine their programs, pushing them not only to make their programs as interesting as possible, but to work to get the computer to realize their visions.