Mindstorms Academy?

An article in the most recent WIRED magazine got me to thinking about alternative methods (maybe even better?) for delivering training related to both robot building and programming. I was sort-of familiar with Khan Academy (I had watched a video or two a few years ago when someone told me about it) but never truly understood what I was seeing (and hearing) from the website.

If you're not familiar with Khan Academy please pause here and simply read the article and then watch this video... it will get you up to speed much better than I could possibly do so in a paragraph or two. After you've watched the video (or not if you're familiar with KA and its concept), hopefully you'll have an understanding of how the videos work and what the goals of KA are longterm.

I'm not here to debate the pros or cons of KA -- the site and its methodology are the subject of much debate already so let's not add to the noise here... my purpose for this post is not to discuss KA's videos but to pose a question to The NXT Step's audience as a whole:

Would it be possible to provide to those new to Mindstorms(teachers, students, parents) a collection of short videos (5 to 10 minutes max) that would introduce concepts such as The Loop block, Line Following and Object Detection?

Just as KA has a couple dozen categories (Pre-Algebra, Calculus, Economics, etc.), I can imagine a similar group of categories such as Programming Blocks and Basic Movements and Advanced Logic Control... the list goes on. The idea would be to create a standard format for how the videos look and how they are narrated... maybe even some standards on video format thrown in for consistency.

Just as many students who use the KA videos can go back over a difficult topic as many times as they like (without anyone looking over his/her shoulder) and review the content before moving on, I can imagine a similar set of videos being developed where relationships between videos are tagged so that novices don't watch a more advanced video before they've watched (and hopefully learned) the basic videos that contain the information the more technical subjects build upon.

Don't get me wrong -- I still think books are a great method for learning. But imagine rather than reading a page or two that describes how to drop in a MOVE block and tweak it for the various settings -- forward, reverse, power, coast, etc. -- that you can instead queue up a video that maybe shows the block being dragged onto the work area, a few tweaks made on the left side of the screen and a Tribot or other robot on the right side demonstrating the code in action. I also think there's something a bit more personal in having a narrator explain a concept, but probably not everyone will agree.)

Let's assume for a second that the video concept is favorable and enough people voice support. What next? I'm not a project manager, but I imagine that there would need to be some sort of formalized method for managing the videos -- this would likely need to be an individual or small group that would be responsible for not only assigning video topics but also viewing and critiquing them before they are released in the wild. (Of course, a "beta" video could also be released for feedback from the community.)

There are other matters that would need to be considered and decided on:

1. How would video of the NXT software be recorded?
2. Would the video capture software need to be consistent or could a list of acceptable applications be selected?
3. What language would the video narrator need to speak? I dislike assuming English, but then again this is an English-based blog and the majority of the audience are English-speakers.
4. Where would the videos be stored/hosted?

There may also be copyright/legal issues that I'm likely unfamiliar with, but given the purpose of these videos would be to promote Mindstorms and grow its user base, I would hope that there would be ways around these issues, especially if the goal isn't profit-minded.

There are thousands upon thousands of videos out there that show viewers how to solder, how to wire up all kinds of electronics, how to program in dozens of languages, and so many more. And yes, there are already videos out there that demo how to do various things with the NXT kit and its software, but what's lacking is organization and logical planning of the topics to be covered.

I'm very impressed with Khan Academy (and I'm even re-learning my Chemistry a bit at a time with the KA videos on the subject), and I can't help but think that the methodology he uses is perfectly suited for teaching Mindstorms.



Paulius Briedis said…

This is a great idea! I'm actually implementing a motivational system based on KA website in my Nxt classes, working great. Picking up an abandoned piece gets you +5pts, doing a task right +1000pts, being late -100, more often – overstaying -80 and so on :)

I'd love to contribute to the videos and even give assignments to do that to my students!
We here in Lithuania, started just last year are building an nxt that learns to walk by an evolutionary algorithm over this summer. Schoolchildren have programmed robots that walk a maze by q-learning, robo-hand controlled by face movements, sumo fights, moonbots, science fairs.. Would be fun to share some of that with you guys and get our lessons faster and more fun with your material!

It won't be a problem if there'll be a possibility to put on/ upload/ load some method else some subtitles. (youtube have them allright, just might be only an administrator can upload there).

As for screengrabbing – CamStudio recommended.
Damien Kee said…
I'm actually finishing up a video of my 'intro' worksheet, which covers all the basics of the move block.

