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 designing a grand text-based game, in which we can embed all kinds of puzzles and mini-games. Students will draw out their overall stories and then work on creating a fun, play-able, challenging game. EdBoost's big challenge for this year is to make the games truly public facing, so that the students can share their games with friends.
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.