Connecting Educational Robotics to Computer Science
Robotics is not only the future, but it is also the present. By familiarizing students with programming, sensors, and automation, they hone critical computational thinking skills needed to succeed in both the 21st century's workforce and everyday life. Academically, educational robotics affords a wide variety of learning opportunities because the discipline has STEM (Science, Technology, Engineering, and Math) and even STEAM (Science, Technology, Engineering, Art, and Math) as its prerequisites. Educational robotics is always interdisciplinary in ways that are tangible and applicable to students. Additionally, activities involving educational robotics necessitate that students collaborate, think computationally, troubleshoot (identify and solve problems), and innovate - all fundamental skills for 21st-century professionals.
Robotics relies heavily on computer science for its programming and software capabilities. Educational robotics highlights this for students by making programming more tangible as they interact with physical robots, and as their robots interact with each other and/or with the environment. Educational robotics can be used to further hone students' skills in program planning, pseudocode, flowcharts, and computational thinking. A physical robot engages students to think about how digital information is stored, processed, communicated, and retrieved.
Tips, suggestions, & some potential standards to target
- Organize your classroom to facilitate project-based learning (PBL) and have students collaborate in teams to complete the project. Provide rubrics for both collaborative efforts and for the deliverable project at the beginning of the project so that students recognize your expectations.
- Have students use journals, scheduling charts, and other planning tools to plan and execute project development. Teams should document design decisions using text, graphics, presentations, and/or demonstrations in the development of complex programs (CSTA Standard: 3A-AP-23).
- Remind students at the start of an open-ended project that there will be more than one "correct" solution and that constructive criticism is intended to improve projects not to criticize them.
- Ask questions of students that will help them to consider prior knowledge learned in this and other classes.
- Let your students' math, technology, or other teachers know what students are working on in your class so that they might assist and/or provide guidance and suggestions.
- Introduce projects that prompt student teams to solve problems through designing and/or programming a robot (CSTA Standard: 3B-AP-09). When possible, let teams choose and define a problem to solve for themselves based on their interests (CSTA Standard: 3A-AP-13). Teams should design and iteratively develop their computational solutions by using events to initiate instructions (CSTA Standard: 3A-AP-16).
- Do not solve problems that arise for teams. Instead, help them to develop systematic troubleshooting strategies to identify and fix their own errors (CSTA Standard: 3A-CS-03). Encourage teams always to use a series of test cases to verify that a program performs according to its design specifications (CSTA Standard: 3B-AP-21). Guide students through the practice of a step-by-step analysis of the program and the unexpected to-be-fixed behavior(s).
- Encourage students to look for multiple ways to solve a problem. With regard to troubleshooting, create an atmosphere of learning where students are expected to "fail" at first. "Failing forward" is a valuable life skill.
- When teams complete prototypes, have them present their work to the entire class and have the class serve as hypothetical users (CSTA Standard: 3A-AP-19). They can then follow a software lifecycle process to develop them further (CSTA Standard: 3B-AP-17). This will allow teams to evaluate and refine their programs and robots to make them more usable and accessible (CSTA Standard: 3A-AP-21).
- Allow your students to use any collaborative tools available during the development process (CSTA Standard: 3A-AP-22). Those tools could even include social media especially if those platforms increase the connectivity of people in different culture and career fields (CSTA Standard: 3A-IC-27). For example, teams might set up a Skype call to present their projects to students in other classes for feedback.
- Have your students hone their skills in thinking critically about algorithms in terms of their efficiency, correctness, and clarity so that they can provide better feedback to their own and other teams (CSTA Standard: 3B-AP-11). One way to do this is to lead a discussion in which you evaluate the key qualities of a program through a process such as a code review (CSTA Standard: 3B-AP-23).
- Use educational robotics as an opportunity to highlight the physicality of complex problems like moving through a maze or carrying out sequences of behaviors around the classroom. Being able to visually locate and isolate components of a larger problem to be solved will help students hone their skills in decomposing problems into smaller components and apply constructs such as procedures, modules, and/or objects (CSTA Standard: 3A-AP-17). Further, highlight the generalizable patterns in the complex problem that can then be applied to a solution (CSTA Standard: 3B-AP-15).
- Use educational robotics to highlight the ways in which computing systems impact personal, ethical, social, economic, and cultural practices through readings, presentations, etc. (CSTA Standard: 3A-IC-24) that also describe how artificial intelligence drives many software and physical systems (CSTA Standard: 3B-AP-08). A good follow-up to such class sessions would be to ask students to predict how computational and/or robotics innovations that we are currently dependent on might evolve to meet our needs in the future (CSTA Standard: 3B-IC-27).
Links to sample activities