We could post to youtube, but link and collate them all here :)
amy eguchi said…
Using YouTube, you can control the privacy setting... But the security issue is still unknown. But as long as there is no miner and/or the name(s) is not identified in the video, it should not be a problem... But I am not 100% sure since I am not an expert in this area...

Another item to be discussed is what programming language/platform to be introduced... (or make it specific to -- NXT-G, LVLM etc.)? (or was it part of the original post?!)
I'm OK to start this project, you could try to do, why We do not put some of the lessons and wait for the opinions of viewers.
I would also suggest that if YouTube is used that commenting be disabled as a requirement. Discussion of videos can be done somewhere else (forum?) and this would prevent non-kid-friendly comments from being posted.
222Doc said…
Comments at You Tube can be moderated a few ways. At mine, If you are a friend your post is added without moderation. Any other must be opproved. Much like here i think? There are many trolls at Youtube, my block list is huge. So if anyone tries to post an off color post, they are added to my list of infamy.
retrogamer said…
I think this would be great. Using NXT-G would be great for beginners and would help with FIRST Lego League teams. But other languages such as RobotC or NXC (among others)should be included as well. I would love to participate by helping create videos or in related tasks to get it going.

I also suggest camstudio but other software may be fine as well. We will likely want to limit the duration to say 3-5 minutes.
It is good to hear from you, Jim.

The idea resonates strongly with me; count me in on making videos. I've actually been planning for some time to make videos to teach how to use Enchanting, and even came up with a good theme for them. I like the idea of not limiting the videos to just the NXT, but allowing them for other robotics kits (and perhaps things like the Arduino and Scratch).

I believe a Creative Commons license is in order; this would allow others to legally remix or translate the videos. I would like to use a license such that robotics instructors running a (for-pay) course or workshop could use the materials; CC-BY-SA might be right.

It appears, interestingly enough, that some parts of the Khan Academy web application are open-source. link | link.

To address some of your other questions:

1. How would video of the NXT software be recorded?

- Produces will need a screencast program that records the screen and will need to be able to edit it to add video of their robot.

- Lighting and audio quality are other concerns.

- I like the thought of having a common intro sequence that thematically ties the videos together.

2. Would the video capture software need to be consistent or could a list of acceptable applications be selected?

- I like the list of acceptable applications (or better, heuristics that can be used to decide if an application is acceptable). I, for one, use ScreenFlow under Mac OS X, and really enjoy it.

3. What language would the video narrator need to speak? I dislike assuming English, but then again this is an English-based blog and the majority of the audience are English-speakers.

- For translation purposes, I wonder about recording the video without narration (and uploading a version that way), and then adding narration, would help translators (who could add their own voice track, but leave robot sounds intact). The onscreen text being in English might moot the point, but it would be easier than re-recording part or all of the screencast so as to translate it.

- If using YouTube, a translator can provide closed-captions for their language (just a special text file with time-codes and text), and get the video author to associate it with the video.

4. Where would the videos be stored/hosted?

- Due to network effects, YouTube is the place where there is the least amount of friction in people uploading or viewing the videos. It also provides for closed-captioning (mentioned above), and stores the videos in multiple resolutions (without the user needing to understand what transcoding is or how to supply the bandwidth or content delivery network to get the video to users).

- On the con side, some institutions block YouTube.

- It occurs to me that it might be nice to store original footage in a higher quality format. I don't have a great solution for that offhand.

If there is interest, I think the next step is starting a mailing list. Getting a google group up is a piece of cake. I do like your idea of a, what is the term in vogue now, "curated" experience, and the beta stream (with some sort of upvoting mechanism) sounds ideal. I for one would love to get feedback on my videos and how to improve upon them.

Here are some question to add:

- do we allow for comments and questions (and where)?
- do we want to provide building instructions?

I think this is a great idea. I'd love to see a resource like this, and am willing to help make it happen.

Clinton Blackmore
Dave Parker said…
Hi Jim,

Interesting, I have been thinking of doing exactly this for a little while now. I am also a fan of Khan academy and agree the format seems to be a good one to learn programming. I have experimented with Camtasia Studio and the quality is quite good on YouTube especially at 720p.

The main problem for me personally has been finding the time to get going on this! And the main logistical problem overall I can think of is that many schools block YouTube, as has been mentioned.
Webstorms said…
Hey Jim,

