Intro ComputerBoost!: Coding with Scratch and Python
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 SCRATCH and Python) is a great first step.
Computer programming requires three main skills:
1) The ability to think through a problem and break it down into logical steps.
2) The ability to translate those steps into programming concepts (variables, loops, if-then statements).
3) Knowledge of a programming language to turn those concepts into concrete programs.
Young students struggle not only with the precision required to write in a programming language (every word must be spelled correctly, indentation and punctuation must be exactly right), but with the actual typing process as well. That's where SCRATCH comes in. SCRATCH is a programming interface that is drag and drop. Students still need to break their ideas into programmable concepts, but the program provides pre-coded program pieces that students can drag, drop, arrange, and rearrange in order to write their programs. The concepts remain the same (what is being looped? What happens in the loop?), but the tedious manual process of typing is taking largely out of the picture.
All true programmers must graduate from SCRATCH to a programming language. We start with Python, a basic, fairly universal programming language (and the first language taught in MIT's computer science program!).
Have your students join us for this fun, hands-on, experimental class, where all students will learn the basics of programming and get to push their programs and games as far as their imaginations allow.
Upon graduation from ComputerBoost! we expect students will want to continue programming with SCRATCH and Python at home and be inspired to start learning some programming languages as well.
Each class will begin with a lesson, in which we talk about a new aspect or 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. Students can choose to focus more on SCRATCH or more on Python, depending on what they feel more comfortable with and what platform is better suited to what they want to create. 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.
Because typing is such a critical part of programming, we will do a little touch-typing practice each day and students will all have their own Typing.com accounts to use at home and track their progress.