Coding In K12 Computer Science: It Starts From Your Imagination
Throughout my career I’ve worked with many programmers, and I have found that the majority identify the creative and unique projects they first worked on as the inspiration for their career. Seeing an abstract thought or idea realized by a program is incredibly rewarding – even if it’s just perhaps printing words with random tab spacing all over the screen (my first program). Unfortunately, K12 Computer Science is largely taught from traditional collegiate methods – placing heavy emphasis on concepts rather than integrating coding into authentic learning opportunities and fostering the imagination.
Such methods give students a mundane introduction to coding and can inadvertently disengage the creative process from the final product. The AP CS A (Java) course is an example of this model; but things have improved this year with the release of a sibling AP Computer Science Principles course, focusing more on student creativity.
The Computer Science Career
There is ample evidence that we are not inspiring the current generation towards Computer Science careers; for example, according to Jonathan Rothwell, “In 2010, not exactly a great year in the U.S. economy, there were seven job openings in computer occupations for every graduate from a relevant computer major”. Despite this plethora of jobs, I was shocked to learn that my own kids are not getting any K12 Computer Science in middle or high school, and we live in a suburban area only 30 minutes from the center of Microsoft.
When Is It The Right Time To Engage?
According to GirlsWhoCode.com, “74% of middle school girls express interest in STEM, but just 0.4% of high school girls select Computer Science when choosing a college major”. That is why I have been working closely with elementary and middle school teachers to foster the relationship between imagination and K12 Computer Science.
Project based learning provides a student-centered approach. Students' interest in programming flourishes when they are given a framework for computational thinking and programming. This is similar to the philosophies of the MakeyMakey movement (presented here). If you allow students to use their creativity and generate their own project outcomes, they will learn whatever they need in order to achieve success.
The following data from 50 middle school students shows the difference in kids’ attitudes before and after a nine week “Introduction to Coding” project based learning course. Those that believe they can create things with K12 Computer Science are almost a threefold increase after the course.
As Cheryl Steenson, a high school English teacher, describes it, her classroom integration of non-linear coding lessons allowed her students to combine English Language Art with coding skills for great results:
“Scratch seemed like a great tool, but I didn’t know enough to troubleshoot coding problems for my students. When I found ITCH, I was able to use their lesson plans and teacher resources to make coding a part of my English classroom. With ITCH, students told creative, imaginative and interactive stories while learning a real-life skill. This is the cross-curricular literacy we all need to be teaching.”
Learning code takes time and practice. As students envision and re-envision their products, and repeatedly practice the patterns of coding, their creations become more intricate and impressive.
The Role Of Imagination
As a computer programmer, I can attest that most beginner engineers don't start off by falling in love with QSort or Java Object Oriented Programming. I developed a love of programming by creating things from my imagination; not from recreating assignments from a book. I'm confident that this will be the case with your students as well.
For example, we have created a course for “Digital Storytelling”, that starts with students imagining and creating a storyline mimicking the style of a comic book or graphic novel. This creative process motivates students to learn the necessary programming techniques to bring their visions to life.
There are many options out there if you are looking for project-based lessons to apply this pedagogy. It’s no longer a problem finding resources, but as this article from EdSurge indicates, “It’s important to work with edTech consultants to be sure the tools will deliver the best results possible.” An example of one of these tools would be ITCH, the teacher dashboard for ScratchTM.
Because students like to use creativity when they learn, it’s important to create lessons that foster their imaginations. Finding that magical balance of structured learning combined with open design leads students to explore the limits of their imagination without being constrained to a fixed path.