We are using cookies to give a better service experience. By using our services you agree to use cookies. Read more

All articles

Computer Science Immersion

Students in our K - 4 schools are utilizing coding as a tool for learning in core curricular areas.

The Canon-McMillan School District believes computer science should be accessible for all of its students. And thanks to a unique co-teaching model, it is. Teachers and students in grades K - 4 use coding, as often as they use other classroom tools like PowerPoint, to authentically showcase student voice and learning mastery in core subject areas.



HundrED shortlisted this innovation

HundrED has shortlisted this innovation to one of its innovation collections. The information on this page has been checked by HundrED.

Web presence






January 2019
Simply doing this at her grade level and knowing that it will continue is fantastic.

About the innovation

From Pockets of Technological Innovation, to a Fully Immersive Coding Program

Our District's Innovative Practices:

At the Canon-McMillan School District, we want all students, not just a select few, to have access to a high-quality, cutting-edge curriculum.

In the last decade, we noticed that only certain populations of students were being exposed to the latest advancements in technology – mainly from teachers comfortable using new technology tools. We just were not reaching everyone.

Tired of seeing only small pockets of innovation throughout the district, we made a commitment to provide support for progressive practices across all disciplines and all grade levels. It is our responsibility to not only offer technology, but also to embed it in as many curricula as possible. Writing the technology into the curriculum ensures that all students will have access to the same tools and projects, making our students' readiness for the future equitable across all populations. 

With this goal in mind, the district created a Continuum of Computational Thinking tools that mandate certain concepts and practices to be taught at specific grade levels. Starting with a teacher survey, professional development and resources were identified and implemented. Teachers received training and were given the remainder of the school year to experiment with different strategies in their classrooms. New, forward-thinking curricula were polished up over the summer and continue to evolve to this day. To help support our teachers in this initiative, we routinely gather by grade level across the district to collaborate and develop new ideas.

Making an Impact:

In 2015, the Canon-McMillan School District started teaching coding literacy in Kindergarten, creating a delineated path for computational thinking and computer programming. In 2017 we made a major curriculum shift and began to use a technology coach to co-teach with our K - 4 classroom teachers. Our curriculum and continuum continue to evolve, but our vision to ensure that no child will be left behind, due to their ethnicity, sex, nor family's financial or educational circumstances, continues to be at the forefront of our initiative.  We believe that providing an early start with computational literacy will lead to a prosperous career and a pathway out of poverty for our students.  

We know that computing jobs make up 60% of all STEM jobs and that only 10% of college degrees in the STEM field are actually for computing. Currently, there are 20,192 computer science jobs available in Pennsylvania alone. By 2020, there will be 1.4 million jobs in the field with students being unprepared.

It is essential to provide our K-12 students with skill sets that will fill these voids in the industry and greatly impact the future computing workforce. Our students are already on the same wavelength. Hear an elementary student's perspective on her future career path after learning how to code in Minecraft and another student's interview on National Public Radio.

Program Disruption:

Canon-McMillan's full coding immersion in our K - 4 grades has begun to disrupt the curricular offerings we have had in place for the past 10+ years in grades 7 - 12.  As our students move through the grade levels, they are bringing with them their coding and computational skills, positively disrupting our higher level programs.

Although middle school technology teachers, for over ten years, have been teaching all students to create a game in Game Maker, develop a website with  HTML, design 3D printed prototypes, and program robots, they are redesigning their projects knowing that their students come to them now with higher skill sets:  programming arduino's, spheros, robots, etc. by using the program languages of JavaScript and Java rather than block based coding.  This year the department was able to offer 8th graders the first true programming class using  Carnegie Mellon University's CS Academy with Python.

Seeing this trend shift upward in our course offerings, our high school added two additional Advanced Placement course sections.  For decades the mathematics department at the high school offered AP Computer Science A with Introductory classes, but this year was able to offer AP Computer Science Principles classes, utilizing Code.org's curriculum.  Recently the computer science teacher was selected to sponsor Amazon's Future Engineer as well as be selected to work with Microsoft Philanthropies TEALS program, committed to computer science in every high school.

What Other Districts Can Learn:

We've learned that having a technology teacher pop in and out of classrooms to administer independent, stand-alone lessons is not as effective as having a consistent technology co-teacher/coach. Once traditional classroom teachers are expected to learn to code alongside their co-teacher and students, an amazing transformation takes place. A dynamic collaboration between an expert in coding and an expert in grade-level curriculum sparks and greater advancements can occur. This method can be implemented in other school districts to spread computer science immersion across the region and beyond.

As we continue to require K-4 teachers to use coding as a tool to help students showcase their knowledge, we plan on expanding our coding at grades 5 and 6 by implementing Code.org's curriculum and getting more teachers to use coding with Hummingbird Robotics, Ozobot's bit, programming drones, and more.

Our region has already taken interest in what we are doing, and we love to share! We are active members in Pittsburgh's Remake Learning's CSforPGH and STEM ecosystems. We have invited members of the Pennsylvania Department of Education, along with numerous local businesses and dignitaries, for site visits. Partnerships with local businesses create a positive, mutually beneficial relationship for all parties involved. For example, Range Resources has supported some of our small projects through funding and by inviting our students in to show what they have been creating with coding to their staff.  When businesses see what you are doing, they will be more inclined to help support your initiative!

Driving Beliefs:

With all administrators and school board supporting our efforts, these driving beliefs helped us forge and refine our vision for Computer Science For All:

