Our First Hour of Code
Prior to my current work as an educational technology/integrated studies consultant for a county office of education, I was an elementary school leader who had begun my public teaching career as a multi-subject teacher in the elementary and middle school grades. As a teacher, I continually advocated for increased access to technology for my students.
As a school leader, I ensured that each and every grade level on campus was represented as we participated in Hour of Code, hosted by code.org. Upper elementary students programmed spheros, younger elementary students took part in Lego robotics during our after school program, and kindergarteners completed challenges with block coding.
Students loved these experiences. Kids that typically struggled with academic tasks such as reading and writing had a chance to shine. Computer science fosters resilience. Students who engage in coding challenges must ideate, design, iterate, conduct error analysis, and then begin the process again. This takes grit. I found that computer science is sometimes difficult for students to whom reading, writing, and mathematics come easily. It is the learners that struggle the most with traditional academic assignments that often excel at computer science tasks.
To these students, failing forward again and again is not a new concept. Computer science allows these students to become leaders for their peers who are easily frustrated at not knowing the answer right away.
While the aforementioned Hour of Code experience built excitement and increased technological proficiency amongst students at my school site, it does not equate to a complete and foundational computer science education. How do we build upon the success of an Hour of Code experience?
How might educators and leaders leverage the appeal, academic benefits, and social emotional components of computer science without neglecting other content areas? And how might we build the capacity of teachers without a computer science education to guide learners in experiences that extend past an Hour of Code?
The answer lies in understanding the breadth of computer science itself, and seeing not only its relevance to students, but its interdisciplinary nature.
Why Go Beyond an Hour of Code?
The majority of educators and leaders do not have a background in computer science. However, our students are growing up in a digital age in which computer science education is increasingly vital for the learners of today. Computer science education ensures that students do more than merely use technological devices.
As students engage in computer science practices, they build a conceptual understanding of how computing systems, networks, and the internet work together. They learn to utilize computing devices to collect and analyze data to make sense of the world. They solve problems using computational thinking and logic based programming. And perhaps most importantly, they develop empathy as they consider the impacts of computing on individuals in our society.
The K12 Computer Science Framework includes five core concept areas from key content areas, coupled with seven core practices that demonstrate ways in which students actively engage in learning experiences that build conceptual knowledge. Computer science does include coding (concept area Algorithms and Programming), but there is so much more to it than that. As we grow our understanding of the breadth of computer science, we begin to recognize connections to mathematics, science, engineering, history/social studies, health, the arts, reading/writing, and career technical education.
As primary writer for California’s recently adopted inaugural Computer Science standards, I had the great privilege of working with a group of incredible educators from across the state who are passionate about advancing computer science in our schools. During this collaborative work, I realized two things. Firstly, computer science is foundational for a complete education as it teaches empathy, inclusivity, and celebrates diversity. Consider the following quote from the introduction to the standards, “By design, computer science focuses on user needs and continually increases accessibility through iterative development processes. It is this inclusive, user-centric mindset within computer science that has led to innovations in technology such as wearable hearing aid devices, translation services in real time, and accessibility options within computing hardware and software for individuals with disabilities, among others.” Secondly, computer science aligns to college and career ready skills such as problem solving, creativity, communication, collaboration, and critical thinking.
How Can Educators Get Started?
How might educators begin to incorporate computer science into their instruction? The most important thing to do is to jump in and try something new. Check out the resources below for ways to get started. As students engage in the activities you find, be sure that they are communicating, collaborating, thinking critically, and creating. As a next step, take some time to learn about the computer science practices and consider ways that students will demonstrate the practices as they complete computer science challenges. Above all, know that you do not have to have all the answers.
Don’t have a background in computer science? Don’t feel like you know what you are doing? Not sure you will be able to offer support when students struggle? What a great model for your students! You can learn together.
Encourage students to work in pairs (pair programming), to seek support from peers when they feel stuck, and to search Google or YouTube for tutorials that will lead them through rough patches. As you move forward toward offering opportunities for computer science education in your classroom, students will become resourceful, expert learners who can solve problems together.
Resources to Check Out:
California Computer Science Standards Examples of student activities are included for each standard, many of which are interdisciplinary in nature. Click the blue arrow at the side of each standard to see the examples. The standards are searchable by interdisciplinary connection, computer science concept area, and computer science practice.
CSUnplugged has great tips for incorporating computer science into your classroom without the use of a computing device. This is a great place to start and features a number of kinesthetic activities to introduce students to computer science concepts in a fun, interactive ways.
Code.org is a fantastic place to begin coding activities with your class. Code.org contains advocacy pieces, lesson plans, tutorials for students, and more!
GoogleCSFirst contains many interdisciplinary lessons that are perfect for an elementary classroom.
Scratch, a coding platform developed by the MIT Media Lab, is a block coding platform that is engages students with many opportunities for creativity.
Tynker focuses on an interdisciplinary approach to coding with options to focus on multiple languages including block coding, HTML/CSS, Javascript, and Python. Check out the resources for educators.
CodeCombat is a favorite of upper elementary and middle school students, as they learn to code through gaming.