Message Boards Message Boards

Free Wolfram Language on Raspberry Pi tutorial

NOTE: the main tutorial notebook is attached at the end of this post and can be downloaded by clicking here.


I wanted to share the attached Mathematica notebook that I created for teaching kids (ages 9-14) about the Wolfram Language on the Raspberry Pi. It has a simplified (and colorful) interface for students and easy editing tools for teachers to create new content (even those with little or no experience using Mathematica). I am extremely grateful for the efforts of Anna Musser who very patiently helped me refine the interface over many iterations and piloted the first workshops using this notebook at Empow Studios!

It includes a self-paced tutorial designed for beginning programmers who are young or young-at-heart. It also includes instructions for authoring your own tutorials. The interface is minimally dynamic so the tutorial will run as smooth as possible on the Raspberry Pi model B; if there is interest, then we could build a prettier dynamic interface for more powerful hardware. Please comment below with any improvements/changes that you would like to see and of course please comment or upvote if you find this useful or interesting :)


Sample of the attached tutorial:

enter image description here

COMPLETE TUTORIAL NOTEBOOK ATTACHED BELOW

Attachments:
POSTED BY: Kyle Keane
14 Replies

Dear Sir,

Thank you for your suggestions!

I'll let you know if I need any help and I'll surely post anything I create.

Best regards,

Anmol

POSTED BY: Anmol Dhaliwal

Dear Sir,

The tutorial notebook is fantastic! I would have really liked to use this notebook for learning Mathematica, and will endeavor to create something similar myself in an appropriate project!

I'd love to pass this notebook on to some of my friends who have Raspberry Pis and would like to learn the Wolfram Language!

Best regards,

Anmol

POSTED BY: Anmol Dhaliwal

Hi Anmol, you can edit my tutorial to customize it and create your own content, just switch to the TEACHER MODE, then write your own curriculum in the same style using the menus that appear for inserting new content. Please do let me know if this is not clear and please do post anything you create so we can all see :-)

POSTED BY: Kyle Keane

enter image description here - Congratulations! This post is now a Staff Pick as distinguished by a badge on your profile! Thank you, keep it coming!

POSTED BY: Moderation Team

Hello Kyle:

I really like this. Even if it is not related to Raspberry Pi!

First, your attention to the pedagogical issues like the following is very important.

cognitive load emotional landscape power dynamic

Next I think the way it builds complexity and exposes the power of the language gradually is impressive.

Thanks for making this and I will try to use an approach like this in my efforts.

Regards..

POSTED BY: Aeyoss Antelope

Hi Aeyoss, I'm so happy you like it! You made me chuckle, it's totally true that the content I put in this tutorial doesn't include anything specific about the Raspberry Pi. This was for a class on the absolute basics of programming. I did put some effort into making sure it would run smoothly with the cpu limitations and building the author mode (top left view menu) to let others create new content.

On that note, if you switch the notebook to author mode, then you can add pictures by pasting them into READ cells. I know some folks have used this method to create step by step guides (with images of the circuits) about wiring up the raspberry pi (with the pi cobbler) to collect sensor data using the gpio pins and DeviceRead. I will actually be using this method to create curriculum for a "maker" seminar this Fall. If you're .interested, I can share an example here when I get a chance to put some materials together (probably late August).

Stay in touch and keep us updated about your efforts!

POSTED BY: Kyle Keane

Interesting about the "cognitive load" re the shift-return execution requirement. No question it's contrarian to everything else the kids know.

I'm reminded of teaching programming using Fortran in a previous life. I wanted to ignore format statements as lacking in any redeeming value; but, of course, this is what the students wanted to know about and rightly so to get their homework done.

I've never resolved how I would teach Fortran differently now. But, per above, I think your initial focus on Notebooks when teaching Mathematica is the right thing, absolutely.

Not for nothing is the first thing in the C programming book the "Hello World" program.

-_Mark

POSTED BY: Mark Tuttle

Just want to reinforce your implied observation - the best way to start Mathematica instruction is with Notebook basics and emphasizing that the students should not just blow this step off because they think they are beyond it.

POSTED BY: Mark Tuttle
POSTED BY: Kyle Keane

Nice work, Kyle. I might suggest that the next step is to integrate Next Generation Science Standards into the notebook, which would help science teachers identify where and how this activity fits into their instructional delivery. Another big burden on instructors is developing concrete learning objectives and assessment tools to measure whether or not the learning objectives are met. Having a "full package" for teachers to use or modify makes adoption much more feasible.

POSTED BY: BoB LeSuer
POSTED BY: Kyle Keane

This is amazing! I'm a director of an after school program which teaches video game design, stop motion animation, robotics and basic coding. This notebook is perfect for children who are ready to move beyond drag and drop coding like Scratch and move into something a little more sophisticated. The interface is elegant and the content is easy to understand. I have already helped run a workshop for 4th and 5th graders using this notebook and it was a real success. Thank you so much for putting the time and energy into making this. I can't wait to play around with the tutorial and add my own content. I can already tell that this is going to be a helpful tool for future educational activities.

POSTED BY: Anna Musser

Thanks Sam!

The short answer - I'm not sure how long I have spent on this project thus far, but it is probably around 100 hours.

The long answer - This is a meandering skill-building personal project that is driven by an interest to help kids learn about technology and to help teachers develop cool curriculum. This project began in June when I led a workshop for 5th graders. I put together some code and text in a standard notebook for the first workshop. I guess it took me about 40 hours to put together the content, which included a few rewrites based on feedback from teachers (it could use another edit, review, proofing, and update).

During the workshop, I noticed that kids were struggling with the notebook interface, so I decided to build something that kids could use with less frustration while learning to code. It took me about 20 hours to put together my first attempt at a kid-friendly styled notebook. The styled notebook from that first attempt was completely redesigned after I got some awesome feedback about improving the interface from someone whom I respect greatly. The result of that feedback can be seen in the current version and took about 40 hours to incorporate.

POSTED BY: Kyle Keane

Nicely done - thanks for sharing! It probably is worth cross-posting at the related Wolfram forums at RPi site:

If they do not have file attachments it makes sense to link to this post.

How long did it take for you to develop this?

POSTED BY: Sam Carrettie
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract