Published originally on Getting Smart December 15, 2017
Coding is one of the topics that has received greater attention in education over the past couple of years. With a greater emphasis on computer science and coding and the demand for knowledge in these areas, there has been an increase in the variety of resources available to encourage schools to provide opportunities for students to learn about coding. The “Hour of Code” takes place annually during “Computer Science Education Week”. The week is in recognition of the birthday of Admiral Grace Murray Hopper, a computing pioneer. To see some of the events and activities from this year’s “Hour of Code” week, go to the Code.org site or check out the hashtags on Twitter for #HourofCode and #CSweek.
The goal of participating in an “Hour of Code”, is to show that anyone can code and to highlight how vital computer science knowledge is for today’s students, as it helps them to develop the skills they need to be prepared for their future. Data provided on Code.Org provide statistics which support the growing need for students to have opportunities to learn about and develop skills in coding and computer science. According to the site, the majority of schools do not teach computer science, with only 40% reported as having courses available for students. For careers in STEM, 71% of the jobs available are in computing, however, only 8% of STEM graduates are in Computer Science. As for future employment, computing jobs are the #1 source of new wages in the United States, a number that is expected to increase. In addition to the future benefits for employment, what are the other benefits of coding for students?
Why should students learn to code?
Coding is something that each student can do and is a more engaging way for students to work on their collaboration, critical thinking and problem-solving skills. Coding can help to promote SEL (Social and Emotional Learning) skills as well. For example, in working through the various modules available on Code.org or through other coding programs, students develop their self-awareness as they work through the challenges of coding and they develop a greater understanding of their strengths and being able to set goals for oneself based on this self-awareness. Students will become more confident as they problem solve and experience success along the way and by helping peers as well. Students build relationship skills through the collaboration during activities, seeking and offering help when needed and learning to cooperate with one another to solve a coding challenge.
Students can also experience more inquiry-based learning, where they are exploring on their own, problem solving and discovering how to make a program work, where the steps fit in and then being able to share the experience with one another. Personally, I enjoy trying to work through the activities on my own, to experience the challenges and be better equipped to anticipate student questions, but also to be more familiar with areas of struggle.
The idea of coding can be a bit overwhelming, at least that is how I felt when I first started a few years ago with the game Hopscotch. It was challenging to create a game and it took a lot of patience to push through. However, back in the early 1980s, as a 7th-grade student, I had my first experience in writing lines of code with the Apple computers. Once you learn the basic structure and the commands, it is a gradual process that does not seem to take too long to master. Even nearly 35 years later, the concept of coding really is quite the same, except that we can create more visually engaging games and programs. There are so many resources and websites available to help educators and students get started, making it less intimidating than it may initially seem.
When trying some of the resources below, be sure to engage students in discussions about their experience with coding. Encourage students to share with their peers and talk about professions which require coding skills or to brainstorm areas where knowledge of coding will prove to be beneficial. Providing this time for students to interact will help them to develop their SEL skills, by building peer relationships and supporting the classroom culture.
Working with students
Be ready for students to express some frustrations when trying to work through the activities. Even if you don’t have experience coding, it’s a great opportunity to learn right along with the students and in many cases to learn from them. How do you prepare? I recommend trying each of the activities on your own, so you are familiar with the set-up and the types of tasks that the students will be completing. As a Star Wars fan, I started with the basics and did encounter some difficulty mid-way. As it turns out, a few of my students had the exact same problem with it and asked for help. Although I did figure out how to work through it, I wanted them to work through it on their own as well. We need to give students time and space to problem solve, to ask for peer support and to experience the frustration that comes with solving problems and the joy that replaces it when the solution is reached.
Seeing the students begin to collaborate and step in to help their peers, demonstrated the benefits beyond just learning to code, it promotes their SEL skills. A lot of what is involved in coding is critical thinking, problem-solving and definitely collaboration and with all this comes an amount of frustration perhaps when the code does not work as one expects. This is when we see the students start to connect and help one another and I have also seen students become very frustrated, understandably but it is what we do with that frustration, pushing through even in the face of challenges, knowing that there is support available amongst peers and the “teacher” in the room. There is always an identifiable teacher, but as we have learned in our classes, we all have something to learn and something to teach.
Ten resources to try
- Scratch: Created by MIT, Scratch is a website for more than just programming. Scratch provides an online community for sharing projects and for learning from the library of resources available on the site.
- BrainPOP: Teachers can engage students in the “Creative Coding” module, in which students create stop-motion animation movies, memes and newscasts. Students follow the instructions to write their own lines of code and see how each line changes the program. Working through the module leads students to create their own codes and publish a movie or create a meme. The Creative Coding module is free for Teachers through the end of the year. There are also lessons available which focus on Computer Science and Coding and offer a variety of activities for students to develop their skills.
- Hopscotch: an iPad app in which students can learn to make their own games and apps, available for students ages 8 and older. There are tutorials which include videos and lessons plans, making it easy to get started with this in class.
- Swift Playground: An iPad app that enables students to get started with coding quickly, without any coding knowledge. Students can start by solving puzzles in order to learn the basics, and then continue through challenges to do more advanced coding.
- Pencil Code: A collaborative programming site which provides resources for teachers, student project samples, and choices of creating games, playing music, drawing art, and working with mathematical equations and graphing.
- TeachersFirst: There is a rather extensive list of different types of websites for coding based on theme and grade level for getting students involved.
- Girls Who Code: A non-profit organization which focuses on closing the gender gap in technology. Girls Who Code offers information for creating after-school clubs for girls in grades six through 12 to learn about coding, as well as two-week-long summer courses and a seven-week-long specialized summer program for 10th and 11th grade girls to learn about coding and job opportunities.
- Khan Academy: A non-profit organization which offers free educational resources including practice activities and videos, which enable you to learn at your own pace. Khan Academy provides lessons on Computing, with options including computer animation, hour of code, computer programming and computer science. It is easy to get started by either choosing the basics and working through a whole lesson, or selecting a specific concept.
Coding is not just about learning to write a program, it’s about connecting with the learning and building relationships in the process. Learning to problem solve, collaborate and work together to build skills for the future. Developing our interpersonal skills and fostering the development of meaningful and supportive relationships in the classroom will empower students in learning.