Monday, May 15, 2017

Communicating in Algorithms: Connecting coding to literacy

"We should think about what we mean by literacy. If you say, "He's a very literate person," what you really mean is that he knows a lot, thinks a lot, has a certain frame of mind that comes through reading and knowing about various subjects. The major route open to literacy has been through reading and writing text. But we're seeing new media offer richer ways to explore knowledge and communicate, through sound and pictures."

Seymour Papert, 1997

Mother's Day was filled with sunshine, laughter and the usual mess of having the kids home for two days in a row; roaming indoors and out and savouring the freedom that unstructured time provides. However what was interesting for me was that this weekend Caleb expressed an interest in learning how to use the Rainbow Loom. Not one to spend much time on crafty business, he had passed up opportunities using the extra loom I had picked up for him a few weeks ago. But early Saturday morning I noticed him watching Cadence work from afar. He eventually made his way to her side and spent several minutes observing her. Was it hard? Could he borrow her stuff? Did she have extra elastics for him too? Would she help him if he got stuck? He peppered her with questions. She timed her answers to the crescendo of video clips as she worked on her Ninja Turtle design. And then something caught his eye in the corner of her screen. He was sold. There, in bright red and yellow, was the most comical looking elastic-y hotdog. And with that he was off to gather his loom and iPad, and set to work on the kitchen table.

After an hour or so I heard him set his hook down with a clatter. I approached him to see how it was going.

"Terrible!" he responded. "The girl is this video doesn't give good directions. I have no clue what to do. She's not making any sense."

Caleb's frustration trying to following someone's inadequate directions reminded me of how powerful and precise oral language has to be in many of life's situations. Not only do we need clear and direct explanations, we also must be ready and able to carry out the directions in the manner they were given in order to experience success. He was unable to make a Rainbow Loon hotdog because the directions did not make sense to him. I immediately thought of coding. In the past I have spent much time linking coding to math due to the rich, integrated opportunities for number sense and geometry it provides. But what about literacy? Many educators are continuously looking at ways to embed and improve meaningful language-based activities in their emergent programs. Can coding help with this? How does coding encourage users to become more proficient communicators? Can coding strengthen kindergarten literacy programs in the same ways it does math?

I believe that kindergarten children who utilize complex, integrated coding activities in their daily lives will have opportunities to strengthen their literacy skills. Here are some of the ways:

Coding requires accurate language in order to be successful. Computers follow the code outlined in their programs. There is no room for interpretation, and as a result, a programmer must be incredibly clear and detailed in their algorithms. When children use coding as a language of communication in the classroom they practise this succinct way of articulating directions to others on a regular basis. Over time they will improve in their abilities to be precise when crafting these programs and directing others in activities.

Coding reinforces concepts of print.  In our classroom children are encouraged to write their code in different ways. They can order our class set of coding cards on the floor or in a pocket chart, or they can write their directions using a series of predetermined symbols (e.g., arrow, stop sign). When writing or reading these directions they are encouraged to move from top to bottom, left to right replicating the way we read and write in the English language. I always ask them to use their 'reading finger' and point to each card as they work. This reinforces the same concepts of print we are working on in our whole and small group literacy activities.

Coding uses symbolic language that children will be able to read and write even if they are not yet fluent using letter and sound relationships. Because kindergarten coding uses pictures, many children can easily create messages for one another by sequencing coding cards, or drawing established symbols digitally or on paper. A class can determine their own set of symbols before coding work begins so that everyone understands what they represent. Over time and with experience children will become proficient communicators using these. Just as early mark-making is a foundational part of establishing positive literacy behaviors, coding helps children easily communicate their ideas to others showing that oral language can be translated and preserved in multiple ways.

Coding builds confidence and fluency in early readers and writers. With practice children will improve in their abilities to communicate using symbolic language. In our classroom coding activities are always very popular and as a result even the most reluctant children in more traditional literacy activities want to participate. This grows their mindset and confidence because the more they practice, the better they become.

Coding encourages active listening. Regardless of how well constructed an algorithm is, it can only be successfully implemented if a child is listening intently and following through successfully on the given directions. Coding work requires concentration and full engagement. This helps children practise being attentive and responsive listeners.

