Coder Sports partnerships with our local school boards extends from JK through 11th grade. Our Coding in the Classroom outreach program is always in high demand at elementary and middle schools, while our Engineering Leadership Co-Op Program offers 10th and 11th grade students interested in STEM careers a real world, hands on experience in engineering dev teams.
We are always seeking out new and exciting opportunities to help children learn to love to code. As Computer Science education becomes more and more accessible to younger and younger children, our curriculum development teams receives requests for assistance in crafting innovative and engaging curriculum focused on helping teachers achieve their learning objectives in every grade.
Here is a sample of our curriculum approach.
Title: Introduction to Coding for Kindergarten Students Using the PRIMM Framework
Course Curriculum:
Introduction:
This course curriculum is designed to introduce kindergarten students to a variety of coding concepts using the PRIMM (Predict, Run, Investigate, Modify, and Make) framework. The curriculum will be integrated into the overall teaching approach for kindergarten age children and include hands-on crafts and activities that explore age-appropriate learning objectives in various computer science topics.
Lesson 1: Understanding Algorithms
Objective: Students will learn the concept of algorithms as a series of step-by-step instructions to complete a task.
- Predict: Introduce algorithms using everyday examples like making a sandwich or brushing teeth. Encourage students to predict the steps required for these tasks. Use visual aids like cards with pictures to help students visualize the steps.
- Run: Demonstrate a simple craft activity, such as making a paper chain, and explain each step as an algorithm. Show students a completed paper chain and walk them through the process step by step.
- Investigate: Allow students to create their paper chains, discussing how they followed the algorithm to complete the task. Encourage students to share their experiences with the class.
- Modify: Discuss any difficulties students encountered and brainstorm ways to improve the algorithm. For example, clarify the instructions or provide additional examples.
- Make: Have students create a new algorithm for a different craft, like folding a paper airplane or making a bead necklace. Encourage them to write or draw the steps and share their algorithms with the class.
Lesson 2: Sequencing and Order
Objective: Students will understand the importance of order in algorithms and develop basic problem-solving skills.
- Predict: Discuss the importance of following steps in a specific order to complete tasks successfully. Use examples from daily life, like getting dressed or setting the table, to illustrate the concept.
- Run: Introduce a hands-on activity that emphasizes sequencing, such as arranging numbered cards or putting together a simple puzzle. Demonstrate the activity to the class, explaining the importance of order.
- Investigate: Allow students to work on the sequencing activity and share their thought processes with the class. Encourage them to think aloud as they work, discussing their decisions and challenges.
- Modify: Discuss any challenges students encountered and brainstorm ways to improve the activity. For example, simplify the task or provide additional guidance.
- Make: Have students create their sequencing activity, such as arranging colored shapes in a pattern or organizing a story with pictures. Encourage students to share their creations and explain the order they used.
Lesson 3: Introduction to Events and Actions
Objective: Students will learn about events and actions as triggers for specific behaviors in a program.
- Predict: Introduce events and actions using examples like pressing a button to turn on a light or tapping a drum to make a sound. Encourage students to predict other examples of events and actions from their daily lives.
- Run: Demonstrate a hands-on activity involving events and actions, such as a simple cause-and-effect toy or game. Show students how pressing a button, for example, causes a specific action, like a sound or light.
- Investigate: Allow students to explore the activity, identifying events and actions and discussing their relationships. Encourage them to think about other examples of events and actions they encounter every day.
- Modify: Discuss any challenges students encountered and brainstorm ways to improve the activity. For example, provide additional examples or clarify the concepts.
- Make: Have students create their event-action activity, like designing a pop-up card that reveals a surprise when opened or a simple Rube Goldberg machine that performs a task when triggered.
Lesson 4: Exploring Patterns
Objective: Students will identify and create patterns as a way to understand repetitive structures in coding.
- Predict: Introduce patterns by discussing examples from daily life, such as patterns in clothing or music. Encourage students to predict other examples of patterns they encounter regularly.
- Run: Demonstrate a hands-on activity that involves creating patterns, like arranging colored blocks or beads. Show students a completed pattern and explain how it repeats.
- Investigate: Allow students to create their patterns and discuss the structure and organization of the patterns. Encourage them to compare their patterns with those of their classmates.
- Modify: Discuss any challenges students encountered and brainstorm ways to improve the pattern concept. For example, simplify the task or provide additional guidance.
- Make: Have students create a new pattern activity, such as drawing repeating patterns or choreographing a dance with repeating steps. Encourage students to share their creations and explain the patterns they used.
Lesson 5: Basic Debugging and Problem Solving
Objective: Students will learn the basics of debugging and problem-solving by identifying and fixing issues in simple algorithms.
- Predict: Discuss the concept of debugging and its importance in coding. Use examples like fixing a toy that isn’t working or finding a mistake in a drawing.
- Run: Demonstrate a hands-on activity with a “broken” algorithm, such as a set of mixed-up instructions for a craft or game. Show students the incorrect result and explain that there is a mistake in the algorithm.
- Investigate: Allow students to work on identifying and fixing the issues in the algorithm. Encourage them to think aloud as they work, discussing their decisions and challenges.
- Modify: Discuss the challenges students encountered and the strategies they used to debug the algorithm. Brainstorm additional ways to approach debugging and problem-solving.
- Make: Have students create their debugging activity, such as designing a simple obstacle course with intentional mistakes that need to be fixed. Encourage students to share their creations and discuss the debugging process.
Lesson 6: Introduction to Conditional Statements
Objective: Students will learn about conditional statements as a way to make decisions in a program.
- Predict: Introduce conditional statements using real-life examples, like choosing an outfit based on the weather or picking a snack based on hunger levels. Encourage students to predict other examples of conditional statements from their daily lives.
- Run: Demonstrate a hands-on activity involving conditional statements, such as sorting objects based on their characteristics (e.g., color, size). Show students how decisions are made based on specific conditions.
- Investigate: Allow students to explore the activity, discussing the conditions they used to make decisions. Encourage them to think about other examples of conditional statements they encounter every day.
- Modify: Discuss any challenges students encountered and brainstorm ways to improve the activity. For example, provide additional examples or clarify the concepts.
- Make: Have students create their conditional statement activity, like designing a choose-your-own-adventure story or a simple decision-making game. Encourage students to share their creations and explain the conditional statements they used.
Lesson 7: Collaborative Coding and Teamwork
Objective: Students will practice collaboration and teamwork in a coding-related project.
- Predict: Discuss the importance of teamwork and communication in coding and computer science projects. Share examples of famous collaborations in technology, like Steve Jobs and Steve Wozniak.
- Run: Introduce a collaborative hands-on activity, such as building a large structure with blocks or creating a mural with repeating patterns. Explain the importance of working together and sharing ideas.
- Investigate: Allow students to work in teams to complete the activity, emphasizing communication and collaboration. Encourage them to share their experiences and challenges with the class.
- Modify: Discuss any challenges students encountered and brainstorm ways to improve teamwork and collaboration. For example, discuss the importance of listening to others’ ideas and taking turns.
- Make: Have students design their collaborative coding project, like creating a class animation or a shared story with branching paths. Encourage students to share their projects and discuss the teamwork and communication skills they used.
Lesson 8: Introduction to Loops Objective: Students will learn about loops as a way to repeat a series of actions in a program.
- Predict: Introduce loops using real-life examples, such as singing a song chorus or walking around the block multiple times. Encourage students to predict other examples of loops they encounter regularly.
- Run: Demonstrate a hands-on activity that involves loops, like stacking cups in a repeating pattern or creating a bracelet with a repeating design. Show students how the pattern repeats and explain the concept of loops.
- Investigate: Allow students to create their loop-based projects and discuss the structure and organization of the loops. Encourage them to compare their loops with those of their classmates.
- Modify: Discuss any challenges students encountered and brainstorm ways to improve the loop concept. For example, simplify the task or provide additional guidance.
- Make: Have students create a new loop activity, such as drawing a picture with repeating elements or making a dance routine with repeating moves. Encourage students to share their creations and explain the loops they used.
Lesson 9: Basic Functions and Modularity
Objective: Students will learn the concept of functions and modularity in coding, allowing them to reuse and organize their code.
- Predict: Introduce functions and modularity using real-life examples, such as a reusable grocery bag or assembling a toy from separate parts. Encourage students to predict other examples of functions and modularity in their daily lives.
- Run: Demonstrate a hands-on activity that highlights functions, like creating a modular toy or puzzle that can be assembled in different ways. Show students how each part can be used repeatedly in various configurations.
- Investigate: Allow students to work with the modular toy or puzzle, discussing the importance of reusability and organization in coding. Encourage them to think about other examples of functions and modularity they encounter every day.
- Modify: Discuss any challenges students encountered and brainstorm ways to improve the activity. For example, provide additional examples or clarify the concepts.
- Make: Have students create their function and modularity activity, such as designing a paper doll with interchangeable outfits or a set of building blocks that can be used to create different structures. Encourage students to share their creations and explain the functions and modularity they used.
Lesson 10: Creative Coding Projects
Objective: Students will apply the concepts learned throughout the course to create their coding-related projects.
- Predict: Discuss the importance of creativity and innovation in computer science. Encourage students to brainstorm ideas for projects that combine the coding concepts they have learned.
- Run: Share examples of creative coding projects appropriate for kindergarten students, such as stop-motion animations, interactive stories, or simple games. Explain how these projects incorporate the coding concepts learned throughout the course.
- Investigate: Allow students to work on their creative coding projects, either individually or in groups. Encourage them to ask questions, share ideas, and collaborate as needed.
- Modify: As students work on their projects, discuss any challenges they encounter and brainstorm ways to overcome them. Provide guidance and support to help students refine their projects.
- Make: Once students have completed their projects, organize a showcase or presentation event where they can share their work with the class, teachers, and parents. Encourage students to explain the coding concepts used in their projects and discuss the creative process.
Conclusion:
This curriculum, based on the PRIMM framework, provides kindergarten students with a solid introduction to computer science concepts, including algorithms, sequencing, events and actions, patterns, debugging, conditional statements, collaboration, loops, functions, and modularity. The hands-on activities and creative projects ensure an engaging and age-appropriate learning experience, laying the foundation for future exploration and success in computer science. Teachers can adapt and extend these lessons to cater to their students’ needs, fostering a love for computer science and developing essential problem-solving and critical thinking skills.