STEAM Education

Paint a Picture Through Coding

The top 20 most in-demand skills required by U.S. organizations are all computer-science based. Industries globally continue to voice their concern over the lack of tech skills among high school and college graduates. The skills gap is so large that with the right skills, students can almost walk out of school and into a highly lucrative career. At South Portland High School, we believe that all students should be able to obtain the knowledge and skills necessary for post-secondary education and career. However, despite the huge skills gap, CTE remains an elective in most schools across the United States. Too many students never consider one of the vast range of computer science courses, simply because they feel it’s all about technology and science and "not for them."

In the UK, significant progress has been made in bringing coding into the national curriculum. In 2014, England became the first country in the world to mandate teaching coding to children at primary and secondary schools. Funding was provided to train computer science teachers. The future looks bright.

So how are we getting it so wrong?

Let me paint you a picture of how we’re addressing this issue at South Portland High School.

In my view, the issue lies in the way we present the computing-related electives.

When presented as a technical science, many students, particularly girls, immediately jump to the conclusion that it "isn’t for them," "that’s a boy’s job," or that "it’s too hard" and "something for 'techies!'"

The reality is that CTE, including coding and game development, is not just a science-based area of learning. It demands and involves a range of 21st century skills, including critical thinking, communication, collaboration, creativity, innovation, problem-solving, initiative, professionalism, and global awareness.

If we continue to position and teach it solely as a technically based area of study, we will continue to discourage many students from experiencing something that can lead to a wide range of exciting and lucrative non-"techies" careers.

I don’t believe that computer science should be classified as just a science or math class, and I am one of an increasing number of people who believe it also sits comfortably as an art.

Like many schools, we start our students with coding by creating games using block-based programs, but the block-based code needs to be designed and arranged to complete a specific task. The students need to have a picture in their mind of how they want their characters and the ‘game’ to look. Like painting, computer programming is a form of self-expression that is accessible to virtually anyone.

Whether they are picking up a pen to write a story or a description of what is in their head, selecting a brush to paint, or using their fingers on the computer keypad, they soon find that they are able to create something real that expresses their thoughts.

Once a student appreciates that computer code is actually a tool for expression, such as websites, video games, and music, and realize that the foundations of coding are based on creativity, we start to see a lot more students electing it as a course of study.

So how can we inspire this style of thinking in more pupils?


In my coding classes, I start the students off by using the appropriate language; asking them to consider the words that describe what they would like to create. In the first few classes, I get them making sprites, a two-dimensional image that can be animated within a game. Using the right program development software, the kids can make sprites in 10 minutes. Some sprites will be highly complex, while some students will create sprites that are simpler.

Once they have learned how easy and fulfilling it is to create their own animation, I ask them to consider a game that they want to develop. Whether it is an adventure game, a fashion design game, or a social networking site, they will start to realize that coding and game development is for everyone! Like artists, computer programmers have a blank canvas and can fill it with something new and creative that excites them.

The next step is for them to consider the problem they want to address. I then use examples to encourage them to break the main problem into smaller, manageable sub-problems. Using the fashion design game as an example, the first problem is to decide what purpose the clothes would be used for: Does your character need clothes for their vocational work, for an office-based job, or are they going out socializing? Will they choose the right fabrics and colors to make the maximum impact?

I encourage them to use their game to express their own personal style while staying true to whatever problem or objective their game is aiming to achieve.

It's then time to look at the vocabulary; using the words they want to express. What purpose will their game have, or what are they trying to achieve with their game? After we have all shared our vocabulary, we then start to break this down into variables.

The next step is very "art based": creating the characters. No matter the gender, all students enjoy creating the animations and characters within their game. My female students also really love solving problems and working with other students. Many tend to lean toward art and the design aspects, but they also love to dig into the puzzle of creating the algorithm. Drawing the figures in proportion against a background is an important skill for aspiring game designers, as they need to think deeply about the characters, the story of the game, and the potential outcomes.

I then set them to work on building their idea, with an endless number of ways to get there. If one idea doesn’t work out, they move on to the next. I encourage them to look at their mistakes and ask me and the other students lots of questions. Once they have the foundations of what they are going to create, they can play and learn alone, rather than have me teach them. I become their coach, advising only as needed when they feel stuck.

Getting the right software

At South Portland High School we have also been working on cutting the number of students that try one CTE-based class and then drop out. Many students arrive at our school having started their coding experience in Scratch. However, fully block-based programs have limitations. As students progress up from eighth to ninth grades, it is common for students to start to grow out of block-based programming. Equally, text-based coding programs such as Javascript and Unity can feel too complex and daunting for many. The result is a lot of students drop-out.

We have found that the solution is using game development programs like Construct 3, which offers both block- and text-based programming, so children can use blocks, text coding, or both as they transition through the stages of development. As the platform is also used in industry by organizations such as NASA, it’s the ideal way for students to learn a program they might use in their career.

I used to use game development software called Game Salad, which was great and didn’t hurt our budget, but the free version was very limited in its functionality and not suitable for teaching. Thankfully Construct 3 offers highly functional free licences; we have only recently upgraded to the fee-based version. It’s on the web so none of our teachers nor students have to download anything, and it's free when they leave the classroom. We also have students speaking 59 languages at South Portland High School. and therefore the languages offered on Construct 3 provide more equity in our school.

Changing the way we define coding and game development is proving to be a highly effective way to encourage more students to elect a CTE course. By recognizing that coding sits in the a broader range of curricula, rather than being an elective, it can be embedded into other curriculum areas.

I look at my students and realize how transferable the skills are that they are learning. Whenever a student makes a game, it is something that they can be very proud and enjoy creating. Today, I have more students than I’ve ever had before, especially girls. One of my students created their own dating app; they all find ways to create what interests them!

At South Portland High School coding is now so much more accessible to everyone, and it’s more fun. As educators, it’s our duty to inspire the next generation to problem-solve like developers and equip them with the tools they need.