Coding is a universal language that helps people speak to one another all over the world. In our classroom children blog and tweet extensively about their daily experiences. A very important part of the inquiry process is sharing one's understanding beyond the metaphorical 'walls of the classroom'. Because coding is used all around the world (and such a hot topic in education right now) children can participate in a global event, communicating with children in different countries, even where English is not the common language. One of my daughter's favourite things to do online is look inside the many creations posted on the Scratch website so she can see the code that was used.

Coding sequences a story from beginning to end which requires users to group events together and retell them in the proper order. In our classroom children often use favourite texts as the foundation of their coding games (e.g., retelling the events in the Gingerbread Man; helping the Gingerbread Man escape the fox at the end of the story). This means that children need to be able to accurately sequence a story in the correct order so that it makes sense. They need to consider the beginning, middle and end events and retell these in their coding directions so that the game makes sense. This strengthens their comprehension of literature and encourages them to demonstrate their knowledge in hands-on ways as they play with stories. 

Coding often tells a story that requires users to imagine setting, characters, and plot. This reinforces comprehension of texts, especially when favourite read alouds are used as the inspiration behind activities. When creating their own stories using the coding board, children need to establish their own engaging characters and plots in order for the activities to be fun to play.

Coding is found in our daily routines as we compose instructions to one another in our classrooms and beyond. Thinking and communicating in algorithms extends beyond coding activities. There are multiple opportunities each day for adults and children to give and receive directions to others. When we think as coders, we realize that we are more effective and efficient when our communication is clear and easy to follow. Children can be reminded of this in their work outside of programming. Educator Brian Aspinall (@mraspinall) emphasized at a recent PD event that I attended that he asks his students to "speak to each other in algorithms" in daily activities, even those unrelated to coding, in order to emphasize clear and direction language.

Coding can become an expressive language, much like the arts, helping children to articulate their ideas and show their comprehension to others. Emergent programs influenced by Reggio Emilia encourage children to explore and share their learning using 'hundreds of languages' including the arts, physical expression, and building. Coding can become another language children use to communicate in inquiry-based classrooms, especially once they are proficient using it on a regular basis. For example, why not encourage a child to demonstrate their understanding by creating a code to show and share their new knowledge with others (e.g., coding the lifecycle of a butterfly).

How else does coding encourage literacy in the classroom? Share your ideas in the comment section below or tweet me @McLennan1977 and tag it #codingandliteracy. 

Saturday, May 6, 2017

Thinking in Algorithms: Why kids need to code in kindergarten

Kids already have too much screen time.
Isn't coding just another buzz word in education right now?
I don't have time to learn something new.
My kids play too many video games.
I don't believe in using technology in the kindergarten classroom.

This weekend I had the great pleasure of attending the 2017 ETFO Innovate Conference in rainy Niagara Falls. Each year ETFO AQ instructors meet for two days of rich collaboration, inspiration and networking. We are online instructors and as a result, embrace technology in our personal and professional practices. I will state upfront that I write this post as a biased educator and mother; teaching children for lives in an unknown future, I believe that we have an obligation to consider what 21st century competencies are and how we can immerse our children in robust and authentic educational experiences that infuse their lives with motivation and passion.

I have been speaking a lot lately about the importance of coding in the kindergarten classroom. This past year I had a vivacious group of children who ventured on a journey with me to explore how we could use coding in our math and storytelling activities. Over the last 8 months these children have become proficient using unplugged coding manipulatives (e.g., grids, props, directional cards) in order to engage in complex math games and retell/innovate favourite texts. This has sparked much interest in how we can use coding to enrich one’s existing math and literacy program by outsiders to our program.

My love of math and coding was heightened this weekend after listening to the inspirational Brian Aspinall (@mraspinall) speak about his experiences using coding and technology in the classroom. He challenged us to consider how we might use “technology as a language of learning” to motivate children.

“Coding is the new literacy helping students communicate their ideas to others.” 

He pressed upon the importance of encouraging our children to communicate using complex ways in a digital age and to “think in algorithms” in all aspects of their day.

Brian instilled a sense of urgency in me. I believe that coding is an important foundational skill that all children have a right to learn. If we introduce unplugged coding games in kindergarten then children will learn to speak and use that language fluently in their daily lives. Just as emergent spaces encourage children to personalize their learning through multifaceted sensory experiences, technology gives children one more of the ‘hundreds of languages’ through which to explore, experiment and communicate their ideas to others.

