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?
Language
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.