Programming Education

Summarized using AI

Principles of Play

Linda Liukas • February 04, 2015 • Earth

In her presentation titled 'Principles of Play' at RubyConf AU 2015, Linda Liukas shares her journey from being a dropout to a successful children's book author and educator in programming. Her aim is to revolutionize how children perceive computing by using play as the foundation for learning.

Key points of her talk include:
- Background: Liukas co-founded Rails Girls in 2010, which has spread to over 227 cities globally. After a stint at Codecademy, she decided to pursue her passion for children's education in programming.

- The Importance of Childhood: She emphasizes that influencing how children view the world can create a different generation of adults, leading her to write children's books that educate about computational thinking.
- Learning Through Play: The principles of play—fun, curiosity, and hands-on experiences—are integral to her educational philosophy. She discusses how children learn better when programming is approached in a playful, engaging manner.

- Key Principles: Liukas introduces three principles that guide her teaching:

- What if? (Play): Encouraging children to explore possibilities and experiment.

- How? (Hands-on Learning): Teaching kids through practical experiences rather than treating computers as a 'black box.'

- Why? (Curiosity): Instilling a sense of wonder about how computers work and why it's important to understand them.

- Examples in Practice: Liukas shares anecdotes about children she has taught, highlighting their imaginative projects which combine technology and creativity, such as a four-year-old designing an app to print coloring pages.

- Challenges in Education: She points out the gap in teaching programming as not just a technical skill, but also as a means of self-expression through creativity.

- Vision for the Future: By drawing on concepts from well-known educational frameworks and thinkers, Liukas advocates that learning to program should be as intuitive and enjoyable as any other childhood exploration.

In conclusion, she stresses that programming is not just about writing code but is a narrative-building tool that empowers children to become world-makers. Liukas leaves the audience with a call to action to rethink how we approach coding education for kids and to embrace the playful spirit in technology learning.