Although however essential coding might be, in my travels I have found that there is still some reluctance for infusing our early childhood spaces with technology. Confusing coding as passive, entertainment-style gaming, many worry that it will be a harmful distraction in the kindergarten classroom. That fear, coupled with an inspiring few days spent with tech-minded educators, inspired this blog post explaining what I feel are the many reasons why children in kindergarten need to learn to code.

Why code in kindergarten?

Coding is everywhere. Most appliances and everyday household items require code in order to work - your fridge, car, and even washing machine use code. When children learn coding in school they acquire a sense of how the world around them functions. In inquiry-based spaces educators hope that children will look deeply at their surroundings through a lens of curiosity. Coding helps them explore something more deeply and consider how it works, and how it might be modified to work in a different way.

Coding is easy. An educator does not need to know computer programming in order to use coding activities. Starting slowly and exploring together with the children will model curiosity and a willingness to take risks while helping teacher-learners build community and knowledge in a safe and supportive space.

Coding is cost-effective.
In a time of reduced budgets and tech-constraints, unplugged coding in kindergarten requires no computers in order to be successful. All one needs is a grid, arrow cards, and small props (e.g., blocks, animal figures). These materials can be easily made or found around the classroom and are transportable to other areas of the school (e.g., hallway, outdoors).

Coding activities naturally incorporate 21st century skills like collaboration, creativity, teamwork, critical thinking and problem solving. Children who code learn to speak a new language. They quickly realize that their directions need to be clear and precise in order to have fun and be successful in the coding play. Children learn to strategize as coding play becomes more complex and obstacles and challenges are added to their games. Algorithms that don’t work out build resiliency and persistence as children try new sequences and use mistakes as learning opportunities.

Coding integrates learning opportunities from multiple domains of development. In our world of dense curriculum and overwhelming assessment demands, it's essential that educators weave together expectations from different subjects and strands. Not only does this make the classroom a richer place to be, integrating subjects often engages children and make learning deeper and more authentic. Coding has the potential to use expectations from math, science, literacy, the arts, and physical education depending on the context.

Coding is a social activity that builds communication and relationships. Each person in the activity has a special role to play and these roles must work together in order to be successful. The directions given by the programmer must be clear and succinct and followed precisely by all players involved. Children work together to create more complex coding paths and play from one day can be continued into the next. Coding strengthens children's oral language as they describe movement while giving and receiving directions.

Coding provides opportunities for children to engage in meaningful, problem-based math that is highly engaging and of relevance to their lives. These activities integrate spatial awareness, reasoning and number sense into a highly motivating opportunity for applying math in a realistic situation that can then be transferred to a coding application (e.g., Scratch Jr., Scratch) when children are ready. The math is often complex and layered.

Coding is empowering. Learning how to program a game or animation is a very entertaining and enjoyable activity for children. Today’s kindergarten classrooms are maker spaces filled with opportunities for children to engage in the problem-solving process by manipulating loose parts in order to create. Coding is no different but in place of tangible objects that can be tinkered with, children who code are digital makers.

Coding is versatile and can be easily adapted to activities in the gym and outside learning spaces, captivating kinesthetic learners and adding another dimension to physical activities. It is an easy to adapt activity that is fun to play outside or on a very large grid. Children can code one another to move around a space or use the change in scenery to inspire a new programming narrative.

Coding can be extended with technology such as easy to use apps, websites, and robots for those who want to delve more deeply into the concepts (or for those subsequent teachers who have these children in grade 1 and beyond). Many of these are available as free apps or websites and can be suggested to families who want activities that promote home-school connections.

Coding is a global phenomenon and connects your students to their community and beyond! Educators can create their own personal learning networks by connecting with others on Twitter (#coding, #code, #program, #kindercoding). Classes can participate in the Hour of Code or learn new skills by visiting Children can tweet what they are doing to others. There is worldwide support and encouragement for educators who are embracing new and exciting ways of learning including using coding as a language of communication with young children!

Ready to get started? Learn how here: Creating Coding Stories and Games TYC Volume 10 (3)

Let's connect! If you code with kids, tweet me @McLennan1977 and tag it #kindercoding. Let's create an amazing network of kindercoders out there and support each other on this journey!

"When you learn to read and write, it opens up opportunities for you to learn so many other things. When you learn to read, you can then read to learn. It's the same thing with coding. If you learn to code, you can code to learn." 
Mitch Resnick

Related Posts Plugin for WordPress, Blogger...