Can you navigate your robot through an obstacle course without using vision? This group of high school students participating in a friendly coding competition. The North Carolina SAVVY program, a transition to college program, invited SAS employees to lead an accessible coding activity using CodeSnaps, the free iPad app and the Sphero robot. The challenges were led by three young men - two summer interns and a full time employee at SAS - who are all visually impaired.
For more information about CodeSnaps, see the first post, Coding Club Activity: SAS CodeSnaps and Sphero Robot. The first post describes the initial materials used, how to modify these materials and an introduction to the activity. Just like the students were taught to evaluate their code and adjust as needed, instructors also evaluated and revised their lessons. A few things were learned from the first group of students; these things were tweaked for second group of students.
Move Forward Code Blocks: The Code block cards were created using the same materials; however, all Move Forward cards were 1 meter cards. This eliminated the need to add the number of meters to each Move Forward card. Note: The printed code block comes with "00.0". A "1 meter" square (with it's QR code) was adhered on top of the second 0. When running the code, the Sphero moved forward 1 meter and stopped, making it easier for students to identify the Sphero's movements.
- If needed, Wikki Styx were placed in a straight line on the table to help align the code blocks and to keep the code blocks in place before scanning the blocks.
- Finish Line: A more visual and auditory finish line was created with a row of red solo cups. The Sphero would knock over cups as it crossed the finish line.
- Teams: For more hands-on time for each student, teams of two were used: Designer (determines the course layout and navigation) and Coder (writes the commands using code blocks). The Coder and Designer worked together to test the Sphero; Designer places the Sphero in the correct position on the Start line and Coder activates the program to run the Sphero. If there is an uneven number of students, the team with three students, has three positions: Coder, Designer and Tester.
- Used a yard stick instead of a meter rod.
Briefly discuss roles and how these roles apply to real computer science teams in companies like SAS. (Note: Of the three SAS instructors involved in teaching this activity, one works at SAS as a Tester and one interns at SAS as a developer (Coder). During this activity, these men explained their current jobs at SAS, their skill sets, job requirements and how their jobs fit into the team. (Learn more about Sean, a Coder SAS intern in this news interview.)
Explain that if help is needed, the team member needs to ask for help. If asking an adult (instructor), the team member must specifically guide the adult. Instructors: Do not jump in and help; only do exactly what the team member asks!
Give each team five minutes to come up with a Team Name.
Coders were taken to the back of the room or to another room while a simple course was set up. (Coders should not see or have access to the course; only Designers have access to the course.)
Course 1: White tape was placed on the dark floor in a straight line (Start/finish line). A trash can was placed about a 1 3/4s a meter out from the center of the line. Add a perpendicular tape line from the center of the Start line to the trash can. Set up a row of red solo cups spaced on or just in front of the finish line.
Instructor provides limited instruction to the Designers only; if Coders are in the room, instructions are whispered and/or Designers are walked through the course using Human Guide. (Note: Instruction should be general instructions - "Sphero starts at the Start/Finish line, goes around the trash can and then crosses the finish line." The Designer has to "walk" the course and determine the moves, distances, turns, etc. Provide the Designers with a yard stick.
Teacher Hint: Do not provide assistance. Let the Designer figure out how to use the yard stick, to ask a team member (other than the Coder) or someone outside the team to hold the yard stick if needed, etc.
Images below: First image shows the course. Second image shows two students using a yard stick to measure the course.
The Designer explains the course, including the measurements to the Coder. Using the accessible Code Blocks, the Coder "writes" the code by placing the correct code blocks (in this example, Move Forward and Left Turn blocks) in the correct order. Once the Coder is satisfied, he reads the blocks to the Designer to confirm that everything is correct.
The video below is of a Coder reading his code back to the Designer and their discussion about the code.
Once the team confirms the code blocks, the team asks a sighted person to scan the code blocks using the CodeSnaps app. (Scanning is currently not accessible.)
First image shows 7 code blocks depicting the Course #1 route with an iPad sitting on the table beside the code blocks displaying the CodeSnaps app. The second image shows a sighted adult scanning the code blocks with the iPad - two code blocks are currently displayed on the screen. Note: The sighter person should read off the code in the app and the Coder and Designer should confirm that the code blocks were scanned in correctly.
In the video above, the Sphero did successfully complete the run. However, this video was of their revised second run! As always, the team came together to problem solve and the Coder made changes to the code. During the first run, a sighted person verbalized the Sphero's moves. The second time, the students just listened - when in the room, students listened carefully as the Sphero moved forward 1 meter and made turns - on these courses, the students were able to identify what the Sphero did correctly or incorrectly. If running in a noisier environment, a commentary may be necessary.
Note: With a tech savvy group like these SAVVY students, increase the challenge by giving them a set time to accomplish their challenge.
Now that students understand the activity, let's increase the challenge by making it a timed challenge - make them hustle! Switch the jobs, so that each student has a chance to do each job.
Course #2 requires three trash cans or other objects. Use the same "T" shaped white tape that was used in Challege 1. The original trash can (1 3/4s meters from center of the Start line) is laid on it's side. Laying the trash cans over provides a bigger obstacle. (Note: Boxes would work better; we chose to use obstacles that are readily available in every school or training center.) On the far right edge of the Start line, another trash can is laid on it's side - near the right end of the Start line. The second trash can is laid on it's side to the left of the center line, close to the first trash can. The Finish line of red solo cups is on the far side of the first trash can, as an extended center line.
The Designer determines the route, where the Sphero will start from (along the Start line), take measurements as needed, etc.
Note: One team noticed the additional code blocks which included a spin command and incorporated a fancy spin into their route!
Create a working course and then have another team try to run your course. Be sure to create longer, more challenging courses! This works best if the room is large or if students can work in different rooms that are close by.
If time allows (or on Day 2), have the students create more challenging courses. Provide the students with a variety of manipulatives and ask them to create a course that includes a tunnel, bridge, pass through, crash pyramid, teetor-totter, etc. Be sure to provide materials that will create auditory feedback (such as the cups on the Finish line). Materials might include bells, beads (and fishing wire to string the beads), etc. Can the students build a pyramid that the Sphero has to crash into? (pyramid of cups, stacked cards or ?) Can the Sphero run over different surfaces that might make noise without impacting the Sphero's ability to travel a full Meter?
Extra points given for the most unique obstacle such as a "catch" obstacle (in which the students have to set a trap to catch and contain the Sphero as the Finish line) or an obstacle that makes the most interesting sound.
Assign each obstacle points. Teams will compete against each other. Identify the point system - does the Sphero have to be successful to earn the full points or can the team earn partial number of points if the Sphero runs off course after the obstacle? Does the team earn points for the Sphero completing the course?
Bring what you have - items on this list are not mandatory. Be creative! What can you use?
- short PVC pipe and elbows
- dowel rods (different lengths)
- different textured objects (metal, glass)
- different flat textures (for Sphero to run over)
- different shapes (different 3D blocks)
- Lincoln Logs
- wood scraps
Teachers if your students create interesting courses, please take pictures and share them with us!