Wednesday, August 29, 2018

Take our Daughters and Sons to Work Day 2017


Ok, next episode of my adventures running "Take our daughters and Sons to work day" events, the 2017 edition.  This one was a lot less ambitious than the 2016 year.  In 2016, I had access to dozens of used keyboards, mice and most importantly, Monitors.  Back then I had more influence on how IT assets were handled, and we had just started a transition from dual 17" monitors to single 24" or 27" monitors. So I was swimming in equipment. There were some reorgs and personnel changes that eliminated all my stock of used equipment.



I pressed on, just the same.  This year I decided to a scratch game on laptops.  It lowered the entry barrier as most parents had a laptop laying around and there were a few spares here in the office.   We had 10 kids for this event.  We almost didn't have a conference room which made for some more drama.  There where a few high profile exec meetings that needed the larger rooms I would ordinarily use.

Anyway, we got things sorted and we got on our way.


Once again I used the book Coding Games in Scratch by Jon Woodcock. In his book he walks you through several different games you can build in scratch, and we did one based on the 'Doom On The Broom' game with a few tweaks and variations.  We called it Bat Blaster.   Started with an overview of Scratch (https://scratch.mit.edu - everyone needed an account).



Next we made some simple animations to teach them how to interact with motion and sprites, etc, and then we got into the game.  I'd have a slide on the projector with all the blocks they would need and what we're trying to do.   I would also spend a minute talking about where each block was in the block pallet and what each block was doing, especially in this case where we introduce variables and doing mathematic operations on variables.



The next slide would be the pieces all put together.  I'd walk the room helping folks who got stuck somewhere.


We would then add new features, like making the bats faster or adding ghosts.  For the folks who could stay longer we started re-skinning the game.  Instead of witches and wizards shooting bats, heroes shooting zombies or space ships shooting aliens.  We also changed it so the sprite was no longer pinned to the middle of the screen and floated forward, like the ship in asteroids.  It was a much simpler day than the year before and went quite well.






Tuesday, August 28, 2018

Take our Daughters and Sons to work day 2016

So I ran an event at my job for Take our daughters and Sons to work day for the past few years.  They went pretty well and I've been meaning to write about it for a while.  I'm doing a lot of this from memory, so I might have some of the details wrong, but the general idea is the same.

The high level theme was to take Rasberry Pi's, build a game in scratch and turn some LED's on and off.   The outline looked like this.


  1. Welcome 
  2. Logistics (bathroom, water, etc)
  3. Who’s built a computer before?  Lets build one now!
  4. Boot/copy - get everyone setup.
  5. Intro slides what we do here - Dev, QA, Product, Research, operations
  6. Walk through Pi - play a pi game
  7. Start scratch go over key concepts
  8. Show and tell
  9. Timecheck - lunch?
  10. Scratch video game  - Catch stars - Product/research
  11. Dev’s get to work Set background 
  12. Add one octopus, random star placement, catch stars.
  13. A BUG! - octopus gets stuck in side - QA catches these  - add on touch bounce
  14. This is too easy lets make it harder
  15. More octopuses, faster, color, on-bump-face cat
  16. Timecheck - Lunch if haven’t had, break time otherwise 
  17. Show and tell
  18. Interact with the real world - turn on an LED
  19. Security alarm (PIR sensor)
  20. Wrap-up 

Since I had a supply of keyboards, mice and 17" monitors, the minimum the kids had to bring was the Pi.  I had suggested kits, such as Kana Kits or Vilros kits that have a lot of the stuff already bundled.  These examples are for Pi 3s but when I did this in 2016 they were Pi 2s. 

The majority of the ideas for this even came from the BooleanGirl organization.  BooleanGirl is a fantastic program and I can't say enough good things about them.  One of the new things that has come out between my 2016 event and now is the BooleanBox.  A prepackaged Raspberry Pi kit with all the stuff you need to get started.  It doesn't stop there - they also have Boolean University where they have structured lessons and projects for you to build with your BooleanBox.  If I were to do this all over again, I'd do BooleanBoxes as the base.  Back in 2016 their website had similar content where they walked you through getting started with a Raspberry Pi.  I took that as a starting point (6 and 7 above for instance)  and went from there.

In item 10 I walked the kids through building a video game in scratch.  The book Coding Games in Scratch by Jon Woodcock was perfect for this.  In his book he walks you through several different games you can build in scratch.  I picked one called Star Hunter, which had a similar game play and style to one from the BooleanGirl website.  The book was a great resource to follow as it breaks down the game construction bit by bit, which gave natural stopping points where I could check in with all the kids on how they were doing. The walk through purposefully introduced some bugs to kind of show what QA's job is in our office and introduced new feature requests and other software development concepts to give a feel for what we do here.

After lunch we started working with physical computing - turning LEDs on and off, and trying to get a PIR sensor to work.  This was a bit of a disaster.  The breadboard concept doesn't translate well for younger kids.  It took a lot of one on one interaction to muddle through this.  While helping others, the kids who got the concept and were ready for the next step got bored.  It was further complicated by everyone's Pi being a little bit different - different colors, different bread boards different versions of the n00bs linux packages.  If I did this all over again, I would pre-assemble mini-breadboards and I would also re-flash everyone's Pi with the same image so everyone had the same stuff.  I even had the mini breadboards with me, but just didn't have time to put them all together.  That would have saved a lot of time.

The PIR sensors were next, but by this time, we were loosing kids due to parents being done with work already (we have folks who traveled from Philly to DC) and just general exhaustion.   I had PIR sensors for everyone, and had a few slides how to connect them.  They sorta worked, but would often get stuck in the 'detect' mode.  I think this was mostly due to to GPIO libraries being different across the versions of Noobs.  Almost everyone's screens looked different, had different settings and values. It wasn't a great way to end the day. 

All and all, it was a positive experience, most of the kids enjoyed it and several came back for 2017.  Hopefully I'll write that one up next.

Saturday, August 25, 2018

Maybe I'm going to try writing again

Not sure I'll follow through on this thought, but I think I want to try writing stuff down again.  So I've done a take your kids to work day thing for the past 3 years and they've gone over reasonably well.  I need to write those up.  I think more interesting, at least to me, is planning for 2019.  Since I do this in small bursts and then a few hurried days right before the event I need to start early.

So last year's Adafruit based Circuit Playground Express went well.  If I make good on my plan to write, eventually this will be a link to the 2018 event. My initial thought for 2019 was to do some kind of IoT event.  Wasn't quite sure what shape that would take, but I'm sure I could come up with something.  Then Adabox 008 arrived and now I'm torn.  It came with a Circuit Playground Express and their new CRICKIT platform.  It also came with a truck load of stuff to help you make your own cardboard robots.  I started playing with mine tonight and now I'm torn.  It was super easy to set up, and make something move.  I spent more time cleaning off space of my messy desk to work with than actually making this work, it was that easy.


So now I have a choice to make.  IoT or AdaFruit Crickit and their #MakeRobotFriend platform.