However, not all coding curriculum has equal impact. Some may focus too much on the technology and not enough on the theory, which can be so importantly utilized in a wide range of scenarios. Others may have challenges that dissuade some students from embracing coding mechanisms.
5 Strategies for Great Coding Curriculum
If you are thinking about introducing coding in your classroom, school, or district, here are five strategies for designing coding curriculum and programs that engage students in well-structured learning that has lasting impact for future readiness.
1. Start Teaching Coding for Students Early
If you want to help all students gain interest in coding subjects, look for solutions that are age-appropriate and can be introduced to students in early elementary grades so they begin to see themselves as capable coders early on.
This is especially important for equity in computer science. Alison Master performed a gender gap study with kindergartners in 2017, which surveyed students on their attitudes about coding and robotics. Then, she provided introductory instruction in coding and gave the students an opportunity to practice their newfound knowledge by programming robots.
In her research, it was found that 6-year-olds held stereotypes about themselves that boys were better at robotics and programming than girls. Those stereotypes were even stronger than those about math and science. However, after providing brief instruction and practical experience with coding a robot to perform tasks, those differences of technology interest and self-efficacy were eliminated.
More recent examples of this disparity also exist, including research conducted during DesignHER Code Camps, which suggested introduction to coding to middle school girls increased interest and confidence in coding-related activities. In this study, only 35.5% of female students prior to the camp stated they believed they could do advanced work in coding. By the end of the camp, this number had nearly doubled to 65%.
2. Make the Transition to Text-Based Coding
Block-based coding is an introductory programming language that allows computer programs to be built by dragging and dropping blocks. The block-based coding approach has made it possible for students to start learning and experimenting with coding concepts before writing lines of code.
However, while block-based coding environments improve access to computer science education, a study at the University of Auckland identified that while block-based coding can help to establish early confidence, it can inhibit students from learning text-based coding later on and doesn’t offer the same real-world relevance.
Block-based environments help spark an initial interest in computer science and programming careers. They also can help students see the possibilities of computer science, and it can help them grasp core concepts early. However, it shouldn’t be the only approach taught.
Use block-based coding to build interest and make coding accessible to young students, then transition students to real-world coding languages. By starting with languages with simpler syntax, such as CoffeeScript or Python, students can learn text-based languages and develop their confidence in real-world coding languages. These starting points can even be helpful as additional stepping-stones to approaching more complex languages while building up confidence in coding skills.
3. Build Student Coding Skills Gradually
Beginning as early as third grade, students are ready to learn text-based coding with simple programming languages, even if they do not have previous experience with block-based languages. To begin text-based coding, students just need to be comfortable writing text-based directions for completing a task before they can tackle text-based coding.
For those who have had block-based coding experience, curricular resources help students make the leap from block-based coding to text-based coding. Students can apply those skills by building their own games, interactive stories and other projects.
Coding solutions often use game-based learning environments which have proven to be highly successful in teaching students to write real code to solve small coding challenges. These game-like environments gradually get more complex, building confidence with students in their newly growing coding skills.
By taking it in small steps, students can quickly move from creating text-based code that simply sequences functions to creating code with complex conditionals and nested loops that leverages mouse and keyboard input.
4. Practice Safe Failures for Coding Self Esteem
As students advance their coding skills, they must accept failure as a part of the learning process and understand that failures in coding help the coder find the right solution. The more exposure students have to this concept in a safe environment, the more students will develop comfort in it.
An article by the Nemours Foundation explains:
“As kids try, fail, try again, fail again, and then finally succeed, they develop ideas about their own capabilities…Self-esteem is the result of experiences that help a child feel capable, effective, and accepted. When kids learn to do things for themselves and feel proud of what they can do, they feel capable. Children feel effective when they see that good things come from efforts like trying hard, getting close to a goal, or making progress.
Safe failures can take the form of debugging practices or coding challenges in which students are encouraged to continue to try until they have met the goal.
5. Move Students from Consumers of Technology to Creators
Once students have developed these core skills, students can transition from learners to creators by building their own games through simple game-building environments, skyrocketing their coding self-esteem.
While there are many great offerings that include fun games and coding challenges that help to teach concepts of coding and help students learn syntax and structure, without providing a means for students to take that skill and apply it to make something relevant to themselves, the curriculum keeps the students as consumers of technology and not creators of technology.
More importantly, until students create something that reflects their own identities, few will see themselves as capable coders or see coding as a means to solve problems in any discipline.
To maximize learning and student potential, students must transition from consumers to creators.
Coding Skills Are Life Skills
In today’s world, it is imperative that all students have experience in coding to be effective in any career. Students of all ages develop aptitudes in digital literacy, computational thinking and coding regardless of their previous experience. To do so, we must provide students with regular experiences that help students develop foundational computational thinking skills and coding self-esteem early so students may progress with “can-do” attitudes toward coding.
By introducing students to coding concepts early on in their learning, students start to see themselves as capable coders, which is invaluable for future readiness, sparking an interest in learning more as they move into high school and beyond. Whether students choose a career in computer science or not, exposure to real coding experiences and success empowers students to be able to solve today’s problems in any field.
This article was originally published in November 2019 and has since been updated for accuracy and relevance.
Founded in 1999, Learning.com provides educators with solutions to prepare their students with critical digital skills. Our web-based curriculum for grades K-12 engages students as they learn keyboarding, online safety, applied productivity tools, computational thinking, coding and more.