00:00:00 Perfect! My name is Linda Liukas, and I come from Helsinki, Finland. I'm an author, illustrator, programmer, and a business co-founder.
00:00:02 Because of our Scandinavian self-deprecating nature, the only thing I really feel confident about saying is that I'm a dropout. I co-founded Rails Girls in 2010 with some friends, and it was supposed to be a weekend workshop in Helsinki—nothing else. But today, it's been in over 227 cities run by volunteers worldwide, from Belo Horizonte to Berlin and all the way here to Australia.
00:00:20 It's been amazing to see how the community has grown around that. After working on Rails Girls, I moved to New York to work at Codecademy. I was the fifth employee and worked there for a year and a half, but I realized that I didn't want to stay in that environment anymore; I wanted to go home to Helsinki.
00:00:35 So, I faced the big question: what next? I thought about my career in technology and realized that I had never really been alone: I always had this little savior with me whenever I encountered something I didn't understand, like object-oriented programming or garbage collection. I would try to think about how a six-year-old little girl would explain these concepts.
00:01:03 I had enough of the realist in me and began to consider what the most scalable change a person can make in the world is. I thought about childhood because, ladies and gentlemen, if we can affect the way kids see the world, we can raise a totally different kind of adult. That's how I wanted to become a children's book author.
00:01:34 However, there were three major problems: first, I had never written a book before; second, I was a really bad illustrator; and third, I considered myself a mediocre programmer with very little industry experience, no formal training in computer science, and no institutional knowledge of early childhood education or pedagogy. However, I decided to give it a try.
00:02:00 I looked for the oldest Ruby pictures I could find; these are from 2009. As you can see, they are not very good, but I kept drawing every single day. Slowly, my illustrations started to improve. One of the biggest motivators for me was seeing cities around the world creating their own versions of Little Ruby and her adventures.
00:02:23 I even received little plush toys from Brazil. Eventually, my illustrations improved further, and last January, I made one of the best decisions of my life, although it felt like the worst decision at the time. I presented this project, which was still a tiny side project, on Kickstarter, and in 30 days, it received $383,000 worth of pre-orders.
00:02:57 What started as a side project for Ruby's parents all around the world became this massive initiative to teach computational skills to kids. This has been a year filled with heartache, crying, and anxiety, and I wanted to share how I navigated through this journey. If there's a lesson here, it's that ideas rarely emerge fully formed; they often look messy at first, and you have no idea what they'll ultimately become.
00:03:18 Despite that, you still need to lean forward and try. I needed help on this journey. I had an idea for a book and some teaching experience in programming, but I still needed principles to guide me through product development. That's when I came up with my principles of play, which I'll discuss shortly.
00:03:45 Before I dive into that, I want you all to engage with me. All the exercises I mention today are also available on 'Hello Ruby' and are under a Creative Commons license. This means you can download, modify, and see how they work. You can also explore what other kids have built around these exercises.
00:04:04 Now, before I share my principles of play, I want you to be honest with me. Let's take a figurative 'red pill' and dive deep into the world of computers. Here's where I started: after four years in the learn-to-code movement, I was left with the idea that if JavaScript is the new lingua franca, we don’t need more grammar lessons; we need poetry classes.
00:04:35 Just as I learned Finnish as a little girl, not only to program, but also by reading a lot of books, analyzing other people's writings, and writing my own—albeit bad—poems and essays. In the same way, programming is just one tool in the larger realm of computational thinking. It's like physicists using prisms or chemists using pipettes.
00:04:56 We need to help more kids without a natural affinity for computers to see programming as a tool for self-expression, like modern-day Legos or Crayola crayons. Speaking of which, as a little girl, I had no interest in computers at all. I loved philosophy, art, and imaginative storytelling, and I never thought of the cold world of machines and logic as a place for me.
00:05:14 But I realized that the little girls of today are the future. They are precise and can concentrate well. They ask excellent questions, exploring how things work, and they don't realize that they are 'not supposed' to like computers. This made me ponder how computing is taught to children.
00:05:48 I came up with a list of topics and practices around computational thinking and programming. Many of these concepts can be grasped even before learning the technical terms. For example, kids can learn about selection and repetition well before they understand what an array is or what an if-else statement does.
00:06:06 In some ways, planning a three-course meal is like planning an algorithm. Our daily lives are filled with sequences and repetitions, and whenever we give a rule from point A to point B, we are effectively decomposing a problem.
00:06:30 One of the significant issues I observed in the programming world is that there are two types of pleasure involved. Any programmer will tell you: there’s the intellectual pleasure of solving a hot theoretical problem or writing code that is logical, beautiful, and resonates with others.
00:06:52 Then there's the almost physical joy that comes from fiddling around with code, making mistakes, and ultimately creating something wonderful—the joy of play. This is the aspect of programming I want to encourage and promote because, as a curious little girl, I found philosophy, logic, and pattern recognition captivating.
00:07:14 I loved conjugating French verbs, which require pattern recognition and abstraction skills, and I enjoyed knitting. The symbolic representation in knitting is full of selections and sequences. It completely makes sense for little girls to get excited about computing; we just need to find new ways to teach them.
00:07:46 To that end, I consulted some of the best minds in the field of play, including those from Sesame Street. They explained three key principles from their success: first, fun is paramount; you need to make education enjoyable, or kids simply won't engage.
00:08:16 Secondly, they were meticulous in A/B testing their content with kids before anything hit the air. Finally, they involved university researchers to develop their curriculum. They found that play deeply affects our cognitive and social behavior.
00:08:31 Another famous company known for their approach to play is LEGO. When most adults think of play, they often think of games with rules, but LEGO recognizes five types of play: physical play, play with objects, symbolic play, pretend play, and sociodramatic play.
00:08:54 They have extensive research outlining different motivations for play, including status-driven motivations, social motivations, and immersive motivations. Programmers can benefit tremendously from play, engaging in exploration, collaboration, and sometimes finding an escape from reality within their coding tasks.
00:09:26 However, the challenge is that we often only teach programming as a means to produce power numbers and optimize algorithms. We can build a system that teaches all these facets of programming through play, which is what my principles focus on: playfulness, rules, and curiosity.
00:09:49 Let's start with the first principle: the principle of play. This begins with the question 'What if?' It starts with Little Ruby, who is six years old and completely fearless as she bumps and stumbles through the colorful world of computing.
00:10:01 When I talk with people who do not code, they often say that programming seems so silent: programmers are seen sitting in front of computers, where breakthroughs and creativity seem to be completely hidden from view. Yet, the vibrant colors of coding are often lost beneath the surface.
00:10:34 If you tell Ruby to change clothes for school, she’ll do it, but she might leave her pajamas on because you didn’t specify. When asked to clean her room, she’ll start putting away toys but may leave papers on the floor because those aren’t toys in her mind.
00:11:03 Little Ruby is very particular about her dress code, wearing red and green on Mondays, yellow or green on Tuesdays, and no black on Wednesdays. She understands that big problems can sometimes be small problems mashed together, and she knows bugs exist, lurking under her bed with their infinitely looping tails.
00:11:27 The second principle answers the question 'How?' One of my major grievances is that we teach kids about how combustion engines work and how babies are born, yet when they ask how computers function, we say they're a black box—don't touch it, don’t interfere.
00:11:58 What programmers do each day is to tinker and improve these machines. If we don't give kids hands-on experience, they won’t understand the existing rules. Ruby knows that when baking cupcakes, you need a sequence of steps, and if you abstract correctly, you can organize different sequences together.
00:12:24 Ruby is adept at spotting repeating patterns, helping her understand the world around her and solve problems by comparing and categorizing different kinds of bugs she discovers.
00:12:54 The final principle revolves around curiosity, a fundamental part of learning. It prompts the question 'Why?' It’s amusing how we adults have forgotten the poetic and pragmatic nature of computers. We teach kids about solving engines and human biology but grow silent when they ask about algorithms or the magic behind YouTube.
00:13:27 This silence suggests that computers are complicated, but the reality is they have become very complex tools. In the past few decades, computer scientists have layered abstractions to shield the general public from the nitty-gritty of how they operate, resulting in confusion about what a computer truly is.
00:13:54 When teaching children, we start with the fundamentals. I show them four pictures: a car, a dog, a grocery store, and a toilet. When I ask which one is a computer, they initially struggle. They might argue that a car is not a computer, but we explore the idea of how navigation systems within cars do function like computers.
00:14:24 As we discuss grocery stores, we ponder how nearly everything could eventually have computer capabilities. The children’s eyes light up with possibilities, discussing future innovations. I humorously mention how in Japan, even toilets come equipped with computer technology.
00:14:50 The important aspect is that we built our first simple computer, allowing them to learn about processing units, RAM, and hard drives, as well as examining the implications of having a virus inside the system.
00:15:12 One of my favorite instances comes from a four-year-old named Arthur, who designed an app that prints coloring pages. Surprisingly, he quickly thought, 'Why not print Legos instead?' He went wild, creating blueprints for a toaster and even breakfast for his family the next morning.
00:15:45 Arthur's mother hesitated, saying printing toys wasn’t possible, but I assured her that one day, he would undoubtedly be able to do so. Additionally, there was a girl named Ida, six years old, who wanted to be a dolphin doctor—together we discussed a dolphin health app she would need.
00:16:11 And then there’s Tommy, who loved pretending to be an astronaut. He crafted a planetary observation application, monitoring his father's return from Mars. These children will experience technology differently because their imaginations have been ignited—they haven’t been told 'No, that's impossible.'
00:16:40 They will embark on a more playful and imaginative journey into programming. Ultimately, none of this is new. Our industry has long had a unique relationship with children and opportunities. Alan Turing spoke of a 'child machine' in the fifties, suggesting we could teach AI as if it were a child, learning through play.
00:17:08 Furthermore, people like Seymour Papert came up with revolutionary ideas in the '70s, arguing that kids should create and make things with computers instead of simply calculating numbers. Alan Kay envisioned a world where children hacked their toys into software, merging play, education, and storytelling to inspire creativity.
00:17:30 As we wrap up, I would like to mention certain books that have deeply influenced my perspective on programming and creativity. They highlight the importance of imaginative story-building in the technology world. When engaging with non-programmers, I often find that they assume computers do everything on their own.
00:18:00 I remind them that code is written by humans for other humans to read and modify. Computers only execute the instructions we give them. In essence, programming is an inherently human endeavor, and the atomic fabric of the Internet is built on our creativity and expression.
00:18:30 When I was little, I dreamed of being a world-builder. I longed to wake up in the Moomin Valley, explore Tatooine, and fall asleep in Narnia. Nobody told me I could become a world-maker, but I found my way through programming—the art of storytelling, creating entire universes from nothing.
00:19:00 That's all I have to share today. Thank you for listening!
Explore all talks recorded at RubyConf AU 2015
+13