Cheers erupted when the girls’ team and then the boys’ team successfully coded their Sphero robots on a route around an obstacle. The Coding Club at the Governor Morehead School for the Blind in Raleigh, North Carolina had a stiff competition between the girls and the boys. The coding challenge was led by a team from SAS, the developers of SAS CodeSnaps app.
Note: These materials are for two coding teams. To keep every member actively engaged, it is recommended to have 2 – 3 students on a team.
Using the Gaffer’s tape, mark a Start/Finish line and place a trashcan several meters out from that line. (The GMS classroom allowed approximately 2.7 meters between the trashcan and the start/finish line.)
* Download and printable code blocks here.
Note: Only the code blocks listed above and the QR Code Numbers will be used in this activity.
The paper printed code blocks were modified to be more sturdy for users who are visually impaired. Cut out each printed code block. Using foam poster board, cut out the same size rectangle shape as each printed code block. Do NOT cut out the tabs – leave the foam board as a true rectangle. (The paper tabs should be cut out on the paper version – this will help students align the code blocks in a column (from top to bottom.) For a smooth cut, it is recommended to use an exacto-knife.
Before adhering the printed code, mark where the three QR code squares are at the bottom. Use a tool (can be a pencil) to score around each box, creating a tactile indentation in the foam board. Note: The Move Forward block has the default QR codes for “00.0”
Adhere the printed code block to the foam board using double-sided tape.
Using sticky backed clear labels, add braille to the direction (Move Forward in this example), decimal point and Meters. You can choose to laminate the printed code blocks and add braille using a Perkins Style Braille Writer. If so, it is recommened to laminate and braille the printed sheets BEFORE cutting the code blocks apart!
The small QR code number squares are not adhered to foam, as they will be placed on top of the QR squares on the Move Forward code block. In this example, the top left corner of the QR code number square is cut off. This indicates which way the code square should be placed. On the back of the QR code square, add the corresponding braille number. NOTE: Do not add the braille to the front of the QR code square, as that will interfere with the QR code scan! This example has the number 4.
Note: Student feedback said that they would like to be able to confirm the braille number without having to take the number off the Move Forward board. It might be possible to leave more space above or below the QR code number (making the QR number squares bigger) in order to add braille on the front of the square above or below the square but not overlapping the QR code?
The challenge is for students to determine the commands needed for the Sphero to successfully complete the course and to code those commands. The course is for the Sphero to travel to the trash can, go around (behind) the trash can, then cross the Start/Finish line.
Break the students into teams. The Governor Morehead Coding Club was dividing into two teams: boys team and girls team. Team members chose specific roles: Product Manager, Programmer, and Tester. Team members were encouraged to problem solve and work together – regardless of individual roles – as a team. Teams performed the activity primarily without assistance from the adults. The Project Manager is typically the job responsible for keeping things moving forward.
The Project Manager determined how many meters from the Start/Finish line to the trash can. (1 Meter dowel rod was the available measuring tool.) He also determined the route and turns.
The Programmer used the information gathered by the Product Manager to write the code using the code blocks. Placing the first code block (command) at the top, the Product Manager added each command in the correct order and placed the associated QR number (meters) on the Move Forward block.
The picture below is of the girls team’s first Sphero run:
The team should confirm the code.
Using the CodeSnaps app, a SAS team member scanned the coding blocks. Note: Scanning the coding blocks is not accessible. The scan requires that each QR code on each block to be captured in one scan. Once the iPad captures the first QR codes, the iPad has to be moved down the coding block column. Scanning requires vision to know when each QR code is captured and then to move down to the next group of QR codes.
NOTE: The last QR code is not always captured or a QR code might have been skipped during the scanning. Be sure to check that the code was captured correctly before running the code!
It is critical that the code on the app is read aloud (VoiceOver does work) and that the Programmer/team confirms that the app has the correct code. If there is a mistake, manually fix the code in the app. (For more information about the CodeSnaps app, see the CodeSnaps app post here.)
The video below shows the first Sphero run for the girls team. The Sphero travels to the trash can, turns left to behind the trash can, turn right (going off course) and then runs into the wall.
NOTE: A SAS staff member calibrated the Sphero (calibrating requires vision). A red Solo cup is placed over the Sphero. This helps students with low vision to see the Sphero and the cup adds an auditory clue for students who are unable to see the Sphero.
In a true engineering spirit, the girls discussed what happened and identified where the Sphero went off route. They debugged their code and tried again.
The initial Sphero run for the boys went out to the trash can, turned around (in place) and back to the start/finish line without going around the trash can.
This video demonstrates the guided debugging discussion. Ed Summers, who leads the SAS Accessibility team, discussed the Sphero route while a human guide led the Project Manager through the first Sphero route.
This video demonstrated how Ed helped a student debug the measurement issue by measuring the width of the trash can, estimate the measurement, and why that measurement needed to be included in the code.
This final video demonstrates the third Sphero run for the boys’ team. Success!
While we want students to be successful, part of the learning process is how to work as a team and how to problem-solve. On a more complicated route, it may be important for students to walk the course first. Since this is a simple course, students should take a first stab and then figure out what (if anything!) went wrong and then debug their code. (So, do not suggest to the students to walk the course first – let the student team figure out that walking the course might improve their success!) For students with visual impairments, there are often gaps in foundational knowledge that are easily addressed during hands-on activities like this.
There are many math and Orientation and Mobility concepts that are built into Sphero routes and coding!
By Diane Brauner