We will learn by doing. Each class will start with the introduction of a new programming concept, technique for implementing a feature in Scratch, or a design concept. This will be followed by hands-on working time using the St. John MacBooks. Early in the trimester more time will be devoted to teaching, later in the trimester more time will be given to work on projects.
Headphones are required for any audio work.
Scratch is a programming language developed by the MIT Media Lab to teach programming. Scratch is designed from the ground up to be easy to learn, hard to fail, and most of all FUN. It is also free and installs on Windows, Mac OSX, and Linux operating systems.
All students will will work through a series of Scratch programming assignments focused on math concepts, story telling, and games.
Following is an an animated gif of a partial play through of a complete four-level dessert building game created by one of our seventh grade students. It features sound effects, complete instructions of how to play, and 50 sprites. Quite an accomplishment!
Assignments, Quizzes, and Evaluation
A series of assignments will be introduced as the trimester progresses. Students will complete the assignments in order. Each assignment will be submitted to Mr. James via the Scratch website. The assignments all have specific clearly stated requirements, with considerable latitude for individual creativity in how they are implemented.
There will be one quiz. Retakes are permitted. A study guide will be published containing all required knowledge in less than two pages.
Students will be evaluated based on their best work from their submitted assignments and their quiz score.
Students are expected to use their time in class productively. There is some tolerance for reviewing other Scratch projects for inspiration, but class time is not to be used for personal entertainment purposes.
Disruptive behavior impacting the learning environment is not tolerated and will result in the normal middle school step 1, 2, and 3 process.
The Scratch team at MIT published a document describing the programming concepts supported by Scratch. I couldn’t put it better, so check it out. Here’s a list of the highlights: iteration, conditional processing, variables, arrays, event handling, threads (parallel execution), random numbers, boolean logic, user interface design