Many teachers think that the main goal of programming instruction in early secondary school teaching is to make pupils understand computational thinking, algorithms and the writing of programs.
I think this is wrong.
The main goal, at this level, is to get students interested.
What I most want from early programming instruction is to get pupils excited, having experienced the creative potential and expressive power of computing, and wanting to know more.
The best way to achieve this is to support creativity in the learning of programming. Supporting creativity means finding ways to let pupils take control, to let them add their own ideas and extensions, to allow creative experimentation and expression.
Allowing creativity is not always easy: You should use creative examples, such as stories, games, art, animations or simulations. These are areas of expression that allow pupils to shape the content. You need a programming environment that supports this (more on this later).
But also: you need to structure your projects to make this possible. The way to do this is to use what I call the Open/Closed principle: The assignment you give your students should be simultaneously open and closed.
What I mean by this is this: The task should include a core component with the expected minimum achievement that is well specified and carefully scaffolded. This is the Closed part: it allows the less secure and less adventurous students to concentrate on the core material in a guided environment, and supports them to succeed.
But the task should also include an Open part: a challenge to extend the project in various directions of interest to the learner, to invent, to experiment, to stretch. This allows the keen learners to take control, to make the project truly theirs, to excel and to show what they can do.
An example might be a game where you specify core functionality that everyone is expected to implement, but challenge students to add their own extensions and personalisations.
I will come back to how exactly to do this later. But for now, the takeaway is: The most important goal is to let pupils become creative, so that they experience the power and joy that writing programs can bring, the joy that we have all experienced, but that is so impossible to express in words.