Founder of CodeMakers, Nikki Durkin, shares her secrets for engaging young Australians in creative code.

Imagine an artist standing in her studio with a strong vision in her mind. She’s surrounded by all different types of art supplies – tubes upon tubes of paint of every imaginable type and colour, pencils, crayons, pastels, clay. She’s got brushes and sponges and sculpting tools of every size and thickness.

Her vision calls for a canvas, so she selects one of the appropriate size and loads up her palette. She puts some music on, and starts to move her brush across the canvas in a constant state of experimentation, until she eventually translates her vision into a physical creation.

That is how I feel when I sit at my computer and code. I feel like I’ve got an entire artist’s studio in my laptop, with endless languages and libraries and frameworks to choose from to bring my idea to life. I can build websites in Javascript or iOS apps in Objective C or silly little games in C#. I can prototype an idea, play with it and change it to my liking – just like moulding clay.

When I’m not sure how to do something, I google it. Sometimes the answer is gift-wrapped for me in the first search result, and other times I’m led on a wild goose chase, bouncing from blog to Stack Overflow, to blog again until finally uncovering that perfect tutorial written by an altruistic bearded Norwegian man who is particularly passionate about comparing Javascript SVG libraries.

There’s been a lot of talk lately about getting kids & teens to code. The Digital Technologies curriculum mandates a knowledge of conditionals and iteration and functions. But does it mandate a love of creation? Let’s not forget that code is just a tool, like a paintbrush.

So how do we get our students creating with code? I’ve listed my favourite tips below. Most points are illustrated in the context of modding Minecraft using drag-and-drop code (as that’s what we teach our students at CodeMakers), but the principles are applicable across all age groups.

 

Teach in the context of a project

I like to start beginners off with mini projects that can be completed in a one hour lesson, but focus mainly on one particular concept.

For example, this Minecraft mod utilizes if/else statements to add special effects when you place certain blocks. You can easily add on exercises like “create a special effect when you place a grass block”, in which case they’ll have to add in additional conditional statements.

nikki-1

 

Make it visual

Kids and teens learn fast when their code produces a visual output. Minecraft is amazing for this, because when students write code they actually get to interact with the results in a 3D world with their friends!

For example, this mod spawns a sheep in every given colour in the array. Add more colours, and in minecraft you spawn more coloured sheep. Its very easy to see the relationship between the code and its effect.

nikki-2

nikki-3_lr

 

Make it creative

Even if everyone in the class is following the same tutorial and creating the same thing, try to weave in as much capacity for creativity as possible. For example, our kids love making creatures ride other creatures in Minecraft, because its a hack that can only be achieved with code.

Each student is following the lesson and writing the same code, but just changing the type of creature spawned. This leaves plenty of capacity for creativity, whilst minimizing teacher time spent debugging custom bits of code for each student.

nikki-4

 

Provide extra challenges

Have some challenges prepared for the faster kids, that builds on the topic of the lesson. For example, I ask kids to create a stack of animals riding other animals, and see who can make the highest stack. This mod is a pig riding an iron golem, riding a squid riding a bat.

nikki-5

 

Focus on the logic, not the syntax

I’ve commonly found teens getting frustrated when they can’t memorise the exact syntax for writing a for-loop or an if statement in a language like Javascript. Maybe its because they are used to rote-learning in other subjects and memorizing formulas and facts.

I remind these students to focus on the logic of the code we are writing, rather than the syntax. Memorizing the syntax will come with practice, but it’s the computational thinking that’s most important.

 

Empower students to debug their own code

Your students should only raise their hand as a last resort. I’ve noticed that many students will raise their hand out of laziness, wanting the teacher to come over and fix their code at the first sign of trouble.

Make it clear that you will only assist if they’ve made an effort to figure the problem out themselves by checking their code, and asking for help from classmates. You’ll find that most problems magically seem to solve themselves, and the classroom becomes a collaborative environment as students help each other.

 

Encourage experimentation & self-learning

Once you’ve taught some of the basics, try pointing your students in the direction of some documentation, and see what they come up with.

For example, after you’ve taught some of the basics of CSS, point them to some W3Schools documentation on all the different CSS properties and values. They’ll love adding a funky 3D borders to their header, or learning how to round the corners of an image.

I’m excited about creating a nation of passionate young people who WANT to code and build and tinker – not because STEM is ‘the career path of the future’, but because they’ve experienced the thrill of using code to bring their imagination to life.

– Nikki Durkin

 

Nikki is a young entrepreneur who started her first successful online business at 15. At 18 she started 99dresses – an online fashion trading platform for women. During her journey she was accepted into Y-Combinator (the #1 startup accelerator in the world), raised money from prominent Silicon Valley investors, moved her company to New York, and experienced a myriad of startup ups and downs. After 99dresses, Nikki moved back to Australia to found CodeMakers – a virtual coding school for kids.

If you’d like to get in touch with Nikki, please email nikki@codemakers.com.au