DMCC Presentation: SPRKing Student Interest in STEM

I’m excited to be presenting at the 2018 DMCC (Design and Maker Class Colloquium) at Windward School in Los Angeles on May 12.

My session description:

Come explore the Sphero SPRK+ Robot as an interdisciplinary tool for introducing design, coding and data collection into your STEM curriculum. In this hands-on workshop, you will design, build and code a Roman chariot (that’s humanities!) for your Sphero and then analyze the data collect to develop an understanding of science concepts such as kinematics, Newton’s Laws and rotation. You will leave with a collection of coding activities that work across disciplines and across grade levels.

For download, the workshop materials.

Hour of Code, Part 2

For the second part of Hour of Code in Physics, students used the native Sphero language to program their SPRK+ through an “obstacle course” of their own design.  


3’ x 3’ square of white paper

Sphero SPRK+


Sphero Edu App

Blue painters tape

Terrain Park

Jump Ramps

Sphero Maze Tape


Sphero Block Language

The Sphero coding language is very much like Scratch.  Note: You can log into and edit your programs on your phone as well.  You cannot do it on your desktop.

Of importance to you for this activity are the following categories:

  • Movement (roll, stop, speed, heading, spin, raw motor, stabilization)
  • Light and Sound (Main LED, Sound, Speak, Fade, Strobe, Back LED)
  • Controls (Delay, Loop, Loop Forever, Loop Until, If Then, If Then Else, Exit Program)
  • Events (On Collision, On Land, On Freefall, On GyroMax, On Charging/Not Charging)

The Sphero language is tap, drag and drop.  From the block language, you can also get the JavaScript Code.

Steps to Success

While it is tempting to just start coding, planning your course and determining your code ahead of time will be very helpful.


  1. There is no right or wrong with this activity.  You are “right” if your code what you want it to do.  You are “wrong” if your code does not.
  2. You can have a “theme” if you so chose (i.e., “You’re watching Disney Channel”)
  3. If you need to work on this outside of class, please let me know in advance.
  4. Make sure you charge your SPRK+ and iPad at the end of every class.


By the end of class on Tuesday

  1. On a small piece of paper, sketch out the route for your SPRK+.  It should be to scale and it should include all obstacles and other events.
  2. Construct your obstacle course on the white paper.  
  3. Use Post Its to plot out what you need to code.  Using Post Its is helpful because you can move them around.  These two steps should be done before you start coding.

By the end of class on Thursday

  1. “Write” your code in your app.
  2. Begin testing your code.  Does your SPRK+ follow the route you want?

By the end of class on Monday

  1. Troubleshoot and finalize your code.

By the end of class on Wednesday

  1. Collect your data.

What To Turn In

  1. Screen capture of your program.  (Upload to Dropbox folder and Instagram)
  2. Overhead shot of your obstacle course.  (Upload to Dropbox folder and Instagram)
  3. Overhead video of your SPRK+ completing your course.  (Upload to Dropbox folder and Instagram)
  4. Your data (as a CSV file)  (Upload to Dropbox folder)
  5. Your JavaCode (copy and paste into a Google Doc and share it with me)

Make sure all of your documents are named:  17HPhysGroup#DocumentName.


Of Interest

I found it interesting to see how each section approached this activity.  One section focused on their obstacle course first, sketching it out and then figured out how to code it.  The other section started playing with functionality first and then developed an obstacle course based on their understanding of the functionality.


Sample Student Obstacle Course

One group based their course on the Disney Channel show, The Suite Life of Zack and Cody (which I renamed Zack and Coded).

Video of SPRK+


Sample Code

Where Do We Go From Here?

For many of the students in the class, they had no experience with coding.  So this set of activities gave them a solid introduction to coding.  And because these activities were done at the end of the semester and with no formal assessment, there was no stress for the students – they could simply just explore and “play.”

In two weeks, we’ll be heading down to the Apple Store for a workshop on coding with Swift.  This will set the stage for the final project for the course.  Stay tuned!




The Challenge of the Class Participation Grade/Course Evaluation

One  of the challenges I have as a teacher is assessing “class participation” for students.  I’ve tried a number of methodologies, including:

  1. A subjective assessment of up to 30 points, based on student’s participation in collaborative learning exercises (like whiteboarding) and labs.
  2. Scoring engagement with up to five points a day that included homework submitted/work submitted on time, actively engaged in class by raising your hand, etc.

Both of these approaches are subjective.  And the second one, I didnt find manageable at all.  I think I made it through about a month and that was the end of that.

In terms of the course evaluation, some teachers use a series of questions with a 1 to 5 scale.  I’ve tried a short survey with “what did you like about the class?”, “what were your challenges?”, and “what can I do to help you?”  These didn’t particularly work either.

This semester I decided to merge the two.

Approximately one month before the end of the semester, students receive the evaluation form as a Google Doc.  Separately, I made some notes about their strengths and weaknesses, along with other observations, and I gave them a generic “participation grade.”  That grade, totally subjective.

