“Coding to Learn” Outcomes
Jim Cash‘s post originally appeared on his blog on June 15, 2017.
[Updated July 2017]
I want to share my set of “coding to learn” outcomes. These are the things that I am looking for in children who are coding in educational contexts. These are the targets in my mind. To me, these represent the powerful learning potential in coding to learn.
“Coding to Learn” Outcomes
Students are:
- learning to express their creativity using coding and technology
- learning to solve a variety of problems encountered in their projects
- demonstrating a growth mindset (rather than a fixed mindset)
- speaking mathematically to the computer/device through their coding
- making exciting, personal ideas come to life through coding (this serves as the prime motivator for students to learn, play and push their coding skills further every day)
- creating meaningful software applications rather than isolated chunks of code
- actively learning from, and sharing with, others (face to face & online)
- learning to visualize a process that accomplishes a task in their project
- learning, practicing and refining the design process
- reflecting on their thinking and learning in order to transfer to new challenges
- excited about learning and exploring coding and technologies on their ‘own time’
But where is the curriculum in all this? That’s probably a great topic for a different post but I do strongly believe that, for example, the ‘math curriculum’ could be completely integrated within a year long series of programming projects by students. I firmly believe that, within a constructionist philosophy, all crucial mathematical concepts could be built via effective coding experiences.
Over time, my approach to introducing coding, and the way my student use coding to learn, has changed. I hope it has improved. The way I measure my success is how strongly I observe the above “Coding to Learn Outcomes” in my students.
Below I have tried to describe, in a concise way, the progression in the way my past students have learned to code and learned through coding. At the beginning of my teaching career in the early 90s, I admit that I saw computer programming as a skill and as a separate subject. When we explored programming in my grade 5 classroom, that is how I approached it and how students saw it. Over time, I’ve made many changes to my philosophy and my practice in order to get to the potential outlined in my “coding to learn” outcomes.
Most outcomes are NOT evident or VERY WEAK
- Coding is approached like a separate curricular subject
- Coding is not understood as a literacy
- Taught as discrete lessons, teacher driven, skills based
- Focus is “learning to code”
- No integration with other learning, school activities, or students’ interests
- Coding tools chosen by teacher are designed for programming, not learning through code
- Teacher role is instructor and coordinates learning through series of lessons
- Students learn to code within a linear instructional design
- Assessment is based on coding quizzes and tests
- Sharing or remixing code is seen as cheating
Outcomes that are in evidence are WEAK
- Focus is still “learning to code”
- Mostly skills-based approach, series of lessons or assignments
- Coding not understood as a literacy or creative tool
- Lesson-based but some time for exploration, some choice
- Coding is a short unit, not integrated into other learning
- Some effort to make learning to code more meaningful beyond just a skill
- Use of coding tools with some effort to connect code to more meaningful things
- Teacher role is instructor but encourages some student-chosen explorations
- Some deliberate attempts to connect learning from coding
- Assessment based on quizzes, test, and projects
Most outcomes are in evidence and STRONG
- Focus is “coding to learn” rather than “learning to code” but both occur
- Coding is understood as a literacy through which ideas can be expressed
- Attempts are made to integrate coding activities into other learning and school endeavors but not to high degree (full potential is not realized)
- Student-centered approach, student voice and interests are valued
- Regular sharing of ideas and code is encouraged between students
- Choices for students, coding challenges, longer term projects
- Students are encouraged to solve problems together
- Teacher role is coach, modelling growth mindset
- Teacher reflects on expected outcomes vs. observed outcomes
- Assessment based on teacher observation and student projects
- Regular, deliberate attempts to connect learning and coding; learning through coding has authenticity to students
- Regular, deliberate attempts for student to reflect on coding, thinking, etc.
Most outcomes are STRONGLY in evidence and ROBUST
- Focus is “coding to learn” rather than “learning to code” but both occur
- Coding is integrated into other learning and school endeavors
- Coding is understood as a literacy through which ideas can be expressed
- Students engage in long term projects / inquiries of learning through coding
- Projects and programs arise from student interests and passions, teacher’s role is to help connect to curriculum expectations; student interest came first
- Regular sharing of ideas with peers and online discussion
- exploration and playing with ideas and code is actively encouraged and shared with peers
- Teacher role is coach, modeling growth mindset
- Teacher is co-thinker, co-coder, co-learner
- Teacher reflects on expected outcomes vs. observed outcomes
- Assessment based on teacher observations, conversations, interviews, student products, student surveys, and student reflections
- Regular structures in place to connect learning and coding (using coding literacy in other aspects of school activities, meaningful, authentic use is primary goal)
- Regular structures in place for student to reflect on what they are learning through coding experiences