CODING
Computer science is a blend of all the STEM categories because it involves science, technology, engineering and math. Computer science includes studying how to create new software, solve computing problems and develop different ways to use technology. Computer scientists create and invent new computers, robots, and more. Coding and programming are also critical components of CS as they focus on telling the computer what to do.
From <https://www.microsoft.com/en-us/digital-skills/stem-cs>
From <https://www.microsoft.com/en-us/digital-skills/stem-cs>
What is Coding?
Code is the language that a computer understands. Just like people speak different languages, computers also speak different languages (Block Code, Java, Python, HTML, etc.) Typically we think of coding in its simplest of terms, as telling a computer to do what you want it to do. However coding is anything that breaks a task down into logically sequenced step-by-step commands.
Coding allows users to investigate, problem solve, explore and communicate through discovery, and it is a way to express ideas creatively. Coding requires computational thinking, which is embedded throughout the Ontario Curriculum. As a result of this, educators can incorporate code into learning for all curriculum areas.
Why Should Students Code?
Coding is a fundamental computational thinking skill of the modern world. As technology continues to be integrated into our lives, it is important as educators to provide opportunities for students to be innovative and create, and not just consume technology. Coding is an employable skill that teaches students to solve problems, take risks, think critically and logically while being empowered to fail in a safe environment. These skills are vital in all curricular areas as well as Learning Skills and Work Habits. Coding empowers students to be content creators rather than just content consumers.
~ EduGains, Coding in Elementary
Code is the language that a computer understands. Just like people speak different languages, computers also speak different languages (Block Code, Java, Python, HTML, etc.) Typically we think of coding in its simplest of terms, as telling a computer to do what you want it to do. However coding is anything that breaks a task down into logically sequenced step-by-step commands.
Coding allows users to investigate, problem solve, explore and communicate through discovery, and it is a way to express ideas creatively. Coding requires computational thinking, which is embedded throughout the Ontario Curriculum. As a result of this, educators can incorporate code into learning for all curriculum areas.
Why Should Students Code?
Coding is a fundamental computational thinking skill of the modern world. As technology continues to be integrated into our lives, it is important as educators to provide opportunities for students to be innovative and create, and not just consume technology. Coding is an employable skill that teaches students to solve problems, take risks, think critically and logically while being empowered to fail in a safe environment. These skills are vital in all curricular areas as well as Learning Skills and Work Habits. Coding empowers students to be content creators rather than just content consumers.
~ EduGains, Coding in Elementary
Hour of Code
If you have never done coding before then a great place to start is with code.org Code.org starts at a very simple level and takes you step by step through the basics. Each activity builds upon the previous one. Course 1 is suitable for kindergarten to grade 3 students. Grade 4 students and up should start with Course 2.Teachers have the option of creating a class so that you can keep track of where your students are in the courses. This also gives you access to solutions for all the different activities, so you don’t need to be an expert, or have done all the activities yourself before you allow the students to have a go.
Scratch 3.0
Your students can use Scratch to code their own interactive stories, animations, and games. In the process, they learn to think creatively, reason systematically, and work collaboratively — essential skills for everyone in today’s society.Students are learning with Scratch at all levels (from elementary school to college) and across disciplines (such as math, computer science, language arts, social studies).The ability to code computer programs is an important part of literacy in today’s society. When people learn to code in Scratch, they learn important strategies for solving problems, designing projects, and communicating ideas.
Scratch is a project of the Lifelong Kindergarten Group at the MIT Media Lab. It is provided free of charge.
Scratch is a project of the Lifelong Kindergarten Group at the MIT Media Lab. It is provided free of charge.
Unplugged Activities
A great way to introduce students to coding is to do an unplugged activity. Unplugged activities are often used as an approach to learn computer science concepts without the use of computers. In addition to connecting new concepts to familiar contexts, unplugged activities are also beneficial when technology is not available or to limit the amount of time our students spend looking at screens. Some practical unplugged activities that might help to foster computational thinking have been shared below:
Code a Dance
Using pictures of different dance moves (click here for slides), choose the dance moves to create a dance. Students can choose numbers to decide how many times to perform each move if you choose. Play some music and dance! As an extension, students can code a dance daily and when a brain break is needed, dance! "Dance Party"
Code a Friend
In pairs, one student will be the robot and only move as instructed from partner. Switch roles.“My Robotic Friends”
Code a Path
Build a grid system using masking tape, floor tiles in your classroom, or transparent plastics. Print out pictures and place them on the grid system for students to code the pathway to reach a final destination. Want to make it more challenging? Try putting obstacles in their way to make them create alternative pathways. The key is to refine how the students use the grid to enhance the conversation about spatial motion. Students can use small plastic bears or Lego people to move along the grid. Laminate or use a plastic sleeve and students can draw arrows to show their code with dry erase markers. Make a variety of grids with different starts and finishes. "Kinders Who Code"
Code a Story
Use a laminated grid and have students place pictures of locations from a story (ex. the straw house, stick house and brick house from the Three Little Pigs) on the grid. As they retell the story, they move along the grid. "Storytelling"
Coding on a 100 chart
If you happen to have a 100 carpet of a paper chart, it's a great place to work on coding by moving +1, -1, +10, -10. Students code a path on a hundred chart and read their code to the class, telling them where to start. The class needs to figure out what number the students ended on.
As a variation of this activity, you can play "What's my number?".
Materials needed:
100 chart
Scratch block cards
Decide what number on which you will start. Chose the block cards to use and decide on the number of movements. Students will look at the code to determine the secret number.
Follow the Sequence
What does sandwich-making have to do with coding? If you do this hilarious sequence activity, you’ll find out! Making a simple sandwich may seem easy, but imagine having to write out the entire process, step-by-step, for someone else to follow. Creating a code for a computer to process is similar. Both require a person (the coder) to create a sequence, that if followed, will always produce the same product. This can also be done for activities other than sandwich-making. In fact, anything that comes with instructions such as furniture or technological gadgets detail sequences of steps to achieve a desired outcome. In actual coding, inputting specific symbols in a sequence influence the end result as well. Watch this family try the sandwich-making challenge:
Code a Dance
Using pictures of different dance moves (click here for slides), choose the dance moves to create a dance. Students can choose numbers to decide how many times to perform each move if you choose. Play some music and dance! As an extension, students can code a dance daily and when a brain break is needed, dance! "Dance Party"
Code a Friend
In pairs, one student will be the robot and only move as instructed from partner. Switch roles.“My Robotic Friends”
Code a Path
Build a grid system using masking tape, floor tiles in your classroom, or transparent plastics. Print out pictures and place them on the grid system for students to code the pathway to reach a final destination. Want to make it more challenging? Try putting obstacles in their way to make them create alternative pathways. The key is to refine how the students use the grid to enhance the conversation about spatial motion. Students can use small plastic bears or Lego people to move along the grid. Laminate or use a plastic sleeve and students can draw arrows to show their code with dry erase markers. Make a variety of grids with different starts and finishes. "Kinders Who Code"
Code a Story
Use a laminated grid and have students place pictures of locations from a story (ex. the straw house, stick house and brick house from the Three Little Pigs) on the grid. As they retell the story, they move along the grid. "Storytelling"
Coding on a 100 chart
If you happen to have a 100 carpet of a paper chart, it's a great place to work on coding by moving +1, -1, +10, -10. Students code a path on a hundred chart and read their code to the class, telling them where to start. The class needs to figure out what number the students ended on.
As a variation of this activity, you can play "What's my number?".
Materials needed:
100 chart
Scratch block cards
Decide what number on which you will start. Chose the block cards to use and decide on the number of movements. Students will look at the code to determine the secret number.
- students can write the number sentence that corresponds to the path provided
- students can write the code for a path they have created
Follow the Sequence
What does sandwich-making have to do with coding? If you do this hilarious sequence activity, you’ll find out! Making a simple sandwich may seem easy, but imagine having to write out the entire process, step-by-step, for someone else to follow. Creating a code for a computer to process is similar. Both require a person (the coder) to create a sequence, that if followed, will always produce the same product. This can also be done for activities other than sandwich-making. In fact, anything that comes with instructions such as furniture or technological gadgets detail sequences of steps to achieve a desired outcome. In actual coding, inputting specific symbols in a sequence influence the end result as well. Watch this family try the sandwich-making challenge:
Additional Unplugged Resources:
Coding and Curriculum
Where Does Coding Fit into the Curriculum?
Coding skills can be integrated into any subject area.
From a numeracy perspective, coding is a form of computational thinking. That is to say, writing code to solve problems requires logical reasoning, spatial awareness, and fundamental principles of mathematics.~ Brian Aspinall
Furthermore, Ontario’s Renewed Math Strategy focuses on seven mathematical process skills/expectations —the actions of doing mathematics— which include problem solving, reasoning and proving, reflecting, selecting tools and computational strategies, connecting, representing, and communicating. These mathematical processes are embedded in coding tasks that develop computational thinking skills.
From a literacy perspective, coding tasks require students to revise and edit their work, write and follow a procedure, decode and comprehend text, and communicate their learning. Coding to learn requires that students work collaboratively, persevere to overcome challenges, while developing Global Competencies, and learning skills outlined in Growing Success
Resources for Ontario Teachers
EduGains Coding in Elementary
Computer Coding in K-8 Math Curriculum Monograph
Canada Learns to Code
Khan Academy
TDSB Coding in the Elementary Grades
WRDSB Coding in the Elementary Classroom
Coding skills can be integrated into any subject area.
From a numeracy perspective, coding is a form of computational thinking. That is to say, writing code to solve problems requires logical reasoning, spatial awareness, and fundamental principles of mathematics.~ Brian Aspinall
Furthermore, Ontario’s Renewed Math Strategy focuses on seven mathematical process skills/expectations —the actions of doing mathematics— which include problem solving, reasoning and proving, reflecting, selecting tools and computational strategies, connecting, representing, and communicating. These mathematical processes are embedded in coding tasks that develop computational thinking skills.
From a literacy perspective, coding tasks require students to revise and edit their work, write and follow a procedure, decode and comprehend text, and communicate their learning. Coding to learn requires that students work collaboratively, persevere to overcome challenges, while developing Global Competencies, and learning skills outlined in Growing Success
Resources for Ontario Teachers
EduGains Coding in Elementary
Computer Coding in K-8 Math Curriculum Monograph
Canada Learns to Code
Khan Academy
TDSB Coding in the Elementary Grades
WRDSB Coding in the Elementary Classroom