Tag Archives: coding

basket filled with my interest hoatd

The Basket by My Bed: Sharing Code and Creativity

Let’s start off by saying the basket appears to be less full this week, but is in fact more full.  I like to e-read, whenever possible, and my iPad Mini is my digital information hoard.  There are quite a few good interests in Mini this week.

Sharing Code

I have been dipping into Pro Git, the excellent free ebook by Scott Chacon.  Between this and the also-great videos on the Git how-to site, I managed to get a project set up, and a text file committed, all through my Terminal application which, and frankly, I impressed myself just a little.  If this does not impress you, either because a) using the command line is like second nature to you or b) when I say “command line” or “Terminal” you have no idea what I mean, then this part of today’s blog post will likely not be very interesting. What I find intriguing about Git is that it seems like a much better way to share documents on projects than, say, Google docs, or Basecamp, both of which I do use daily.  And this use of Git (version control) doesn’t even scratch the surface of the potential inherent in being able to share code with others who, if they are not me, are most probably much better programmers and who might be able to help with stuff.  Yay Git, I say, and once there is actually something other than test.txt up on my hub, I will post a link.  First project: a budget builder, so our clients can see what it takes to make a Youtube video, or a Commercial-quality video, from our Q Media website. Coming soon!!

Sharing Your Brand

I am also currently hoarding, in Mini, every pdf and ebook Hubspot has produced on email and social media marketing.  We are working on our digital presence at Q Media and Hubspot is pretty great: just as the cobbler’s children are in bare feet, we do a lot of work with our clients to help them understand how to communicate their brand digitally, but we have neglected our own brand communications.  And, as we would advise any client to do, we are also doing some deep thinking on who we are and who we want to be.  Richard has us all reading Creative Confidence by Tom and David Kelley, the founders of IDEO.  The design thinking process is something that I have had much success with and this looks like the perfect bible for us.

Knitting is like Coding

No matter how much we wish it was so, life is not only lived in the digital realm, and I continue to knit a pair of socks.  I have now turned the heel and am deep into gusset shaping (for more information on what the heck shaping a gusset means, please consult ewetube.  I’m serious.).  Knitting is, in so many ways, similar to coding:  it is binary (there are only 2 stitches, knit and purl).  There is tons of math: designing a pair of socks is like doing a puzzle.  And it is a real “flow” activity: when you get started time flies by and you don’t want to stop.

My “wireframe”

wireframe_optFinally I have my wireframes for this site’s homepage, in my notebook, in the basket, reminding me to do at least what I would do for any client and put them in Omnigraffle like any decent wireframe to code by.  And, to help make it look good, Creative Workshop: 80 Challenges to Sharpen Your Design Skills by David Sherwin has stayed in the basket, held over from last week.  My goal for the week: do at least one exercise from this book.  And read Creative Confidence.  And finish socks.  And…

Kids Learning Code: My Mentoring Experience

Ladies Learning Code, is, as they describe their own organisation, a “women-run not-for-profit group working to empower everyone to feel comfortable learning beginner-friendly technical skills in a social, collaborative way.”  They offer classes for adults under their Hacker You and Ladies Learning Code brands, and classes and workshops for kids as “Kids Learning Code”.  I had the privilege of mentoring at their inaugural Scratch workshop for 6 and 7 year olds, in their new space, on the weekend.  They have proven for me that kids as young as 6 can and will write computer programming code if given the tools and opportunity.  It was really, really cool.

Community Coding Space

Young Programmer

Daniel is 12 and already mentoring littler kids at Kids Learning Code

Picture this: an amazing, lofty, all-white space.  There are adults and kids milling about: the only way to tell the students from the teachers is that almost universally, the students are either much older or much younger than the LLC staff and teachers.  The Ladies of Ladies Learning Code are all under 30, and successful, entrepreneurial coders, app builders, and web architects.  These ladies have guthub accounts and they know what to do with them.  As the kids settle in to the bright classroom, I over hear 2 kids, who don’t even have their adult teeth yet, exchanging online game usernames the way we older folk exchange business cards.  And it begins.

