Contact innovator

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

Computer Science Immersion

location_on Canonsburg, United States
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.
- A Canon-McMillan parent
Simply doing this at her grade level and knowing that it will continue is fantastic.

- A Canon-McMillan parent


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.
Key figures

Innovation Overview

5 - 13
Age Group
1 118
Updated on September 17th, 2021
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'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'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.


See this innovation in action

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


Achievements & Awards

May 2019
January 2019
Innovation page created on

Spread of the innovation

loading map...

Inspired to implement this? Here's how...

Create a Continuum of Computational Thinking/Coding
As a district, we were tired of seeing pockets of innovation happening throughout the district.
Read more
Write Detailed Curriculum
A common curriculum should be written based on weekly outcomes.
Read more
Dedicate a Coding Coach to Co-teach with Classroom Teachers
Our district found little crossover between what the technology teacher taught in their lessons to what the regular education classroom teacher taught after the technology teacher left the room.
Read more
Make a Daily Commitment to Coding
Our district sets the expectation of 30 minutes of coding per day. Schedules are created with specific curricular expectations delineated for the classroom teacher to accomplish prior to the next coach visit. Co-teaching lessons can be weekly or bi-monthly.
Read more
Engage Your Technology Director
To ensure efficient integration, it is essential to fully engage your Technology Director or Technology Team in your programming.
Read more
Encourage Trans-disciplinary Approach
A shining example of how coding can be used to combine multiple areas of study into one team project.
Read more
Show more