Teaching Machine Learning to Tweens

What Fun!

I had the privilege to teach Machine Learning to tweens at the Chattanooga Public Library on June 29, 2018. It was a blast. I used the great resources made available by Dale Lane at Machine Learning for Kids. Dale’s resources are fun, well laid out, and make a valid teaching point. He is using Watson and the MIT Scratch Language. I debated on using Dale’s resources as I would have to learn Scratch. However, learning Scratch was worth the effort. I am now sold on Scratch for the young learner.

The big award, however, must go to Dale Lane. His resources teach a child how to use machine learning without killing them with how to MAKE machine learning. I told Megan Emery, Tween/Teen Programmer for the Chattanooga Public Library, that our goal was like teaching driving a car instead of teaching how to design an internal combustion engine. We would be teaching how to use ML and not how to make ML. Dale’s resources were a perfect tool. We had two 8 year old students that completed their project without ever seeing code before the day of the class.

Challenges of the Day

The biggest challenge was the wide range of age and experience of my students. I had the two sisters that had never seen code and I had a couple of students that loved to code. We had, as best as I remember, about a four year difference between the oldest student and the youngest student. So, I put some thought into developing a few resources to have available should I teach the class again. These are supplemental resources for the older or more experienced students. I am providing these resources here should anyone find them useful.

Node.js and Python versions of Make Me Happy

Our big project for the day was Make Me Happy. It was a good learning experience in Scratch. But, I had one student who loved Python and another one talking about JavaScript. It would have been nice to have the same project already coded in Node.js and Python to show the student how it would look.

I have done two trivial versions of Make Me Happy in both Node.js and Python. These versions assume that the student has completed the a Scratch version and their learning instance has already been in Watson.

These samples are completely bare bones. I could have used a web server such as Django for Python and Express for Node.js and made it graphical. However, the student would need to know these frameworks. So, I have stripped the code down to nothing more than the stock language with the only additional library being the Watson library necessary to talk to Watson.

  • The Python code is on Github here.
  • The Node.js code is on Github here.
  • The mobile Android code is on Github here (Note: right now the Android code is GUI only).

To use this code, the student will need to have the libraries for Watson loaded into their environment. IBM has that document here for Python. IBM has that documented here for Node.js.

Scratch example of Machine Learning

This would be a take home project for the older student that has a better understanding of mathematics. This is a seed for the student to complete. It uses multi-modal attributes to guess the outcome based on previous observational units.The goal is to get the student to understand the importance of calculating probability based on observational units and the adjust the probability with more experience.

Here is the use case. You want to go out and play. You have been have been recording:  “Is the temperature nice?”, “Is it daylight?”, and “Could you go out?”. Now, you want to guess how likely can you go out if you know the sunlight and the temperature.

Here is the little seed project on MIT Scratch.

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *

Teaching Machine Learning to Tweens


What Fun!

I had the privilege to teach Machine Learning to tweens at the Chattanooga Public Library on June 29, 2018. It was a blast. I used the great resources made available by Dale Lane at Machine Learning for Kids. Dale’s resources are fun, well laid out, and make a valid teaching point. He is using Watson and the MIT Scratch Language. I debated on using Dale’s resources as I would have to learn Scratch. However, learning Scratch was worth the effort. I am now sold on Scratch for the young learner.

The big award, however, must go to Dale Lane. His resources teach a child how to use machine learning without killing them with how to MAKE machine learning. I told Megan Emery, Tween/Teen Programmer for the Chattanooga Public Library, that our goal was like teaching driving a car instead of teaching how to design an internal combustion engine. We would be teaching how to use ML and not how to make ML. Dale’s resources were a perfect tool. We had two 8 year old students that completed their project without ever seeing code before the day of the class.

Challenges of the Day

The biggest challenge was the wide range of age and experience of my students. I had the two sisters that had never seen code and I had a couple of students that loved to code. We had, as best as I remember, about a four year difference between the oldest student and the youngest student. So, I put some thought into developing a few resources to have available should I teach the class again. These are supplemental resources for the older or more experienced students. I am providing these resources here should anyone find them useful.

Node.js and Python versions of Make Me Happy

Our big project for the day was Make Me Happy. It was a good learning experience in Scratch. But, I had one student who loved Python and another one talking about JavaScript. It would have been nice to have the same project already coded in Node.js and Python to show the student how it would look.

I have done two trivial versions of Make Me Happy in both Node.js and Python. These versions assume that the student has completed the a Scratch version and their learning instance has already been in Watson.

These samples are completely bare bones. I could have used a web server such as Django for Python and Express for Node.js and made it graphical. However, the student would need to know these frameworks. So, I have stripped the code down to nothing more than the stock language with the only additional library being the Watson library necessary to talk to Watson.

  • The Python code is on Github here.
  • The Node.js code is on Github here.
  • The mobile Android code is on Github here (Note: right now the Android code is GUI only).

To use this code, the student will need to have the libraries for Watson loaded into their environment. IBM has that document here for Python. IBM has that documented here for Node.js.

Scratch example of Machine Learning

This would be a take home project for the older student that has a better understanding of mathematics. This is a seed for the student to complete. It uses multi-modal attributes to guess the outcome based on previous observational units.The goal is to get the student to understand the importance of calculating probability based on observational units and the adjust the probability with more experience.

Here is the use case. You want to go out and play. You have been have been recording:  “Is the temperature nice?”, “Is it daylight?”, and “Could you go out?”. Now, you want to guess how likely can you go out if you know the sunlight and the temperature.

Here is the little seed project on MIT Scratch.

 

 


Leave a Reply

Your email address will not be published. Required fields are marked *