We know that time is always in short supply and you'll want to integrate computer science into your content area. That's a great idea! We have advice to help you and your students be successful.
Big Idea - Be mindful of cognitive load. If both the device and the core content are new to students they will likely be overwhelmed with new information which can lead to overwhelm and frustration.
First, start with an activity to get familiar with the robot or physical computing device. Let students discover how to control and program the device. This might look like getting the BeeBot to move forward, backward, and turn. Or, it might look like helping students explore the different parts and purposes of a micro:bit and explore the MakeCode coding platform.
After students are familiar with how to use a device, then you can begin integrating computer science with core content. The diagram to the right from Rebecca Dovi of CodeVA is a nice way to conceptulize ways you might integration instruction.
Image created by Rebecca Dovi, CodeVA
🤔 Want to learn more? Check out Cognitive Load Theory from pg 20 of Hello World’s The Big Book of Computing Pedagogy
Robots and physical computing devices are objects that don't have a gender. Being intentional about using the device name instead of gendered pronouns like "he" or "she" help students to understand that robots and physical computing devices are designed and controlled by people and not capable of independent thinking.
Think about it - Notice the gendered pronouns that are used for robots and physical computing devices. People typically use male gendered pronouns for devices. While not intentional, this sends students the message that devices are male and not female.
Icon-based languages (like ScratchJr, FinchBlox or EdBlocks) use graphical objects or icons to represent the function of each block. The blocks link together, typically in a horizontal line, to create a visual representation of a program.
This is ideal for early childhood and students learning to read. Icon-based languages allow language learners access to computer science concepts no matter their reading ability.
Block-based languages (like Scratch, MakeCode or Blockly) use blocks with limited language to represent the function of each block. The blocks snap together, typically in vertical lines, to create a visual representation of a program.
This is ideal for students that can read to learn. Block-based languages allow students to focus on learning coding concepts by removing the syntax and structure of text-based languages.
Block-based languages can be used as a tool to prototype projects by students learning text-based languages.
Text-based languages (like Python, JavaScript or HTML) use characters that follow syntax (structure and rules) specific to each language.
This is ideal for students with foundational knowledge of programming concepts and vocabulary. Text-based programming languages are used in professional settings should be used for students pursuing computer science in their post-secondary plans.