We believe that:

  • all students, regardless of their race and/or socio-economic background, should be afforded a hands-on education that has the 21st technology tools embedded directly into their curriculum.
  • the new essential literacy is coding, putting its relevance on the same level as learning how to read or do basic math. ALL students should learn these new skills. 
  • we must help students learn to think and solve problems in a systematic way. (Breaking down a problem down, finding general and abstract patterns, devising an algorithm for the future, etc.) 
  • coding should not be a stand alone course, and we must begin to teach all students how to utilize coding within other technologies. Understanding of electronics and circuits is essential for all students, and they must see the connections between coding and devices. Without a child seeing these connections, they may merely believe the sole purpose is for play. By including the engineering design process along with learning how to manipulate devices, students begin to see the connection between coding and programming. 
  • collaborative spaces allow students to explore unique, creative ways to make their learning and thinking visible. 
  • there should be a learner progression/continuum for coding, starting with block-based coding in elementary school, and shifting to programming in the middle and high school with Python, JavaScript and, eventually, Java. 
  • in order for transformation to take place within our schools, our employees must know that we are open to any new ideas and innovation. Knowing that innovation can be ignited in a multitude of arenas, we strive to foster an environment that encourages open communication, collaboration and creativity. 
  • the students themselves should be part of the collaboration, too. We invite them to complete student surveys and career surveys before and after program implementation to help us grow. 

You know your teachers have reached full immersion when they (and their students!) are finding ways to use coding and technological tools to showcase student learning outside of simply learning how to code.


Social Studies, ELA, Science, Art, AND Coding Robots
This 4th grade class broke into small groups and were assigned a Region of the United States to research (Social Studies).  Based on this research, students chose an animal from their region and built a Leggo EV3 robot of the animal (Science).  Students programmed the robot to move and act like the animal in it's habitat (Coding).  Students then created a 3D diorama of the animal's habitat for the robot animal to move through (Art).  Students then asked guests to make an inference (ELA) as to which animal they created.  Students provided facts (hints) to their guests to help them make the best inference they could.  Fully Immersive use of Coding!!
Coding Immersion
Elementary and intermediate students designed dioramas depicting the different parts of a plant, how flowers are pollinated, where natural gas comes from, and more. They used block-based coding to program Arduino robots through the use of Hummingbird Robots. 
Our 1st graders programmed a Lego WeDo robot to move across a map of Pennsylvania on the floor.  The robot paused at different places of interest across the state. Students would then use their presentation skills to tell the audience about the place of interest before the robot moved on to the next Pennsylvania site.
What Parents are Saying
Parent Survey Results
Integrate Robots in Science and English Language Arts
Coding Robots for Science and English Language ArtsHere students in 3rd and 4th grade programmed a robot to simulate an animal.  Students researched the animal's habitat and designed a map of the animal's habitat for the robot to move through.  Presentation skills were also needed as students shared with parents and guests.
Computer Science Immersion in Action
Computer Science Immersion in Action

Implementation steps

Create a Continuum of Computational Thinking/Coding

To ensure that each child was exposed to similar content and technological tools in each grade level, the Director of Curriculum and Instruction created a unique Canon-McMillan Continuum of Computational Thinking.

Specific tools were identified as mandatory or voluntary use by grade level.  

This continuum became the basis for the district's curriculum writing initiative in Computational Thinking/Coding.

Write Detailed Curriculum

Many free coding curricula exist online:



CS First


Having teachers come together to write a unique curriculum is the most beneficial method.

Dedicate a Coding Coach to Co-teach with Classroom Teachers

By requiring the technology teacher to co-teach with the classroom teacher, ownership of the skills/technology program is shared between the two, allowing for more integration into core curricular areas.

Make a Daily Commitment to Coding

Whether they teach together once a week or twice a month, it is essential that the technology coaches and the classroom teachers have a set schedule. The technology coaches should communicate to the classroom teachers where they expect the students to be by the time their next co-taught lesson takes place. Setting this clear expectation will ensure that the classroom teachers continue to work with the students daily, truly sharing the responsibility of the content.

Engage Your Technology Director

At Canon-McMillan, our Technology Director sits in on every planning meeting related to coding immersion. Without this collaborative planning session, rollout would be cumbersome and unsuccessful. In addition to being an active team and implementation member, our Technology Director co-presents with us at local, regional and state conferences.

Encourage Trans-disciplinary Approach

One of our 4th grade teachers used coding to incorporate Social Studies, Science, and Language Arts into one collaborative team project. Students were divided into groups and assigned a different region of the world to research. They chose animals from the region, then used Lego EV3 robots to simulate the animal's movements in 3D dioramas of the animals' habitat. Parents and guests were invited to view the amazing demonstrations and make inferences.

Celebrate Student Learning Using Student Voice

Student voice is empowered as they are permitted to showcase how they have taken ownership of their learning with coding. Parents/guardians can see their children's creations and excitement firsthand, as they share what they coded and built around core subject areas. We also invite parents to complete surveys after they attend a celebration of learning to provide constructional feedback and a stronger connection between the school and the community. For access to all parent survey results after only 3 months, click here.

Share Your Successes with Others

We have numerous teachers and administrators who share district practices by presenting at local and state conferences with content that spans all grade levels and disciplines. We have also had numerous opportunities to share our coding success and our computational thinking continuum with peers at events like CSforPA Summit, CSforPgh, ReMake Learning, the National K-12 Educational Research in Practice Summit held at Carnegie Mellon University, Pennsylvania School Boards Association, Pennsylvania Department of Education SAS Summit, and more.  

Spread of the innovation

loading map...