Imagine. Program. Share

By 0
Imagine. Program. Share

 Application of the Scratch Model in Teaching Coding

Continuous Professional Development is a must for every professional, especially for those in the Information and Communication Technology (ICT) space. The ICT landscape is constantly transforming, new challenges are emerging on an almost daily basis which has created the need for a crop of professionals who can easily adapt in dynamic environments and who value the essence of growth through a lifetime of learning. Embracing a commitment to lifelong learning not only empowers professionals to remain relevant and competitive but also fosters a sense of personal and intellectual fulfillment. As such, the pursuit of continuous learning and professional development has transcended from being a choice to becoming an essential cornerstone of success across diverse fields and endeavors.

Scratch is a visual programming language and online community platform developed by the Lifelong Kindergarten Group at the Massachusetts Institute of Technology (MIT). The primary idea behind developing Scratch was to create an accessible and interactive environment that would enable individuals, especially children and beginners, to learn the basics of computer programming in a fun and engaging way.

The focus of Scratch is to introduce programming concepts through a visual interface that uses blocks, which represent different programming commands and actions. Users can drag and snap these blocks together to create scripts and animations, making it easier for them to understand fundamental coding logic without the need to write traditional lines of code.

Scratch is one of the platforms I introduce children to, at the Institute of ICT Professionals Ghana (IIPGH). Because of the importance of Continuous Professional Development and the need to ensure that the children we engage get the best of training, I am always on the lookout for opportunities to do those. One of such opportunities presented itself in the form of a Scratch Conference hosted virtually on the 20th of July 2023 by the Scratch Foundation which brought together various educators from across the world. It proved to be a worthwhile event with the creative interactions and lots of new knowledge gained. I will be explaining one of the things I learnt and explain how a coding educator can adopt it.

The Scratch platform promotes an instructional approach centered on the concept of ‘Imagine. Program. Share.’, encouraging learners to foster creativity, develop programming skills, and share projects as key steps in the learning process.


Imagination refers to the mental faculty or cognitive ability to create mental representations of images, concepts, ideas, or scenarios that are not directly perceivable through the senses. Imagination allows individuals to combine elements from their experiences, memories, and knowledge to generate novel and creative ideas. It plays a fundamental role in various aspects of human life, such as problem-solving, artistic expression, innovation, learning, and even daydreaming.

They are potentially limitless, the types of solutions that can be created when children are encouraged to imagine. Their minds are virgin, not burdened by any responsibilities, not yet infected by the disease of self-limitation that comes with age and experiences and their innocence allows them to believe that anything and everything is possible. We as educators and parents can nurture their creativity by engaging them in coming up with solutions to problems surrounding them rather than outrightly suggesting our solutions, by being curious and indulging in the belief that maybe, just maybe, their solutions may be possible with some input from us, allowing ourselves to see the world from their eyes. This poem succinctly addresses this.


The child

is made of one hundred.

The child has

a hundred languages

a hundred hands

a hundred thoughts

a hundred ways of thinking

of playing, of speaking.

A hundred always a hundred

ways of listening

of marveling of loving

a hundred joys

for singing and understanding

a hundred worlds

to discover

a hundred worlds

to invent

a hundred worlds

to dream.

The child has

a hundred languages

(and a hundred hundred hundred more)

but they steal ninety-nine.

The school and the culture

separate the head from the body.

They tell the child:

to think without hands

to do without head

to listen and not to speak

to understand without joy

to love and to marvel

only at Easter and Christmas.

They tell the child:

to discover the world already there

and of the hundred

they steal ninety-nine.

They tell the child:

that work and play

reality and fantasy

science and imagination

sky and earth

reason and dream

are things

that do not belong together.

And thus they tell the child

that the hundred is not there.

The child says:

No way. The hundred is there.

Loris Malaguzzi (translated by Lella Gandini)

When teaching, start by asking your students to imagine how their project will look at the final stage. Aside from fueling creativity, it makes the planning process to determine what will be needed to achieve the intended results, easier. You should allow room for re-imagining during the process of creation, allow room for students to tweak parts of their original idea by imagining other ways they could do the same thing.

If you are in a structured class setting where you are required to use projects pre-determined in a curriculum, for new students, you can give them a general idea of how the blocks work, show them similar projects and allow them create their own; for students with some experience, you can allow them work more on their own, while you assist with questions that cause them to think through their solutions whenever they seem to be stuck.


At this point, the students can start planning the resources they will need for their project. Some platforms may require some designing, in this case, they can draw on paper what the solution will look like. Having their imagination represented on paper makes the actual creation process easy and reduces the number of iterations one must do and in effect saving some time for other projects as well. They design the graphics and then add the instruction (codes) which will make the application perform the specific functions it is being created for. This same process is applicable to any Coding project you are working on whether block-based or text-based. You can guide the students to put into reality their intended solution.


Here, they can share their project with you or with their colleagues. Some coding platforms have online platforms where various creators share their projects, for others around the world to see, add their input and learn from. The students are free to change some parts of the project if they so wish. They also get the opportunity to see other students’ projects which all spark their creativity.

A practical example

On a typical day when I begin a session, in this instance we will look at App Inventor. This is also a platform developed by MIT and aides in learning and developing Mobile applications.

We have a semi-structured teaching mode; we use a curriculum and allow the instructors to use their discretion in the class. Since this is an online session, and a class with basic experience using the App Inventor Platform, I explain to them the basic functions I expect their app to perform and allow them to add any other function they want. I ask them to determine which components they would need for the project and create it. I review what they have done, and portions that might be wrong, I ask questions such as “What is this portion / code intended for?; Will the component you used, effectively perform those functions? If not, which component / code will achieve that? I do not just correct, to avoid spoon-feeding them.

The students after each module, are then tasked to design an original final project. This time, they are asked to identify some problems and design solutions with applications they have developed, with the concepts they have been learning.

The students have always proven to be up to the task and even end up teaching me new tricks and opening my eyes to new possibilities.

Teaching children can either be boring or an invaluable opportunity to finetune your level of creativity and learn, whichever it is depends on you. Make the pledge as an educator to continuously develop yourself professionally and try this 3-step approach I have covered in this article. Feel free to reach out to me with your views on the approach discussed here.

Author: Deborah Ofori-Dartey

The author specializes in Bock-Coding for Children. She is the Digital Skills Training Supervisor for the Institute of ICT Professionals Ghana (IIPGH). For comments, contact via +233242912027 or email