Programming 1 is for students age 7+ or those who have completed the Programming for Young Learners course. The previous course, Programming for Young Learners, introduced students aged 4 to 8 to simple block programming in a fun and simple to understand way. Basic skills of sequencing, how to ask “what if” questions, animation, game building, story telling and computer based art skills were introduced.
While the ScratchJr course is highly recommended as a prerequisite for this course, it is not absolutely required. Older students without any Scratch experience can pick up the concepts as they go, although they will start out a bit slower.
Programming 1 builds on the block programming foundation using Scratch 3. The focus continues to be on the creative process (design) and fostering a mindset that always asks “what if” questions. Students are actively encouraged to come up with their own ideas and make them come to life through the class exercises.
Scratch 3 introduces most critical programming constructs used in modern programming languages. These include algorithms, variables to hold and manipulate data, loops, conditional branching, math and character string manipulation and basic input/output operations. Multimedia integration is enhanced through improved image and sound editors. Students now have the ability to import more material into their programs. Art, music, animation and special effects are used with these new coding blocks to build creative student driven projects. Advanced topics covered include device integration (webcam, web services and electronic projects) and other extensions.
This first introductory course to Computer Science uses a simple but powerful block programming language, Scratch 3. It shows students how to transform abstract ideas into meaningful working solutions. The introduction of core computing and critical thinking concepts is only part of Programming 1. Students practice the visualization of creative solutions bringing them to life through Scratch. This involves algorithms and coding, but also art design concepts to realize a complete solution.
Students who finish this course should able to:
- Visualize new simple projects, break down problems into smaller pieces and then design and build working solutions.
- Understand basic programming concepts including user input, variables, conditional statements, procedures and loops.
- Have a thorough understanding of the Scratch 3 interface.
- Have the skills to convert project modules to workable algorithms using Scratch blocks.
- Use simple art design (drawing and sound) tools and incorporate the results into the designed project.
- Understand and be able to describe their new designs.
Required Class Materials
Students need access to a modern computer or tablet capable of running Scratch 3 (free download). Scratch 3 was designed to run on a computer with a keyboard and mouse but can run with some reduced functionality on an Android tablet (blocks that work with the mouse will not behave as expected). Supported operating systems include Windows 10, macOS and Raspberry Pi OS running on the Pi 3 or 4 single board computers.
Students planning additional programming courses and/or some of the electronics courses should consider using the Raspberry Pi solutions provided by Teachers Network. These machines can be used for this course and followup courses. In addition, the Pi machines allow for simple connections to student hardware projects that also with with Scratch 3 (not covered in this course).
Coding Projects in Scratch by Jon Woodcock (Second Edition with Scratch 3.0 updates.
Learn to Program with Scratch by Majed Marji. This book is recommended but optional. The print version can be easily purchased online and in many stores. Covers Scratch 2 but most also can be applied to Scratch 3.
Programming 1: Scratch 3 Course Outline – detailed course syllabus