I love the idea - I suggest any screen recording software, as long as it records well. I use iShowU.

I believe there should be an applied theme to every video, making it standardized. For example an intro, with a title.

Every thing from programming all the way to mechanics and electronics should be covered in these courses.

I would love to contribute my knowledge I have gained since I've started out in this field. I volunteer to create a theme, tutorials in English and German in the fields of programming and mechanics.

I like the idea of commenting on youtube, yet a website, containing all the vids and a forum, is also a possible solution.

Before rolling the cameras, a mind-map should be established, of what the course should cover. I guess this should be discussed. + Their should be multiple inputs from people for the script of a movie.

You can contact me at: Webstorms@gmail.com

I love the idea

Regards Luke

PS: I'm in contact with the MINDSTORMS marketing team -- so if you would like this these vids to go viral and known (to the people the aimed at), you are more then welcome to ask them.
I have created a discussion group called "M Academy" to spearhead the project.

Drop on by to see what we're talking about, or join if you'd like to participate!
Graeme said…
I also admire the Khan Academy website. However when this concept as applied to the Lego Mindstorms NXT, there are some matters to be decided; e.g.:

1. Would the new NXT website evoke sufficient interest to make it worthwhile? I think yes. As evidence I offer my experience with my DrGraeme.net web site, portion of which contains over 800 instructional videos and 1600 images as part of some 30 free NXT-G tutorials. This website is trending towards 1.8 million requests this calendar year. So the interest is definitely there.

2. Should the new NXT website teach “a language” or “the engineering experience”? If a language, should it be a text-based language like NXC, RobotC, leJOS, NXT-Python, etc or one of the visual languages such as NXT-G, LabVIEW, the Microsoft Visual Language etc?

3. If a text-based language is used with mathematical examples, the website would be treading a well-known computer science path; provision of randomly generated drill and practice examples like those used in Khan’s website would be easy. Khan’s subject has the advantage that users of his site don't have to buy numbers. If we want users of the NXT site to also not have to purchase to use the site, then should we aim at a free text-based language? Perhaps NXC?

4. If a visual language is used, the website would have to be video heavy; 4 - 5 times more preparation work than text-based tutorials. As in point 3, if we want users of the new site not to have to purchase to use the site, then should we aim at a free visual language? Perhaps Microsoft Visual Language? However this has the disadvantage that it needs the NXT to be "tethered" to a computer to run, making it unsuitable for many Robotics competitions. Perhaps NXT-G?

5. What video standard is to be used? When I started DrGraeme.net some years ago, I used ".wmv" files because that was the only video standard that worked at all the schools I assisted. Now, I guess YouTube would be used.

6. If we wanted to teach "the Engineering Experience", then we would have to try to put the tutorials into some sort of scenario. That is what I've tried to do with the 2-hour NXT-G tutorial sessions in the DrGraeme.net website. The disadvantage of this approach compared with a language-based approach is that far more initial preparation and imagination is required. Reportedly Khan is able to add about three lessons per day to his website. In what little spare time I have, adding three tutorials often takes me two months!

7. Which human language would be used for the tutorials? At present Google Translate only works for printed material. Should this suggest that the instructional videos be highly visual, minimum speech, and a maximum of text backup, with Google Translate making the language of the web text immaterial? My experience with DrGraeme.net is that Google Translate reports translations of my web pages into 26 languages, so it works.

8. Khan’s subject has the advantage there are not new versions of numbers coming out every few years. Lego produces new Mindstorms sets every few years, and previous tutorial work can become largely irrelevant. For maximum effect, it is probably important to have a group of authors all contributing to the new website so that the tutorials would be available very shortly after the new sets arrive.

9. A vitally important part of Khan's website is his ability to report student’s progress to teachers – a revelation to many teachers. If the new website is to be similarly useful, then it probably should have the same sort of feedback mechanism.

10. Reportedly, to help finance his website, Khan was given $1 million by Bill Gates and $1.5 million by Google. I finance the Dr Graeme.net website myself using about 10% of my income. Unless the originators of the new website are prepared to contribute a similar amount, then they probably should see if they can source some income to keep the new website going.
All good fun!
garycordell said…
I used the ORTOP tutorials to get up to speed on NXT in a hurry:
It is a good
Gary Cordell
Tulare County Office of Education

Popular Posts