READING: Teaching Coding
Congratulations! At this point, you have learned the fundamentals of coding and computational thinking. You have learned coding concepts like sequences, loops, conditionals (if/then), variables, and functions. You have learned how to solve problems computationally by breaking them down into smaller problems (i.e., decomposition), finding patterns, creating algorithms, automating solutions computationally, and analyzing and improving your code by debugging. You have learned the importance of documenting your code and how to make your code readable and efficient. You've created an interactive story for young learners, made an interactive introduction to your classroom, created a simulation that can be used to demonstrate a key concept or principle, made a hands-on science investigation, and even created your own circuit-based light-up card. You've come so far!
Now that you have established your own computational foundation, how might you teach it to your elementary students? While that subject in itself could take another semester-worth of classes, this week we are going to explore some of the many (and growing) resources that are available to help you teach kids to code. The good news is that you don't have to start from nothing. There are myriad materials and curricula that are available that you can just pick up and run with. Here are a few that I have found to be useful.
Pedagogical Methods
- PRIMM: An effective method for teaching any coding concept through modeling and exploration (https://www.futurelearn.com/info/courses/secondary-programming-pedagogy/0/steps/68416#:~:text=PRIMM%20is%20an%20approach%20that,an%20activity%20in%20the%20classroom Links to an external site..)
- Paired programming: Did you know that kids produce better code together than they do alone? And they learn to think computationally and solve their problems more effectively. Read this brief article on paired programming to find out how you can use this method in your own classroom: https://meetedison.com/pair-programming-in-education/ Links to an external site..
Curricula:
- Code.org (https://code.org/ Links to an external site.) : This is probably the most well-known site for getting kids up and going on their code. They have entire courses for preschool, elementary, middle, and high school students to learn how to code. Their primary method of teaching involves solving puzzles. This means that students can largely proceed through the curriculum at their own pace.
- Bootup (https://bootuppd.org/ Links to an external site. ): BootUp is a non-profit organization whose mission is to train elementary teachers how to code. They are currently partners with Amazon's Future Engineer program and are training teachers in nearly a dozen states. The great thing about BootUp is that their curricular resources are free for all to use. They have over 40 open-ended activities for early elementary (K-2) and 40+ activities for upper elementary (3-5), with more on the way. They provide lesson plans, sample code, powerpoint presentations and more. Read through their website to look at some of the many possible projects they use to promote interest-based coding.
- Barefoot Computing (https://www.barefootcomputing.org/ Links to an external site.): Barefoot computing is the elementary (i.e., primary) arm of Britain's Computing at School group. Since computing became part of the core curriculum in England in 2014, there are myriad well-developed resources available to teach kids to code. Check out their "lessons" section for ideas and units you might use in your own classroom.
- Scratch in Practice (https://sip.scratch.mit.edu/ Links to an external site.): Scratch in Practice is the official site for curriculum and lesson plan ideas from the same group that created Scratch. This is a more open-ended resource with ideas for individual lessons and curriculum connections.