Making it real: what’s your favourite game?

The first step in the process of getting kids to start thinking about coding and game building is to make it real for them: we have a great discussion on games and gaming: what are their favourite games? What makes the games special, and what do they like?  The two standout favourites among this group of 6-8 years olds were Minecraft by a long shot, as well as Lego Star Wars.  Snakes and ladders and Soory also made it onto the list: when it comes to games, kids don’t discern between “online” or “video games” and board games.  They are all games, and all worthy of attention.  The features they listed as contributing to what makes a game a good game were:

  • When you have to use your brain: learning how to play the game and how to beat the game.
  • Surprises!
  • When you get to make something
  • Where there is an adventure or a quest
  • Collecting
  • Having different powers, things that you could never do in real life

Fun was not the first thing on the list, interestingly.  It was learning.  And winning, or at least competition with other players, was never mentioned.

Rapid prototyping

kids create a paper prototype of a game

Rapid Prototyping a game

I was then witness to the most creative and successful rapid prototyping exercise I have ever seen.  There is nothing like tight timelines to help put focus on a goal, and 30 minutes, it seems, is an excellent time limit.  In 30 minutes, and having been put into groups of 3, these kids came up with viable game concepts and created their games on paper, using glue, tissue paper, markers, and Styrofoam balls.  The primary piece of learning: no one builds a game on their own.  Teamwork, collaboration and learning how to build on other people’s ideas is a cornerstone not of game design and more broadly, software development.  It is, after all, the cornerstone of the opensource movement.

One team had a particularly great teamwork moment: the youngest in the group, a six year old, was insistent that there be an octopus character in a game that they had already decided was to be a matching game: no characters necessary.  But rather than see it either unworkable, or as a compromise that would dilute the game, they folded the idea into the game and actually made it better: the octopus became a wild card villain who introduced the idea of a timer into the game.  If the matches weren’t made quickly enough, the octopus would eat one of the elements of the potential matching pair and the player score would be necessarily lower.  Brilliant!!

Challenges unique to ages 6 to 8

Scratch workshop participant

kids as young as 6 can learn to develop simple games using Scratch

The kids were working with Scratch, an incredible game building and community platform developed by MIT.  Scratch allows kids to assemble computer programming code like puzzle pieces.  Each function, if/then statement, or piece of code snaps together and there are colour cues that help you know what kind of code you’re using.  Controls are orange, and Actions are blue, for example.  Scratch makes game design and development incredibly easy and intuitive, but there were challenges unique to this age group that are worth noting.

1) Typing Skills.  There is not a lot of typing in Scratch, but there is some.  When you don’t have the keyboard memorized from years of use, having to search for every key can slow things down.  It also takes up brain bandwidth that distracts from the actual task at hand.

2) Manual Dexterity.  When kids are 6 or 7 they don’t have the fine motor skills yet to be able to easily manipulate and place the puzzle pieces of Scratch easily or quickly.  They need the same kind of usability guidelines as seniors in many ways: use of larger targets, and less precision required for dragging and dropping elements.  Kids kept dropping their pieces into the wrong “slots”, and seeing really odd behaviour in their game.  At best, this was confusing.  At worst, they found it hilarious and it also tended to distract from the task at hand!

3) Reading.  All of the kids in the workshop could read, but at this age kids are rarely what we would call sight readers.  So their reading of the commands and even finding the right commands according to labels was slow.

4) Family literacy.  In many cases the parents were less digitally literate than their 6 and 7 year old kids.  Any effort to engage and educate kids that are still relying on their parents for their technology learning, who are getting most of their exposure to technology in the home, needs to also educate the parents to be more empowered to use computers as tools.

