Technology Club for 5th graders

Last year I asked my wife if the grade school she worked at had any after-school technology related clubs. I remember getting an early start on computers and technology at home, so I was naturally curious what the schools were doing to intersect kids with technology these days. They didn't have one, and after talking about it, we thought it would be a good idea to try (especially given the emphasis on STEM these days).

We faced two significant barriers: the school didn't have after-school programs and there wasn't a lot of resources or existing stories from other teachers that we could find on Google.

To get the program we needed to plan the ideas and square away a few logistical things. First we started by writing a proposal for the technology club with a set of simple goals in mind that needed approval from the principle. Also, we had to come up with scheduling, cadence, structure for duration of a single meeting, permission forms for parents to sign, etc. We limited the scope to just 5th graders, and no more than 10 students (in the end, anyone who was interested was allowed to join) We had about 15 students. Also, we determined that six sessions every other week for an hour on Thursdays was the right amount of time.

We found stories of grade schools with lots of woven technology into regular studies, but not much on afterschool programs. That forced us to think about content. What are kids interested in, what's too complex, what are good gateway topics to get them more interested in other technologies, etc. Also, we didn't have much of a budget (it came out of our pockets), so purchasing materials and such was limited. This forced us to get creative and make this happen on a shoestring. Here are the topics we covered:
  • 3D rendering with Blender - It's open source and free, easy to run from a laptop and projector, and the students just loved setting scenes, creating animation, etc. Because it was free and open source, we were able to point the kids to the website where they could download it at home and try it for themselves (and a handful of them did!)
  • Take apart a computer - we had an old computer we brought in, we tore it down to the major components and explained how each one worked together (this is where creative analogies helped convey concepts). We even took apart the hard drive showing the apature arm, spinning disks and all (they really thought this was amazing).
  • Created a simple webpage - together as a group we created a basic HTML static webpage using Notepad++ and simply loaded it into Firefox. They total got the concept that the HTML markup translated to colors, paragraphs, images, and font sizes in the browser.
  • Sound editing with Audacity - it too is open source and free. We recorded audio, applied effects, created layers merging them together into a song, etc. The student participating in this one was very high. No one was bashful to speak into the mic. The highlight of this activity was teaching students to say their names backwards and then reversing it. They loved it and thought it was hilarious!
  • Renewable green energy - we bought a small science kit that explained wind, solar, and hydro energy. We spent 2 sessions assembling each set for the types of energy, doing experiments, and we explained the tradeoffs for each and why you would use one over the other.

Lessons we learned:
  • 80% will show up, each week a different set of students are present; it's good that each topic from week to week was not dependent on the previous week
  • There will always be a handful of students each session who parents will be late picking their kids up
  • Expressing technical explanations through analogies they would clearly relate to is important
  • Draw illustrations to explain things
  • I'm certain this would work for 4th graders. I think you could go as low as 3rd graders with this format.
  • Be hands on as much as possible; it holds their attention
  • It only takes one student to misbehave and distract the whole group; find creative ways keep everyone engaged and distraction free
  • They're smart; don't underestimate their abilities to learn quickly, even on programming topics!
  • Kids like guest speakers (that was me each week!)
  • If you can get a budget, it will help with candy, kits, supplies, etc.
If anyone has more questions about this, please let me know in the comments. We'd even be willing to chat, share documents we created, etc.

Kids and technology are the future.


My first patent was issued today

Today I was notified by the company I work for that a patent I was an inventor of and applied for a few years ago has been issued. It's a software patent dealing with knowledge management and social media:

Identifying Opportunities for Effective Expansion of the Content of a Collaboration Application, Patent No. 8,073,861, issued on December 6, 2011

I have two others pending as well; another dealing with social media and the other a technical security/encryption protocol I co-invented.


New eBoy Rio poster

Rio by eBoy
I noticed on Boing Boing today that eBoy released a new poster on Rio. This follows a theme of city scapes that eBoy does. I noticed two things:
  1. I get the impression this one is a little more tame than the others I've seen before (and Rio of all cities!).
  2. These city posters usually capture slices of major landmarks and scenes of the city. Are the favelas represented in the bottom right?
The colors are pop'n as usual! Looks great.

Took the Cloud Foundry tutorial finally

Back in May 2011 I signed up for a Cloud Foundry beta account so I could give the new PaaS service a whirl. It's taken me this long to get around to it (better late than never).

The tutorial begins by installing ruby and gems (I did this on Ubuntu 11.10), install vmc (the tool you use to interact with Cloud Foundry) via gems, "push" deploy some sample hello world Rudy code, and finally check it out in a browser. Making changes to what you deployed is easy: simply make changes to the code, then "update" the application; this re-deploys the application and restarts the running application using the new code. Refresh the browser and there it is. Pretty straightforward.

A couple of hiccups to watch for if you follow the same steps as me:
  • When I tried "vmc target api.cloudfoundry.com" I was getting "invalid date format" errors. Turns out there's a version issue with the Ubuntu supplied Ruby packages. To fix it, I had to install Ruby 1.9.2 from RVM: https://rvm.beginrescueend.com/
  • After a few clicks deep I found the "Getting Started..." guide. It's in a support forum and it's a PDF which is kind of odd. I was expecting a one-click away wiki-like resource.
  • For getting started, I suspect the Youtube videos > PDF
I'll spend some more time with Cloud Foundry and post updates if they're interesting enough.


Replying to automated company emails

Ever notice the tiny grey text at the bottom of automated emails from companies saying something like:
"Please do not reply to this email address. This is an automated email notification and we will not reply."
That's kind of frustrating if you need to reply and there's no obvious way to respond in the email or on the website. I experienced this myself recently. It would have been easier if I could have just replied. Then I got to thinking, why don't companies, with all their automated emails, enable this and forward all replies to their customer service department that responds to normal email correspondence? Or offer a helpful automated exception response with more information specific to the topic of the original automated email. I realize the tradeoffs when this kind of thing is opened up, but it's so much more simple and satisfying for the customer.

I also wonder if it's always done this way because that's how everyone else does it or because it's a case of "that's how we've always done it." If so, maybe it's worth revisiting and reinventing.

Seems like the right thing to do.