The evaluation questions were:

  1. What successes did you have in this class first semester?  Use three sentences or less.
  2. What strategies did you use to ensure success?  Use three sentences or less.
  3. In what areas were you challenged in this class?  Use three sentences or less.
  4. What strategies did you use to deal with those challenges?  Use three sentences or less.
  5. How can I assist you in either ensuring success or overcoming challenges second semester?  Use three sentences or less.
  6. What one project or class assignment from this semester are you most proud of or that resonated with you the most?  Use three sentences or less.
  7. Describe your work ethic outside the class.  Use three sentences or less.
  8. Describe your work ethic in class.  Use three sentences or less.
  9. Describe your ability to collaborate with your peers (both in class and out).  Use three sentences or less.
  10. Describe how your success in this class reflects your mastery of the material.  Use three sentences or less.
  11. What grade would you give yourself for student engagement this semester?   (Note: choices – 95, 90, 85, 80, etc).
  12. Justify your grade in less than three sentences.

Some interesting themes emerged.

  1. Almost without exception, the student’s view on their strengths and weaknesses matched my observations.
  2. Almost without exception, the student’s engagement grade matched my engagement grade for them.
  3. Students liked being given a voice in their “participation grade.”
  4. I gleaned a lot of information about what worked and what didn’t work in class.
  5. Students were evaluating my performance without realizing that was what they were doing.

Their evaluation score counted for 75% of their student engagement grade (5% of their semester grade) while my evaluation score counted for 25%.

The survey also gave me a lot of information in writing their end of the semester comments!

Hour of Code: Part 1

As part of Hour of Code this year, students in my Honors Physics class used the Sphero SPRK+ to tie together their study of motion from first semester.  They started with using the Sphero Edu App to simply draw tracks for the SPRK+ to follow and then look at both the data collected by the sensors and the JacaScript code produced.  (Note: In part 2, they will move onto using the native Sphero block language and then, during 2nd semester, will master Swift).

The students were given this information and this challenge.


The Sphero SPRK+ is a small, spherical robot that you can program through drawing, through the native Sphero programming language and through Swift, the Apple programming language.


The Sphero also collects the following data:


  • Location (cm)
  • Orientation (degrees)
  • Gyroscope (degrees/second)
  • Accelerometer (g)
  • Velocity (cm/sec)
  • Distance (cm)


In the first part of this activity, you will learn how to set up your Sphero as well as how to create a simple maze (and record data at the same time!).


Procedure: Connecting Your Sphero SPRK+

  1. The SPRK+ uses bluetooth to connect to the iPad.  You can also connect the SPRK+ to your phone as well.
  2. Open the Sphero Edu app on the iPad.
  3. Sign into your group’s Sphero EDU account.
  4. Connect your SPRK+ to your iPad by tapping Connect Robot
  5. Select the SPRK+.
  6. Bring your SPRK+ near the iPad.
  7. Tap on Programs and then tap + to create a new program.
  8. Tap on Draw and name your program appropriately.
  9. Sketch any generic shape, like a circle or square.  Tap Start and see what happens.  
  10. Clear this shape.
  11. Create any simple or advanced pattern you wish.  Remember, the greater the diameter, the wider the path.  So think carefully about the footprint of the SPRK+ you wish to create.
  12. Settle on a final design.  Run your SPRK+.
  13. Take an overhead video of the motion of the SPRK+.  Instagram it and send me the video separately.
  14. Screen capture your Sphero desktop and Air Drop it to me.


Your Sensor Data and the Code

  1. Tap on the 3 dots in the upper right corner.  Select Sensor Data.
  2. Look at your data.  What do you notice about the motion of the SPRK+ in the xy-plane?
  3. Tap Download  CSV data and air Drop it to me.
  4. Now tap JavaScript Code.
  5. Tap Copy Code and paste it into a Note.  Use // to add a comment with your group number at the top.  Air Drop the Note to me.

A short video



One of the Sketches

And some of the code


Using MapPath to Study Motion

MapPath is an easy-to-use app allowing you to record your trips. It displays your track, your position and live information such as your speed, altitude or average speed. MapPath is also an utility that allows you to establish directions, measure distances, surface areas and perimeters by dragging pins (points) on the map.

MapPath is also a very cool App for students to use to study motion.  Whenever I’m in Los Angeles, I try to MapPath some of my trips in my rental car.  Why Los Angeles?  Well, first, I’m in LA a lot and second, it removes any pre-conceived notions about motion.

For example, here are two screen caps for trip from El Segundo to Topanga.

In the first map, students can see the route I took from El Segundo to Topanga.  I threw in a little trick by taking a side route and doubling back – this increased my distance traveled and altered my average speed but did not change my displacement or average velocity.  The maps can be exported to Google Maps or Google Earth so that my displacement can be measured.

In my second route, I traveled from El Segundo to Paramount Studios.  Students can use data here to compare it to my Topanga trip.  In addition, students can access a graph of speed v time within the app and thus determine where I may be accelerating or not.  Its actually pretty tough to generate a segment with constant speed – thats how sensitive the App is.

For my next trip, I plan to add a dashcam to create a video record to parallel my MapPath data.

You can download the activity here: MapPath Activity.