5) Finally: expectations that the computer would do everything.  The kids in the workshop were quick to expect that by doing one small thing , the computer would do the rest.  This is the primary reason I feel that its important to find a way to teach programming to pre-literate kids: so that they understand the problem solving process, the trial and error, the willingness to try something and fail, over and over, until its right.

It occurred to me that folks in my generation (that is, people who were born before voicemail, and laptops, and even calculators) tend to think that the Millenials’ tendency to google everything rather than “know” it is lazy.  It’s not.  The willingness to try something, make a mistake, google to see if anyone else has made the same mistake, and then learn how to make it better is the foundation of a kind of hacker ethic that is critical for kids to learn.

Kids need to need to develop the skills to fearlessly fail, and seek help, and try again.  To feel empowered to hack their world.  These will be the entrepreneurs and leaders of tomorrow.

 

 

Basket full of info 1

Interest Hoarding or The Basket by my Bed

I have a very bad habit of interest-hoarding.  What this means is that I have a seemingly endless appetite for things I would like to be doing, reading, or making at any given time, and this list of things is invariably far too long for the number of hours in the day, week, or even my lifetime that it would take to actually delve very deeply into any of them.

So rather than make little piles around my bedroom, (which is really also my home office.  True Confession: my favourite workspace is in bed, lots of pillows, surrounded by input devices which includes:  a 13″ MacBook air.  An iPad mini.  An iPhone 5 – yes, I suffer from an unhealthy alliance to all things Apple – and a notebook.  Well, also a stack of blank index cards and a sharpie.  And maybe some yellow stickie notes.  But I digress.) I keep one basket beside the bed.  Into this basket I place a limited number of things that I would like to attend to during the week.  If, by the end of the week, I have not attended to those things, they may lose their spot in the basket in favour of a new [book/project/magazine/insert-interest-hoarder-appropriate nugget here]

It is an effort to contain the hoard to one limited space: a mini interest hoard, if you will.

What I am going to do is describe the contents of the basket at the beginning of each week. Why would I do this?  Doesn’t this sound suspiciously self-indulgent, akin to posting pictures of plates of food on Instagram?  Perhaps.  But I have 3 good reasons:

1) This will force me to be selective of the items that ‘make it’ into the basket.  Knowing that these mini information hoards are going to be public, they may become more realistic and less aspirational.

2) Taking a photo of my basket each week will keep me honest in terms of actually diving in and reading/writing/otherwise engaging with/ the information hoard

3) There may be some interesting reads in the basket and a mini review of those reads might be of interest to you.

And so: this first introductory week’s Interest Hoard, the Basket by my Bed, contains

  • a knitting project: a pair of socks, knitted two-at-a-time on one 40″ Addi Sock Rocket circular needle, in Noro Taiyo Sock colorway S8
  • SAMS Teach Yourself Python in 24 Hours: I’ve recently taken a couple of great MOOC’s on Python programming and am determined to write a little code every day.  So far I’m batting about 10.
  • The Happiness Project: a gift received this Xmas from my Q Media Solutions Secret Santa, the very capable Steven Field.  This is a great read for the new year.  It’s very easy to pick it up and power through a chapter in wait times or those moments between doing other things when I should be blogging.
  • My Notebook.  Latest entry: My Git repository login and a wireframe for this blog.
  • Magazines:  wow, I have…how many issues of Rotman Magazine??  It would be a miracle if I read even one article from one of these bad boys during the week.  However, one of the most useful articles I have read in a long while was an interview in Rotman with Aaron Shapiro on his book “Users not Customers”.  I bought the book, and even read the book. Shapiro makes a compelling case for how we really need to adapt our businesses, business models, and communication styles to the internet.  This is a very useful argument for me in my line of work and some of this thinking formed the foundation for our video series, “Pull”.

Okay, so that’s not even everything.  Week 1 lesson learned: An interest Hoard is only useful inasmuch as it is actually small enough to tackle.  Note to self: cull the hoard.  Stay tuned for The Basket by My Bed, part deux.  And tell me: what’s in your hoard?