Consider:
…programming should be used as a means to introduce kids to ways of thinking and problem solving that will be useful to them in many different spheres of human endeavor. If in the process they get hooked to computer science and end up in careers involving programming, that would not be a very shabby outcome, either!
Shuchi Grover said this in a post about Computational Thinking, Programming…and the Google App Inventor on SmartBean (read other highlights).
I sat down Sunday morning to read that piece (which I found through my handy Google alert for “computational thinking”) and it reminded me of something I’d almost completely forgotten about:
In summer 2000 — before eighth grade — I attended IMACS (no relation to Apple) for a few weeks. IMACS, short for the Institute for Mathematics and Computer Science, offered STEM-related activities in a day-camp format for different age groups.
My faint memories from IMACS include programming some rudimentary commands to control a robot, working with simple electronic circuitry to illuminate small light bulbs and completing various logic/reasoning questions.
So why did I, as 13-year-old who was mainly interested in writing, do this? Honestly, I don’t remember exactly beyond these two basic reasons:
- My good friend Chris was going to attend
- I’d had some technical inclinations since elementary school
You see, Chris and I had been aftercare aids at Country Isles. Yes, we sometimes clutched clipboards and walkie-talkies as we deposited toys in classrooms. But we also assisted with tech and AV — even Winterfest in 1997 (I will never forget what it’s like to be a 10-year-old running cables and duct-taping down wires for a school-wide singing show. Oh, and what ever happened to MiniDiscs?).
Earlier in elementary school when people would ask me, “What do you want to be when you grow up?” I would say, “A scientist and inventor.” Surely, even a few years after such a notion, that too factored into my decision to attend IMACS.
My larger point in recapping all this history is that earlier interests, such as from childhood, can stick with us as we grow up and it’s never too late to start appreciating other areas.
Honestly, math was my least favorite subject in high school. I used to think journalists and math didn’t mix. I was young(er) and wrong. In the year or so since I graduated college, I wish I had done at least one stats class (in addition to psychology, but that’s for another post).
So why am I now fascinated by computational thinking and programming? My passion for journalism and how the fields relate, sure. But it’s also clear that my earlier interest and experiences, even one as limited as IMACS, play some role. (I also always have to credit Daniel Bachhuber specifically on the computational thinking front because he shared the first things I read/listened to on that topic.)
All of this is not to say you can’t develop a tech inclination later in life. You certainly can. What I am saying is how it’s helpful to evaluate what and who might have influenced you — and what comes of that.
Case in point, yesterday I talked my sister through setting up a blog on WordPress.com. I didn’t succeed earlier in the summer in getting her to host her own cooking blog, but in June she did buy her domain. What changed yesterday? I don’t know. We were just video IM chatting and it happened. Michelle, a rising college sophomore interested in finance and business (she digs math), is now set up to be a creator — not just a consumer.
Even if she never sets up her own hosted blog, never touches a line of code or never goes any further, it has — thus far — certainly been worth my brotherly nudging. And, to borrow from Grover, it wouldn’t be too shabby if she did.
What were some of your most noteworthy technical influences? Where did those influences lead?
Correction: The opening quote, originally attributed to Charles Profitt, has been updated to reflect the actual source — Shuchi Grover.
My dad bought me powertools in first grade, so I was used to building things. I mean real drills and jigsaws and stuff. I do have all my fingers.
In second grade, he bought me a computer and encouraged me to disassemble and rebuild. I cannot emphasize strong enough have important hardware hacking is to almost every aspect of my life.
In fourth grade, my teacher had a a Dartmouth BASIC book. I could turn in my assignments anytime before Friday, so I generally did all the work on Monday or Friday and wrote BASIC or played games the rest.
Thanks for sharing, Dave! I’m considering writing a follow-up post on some of my other tech influences.
My elementary school, before it had its own computer lab, had a visiting computer lab bus that came to the parking lot every week. On it we would program a turtle to draw pictures, like an advanced Etch-A-Sketch.
Fast forward to adulthood. During a trip last year to the San Jose Tech Museum, there was a hands-on exhibit that involved moving around colorful blocks of wood with words painted on them in an algorithm-like sentence, i.e. if [SWITCH] is [ON], then [CHAIR] [RECLINES]. Then there was a small set of a living room with a Mr. Potato Head chilling on a recliner. Move the blocks around, teach yourself computational thinking.
I bet you if I played around with it as a kid, I may have ditched journalism altogether for designing a microchip that would turn on the lights in Mr. Potato Head’s room.
http://www.thetech.org/exhibits/permanent/index.php?sGalKey=swrk&galKey=in
Nice! The SmartBean post includes something similar to that turtle program you describe.
I remember getting in trouble in kindergarten for typing my homework on our home computer (an EPSON!) and printing it out. I had (and still have) pretty nasty handwriting, but the teacher accused my parents of doing my homework for me.
One day when I was in middle school, my parents came home to find computers, VCRs, televisions and pretty much anything else I could take apart with a screwdriver spread out on the living room floor. My mom grounded me, but my dad and I had a lot of fun putting everything back together.
I’m the eldest child, and it took my parents two more tries to get a boy. My dad pretty much treated me like a boy anyway, which suited me just fine. He taught me how to use power tools and rig things with duct tape and WD-40. In high school, I took a shop class, in which I was the only girl who didn’t let the boys do any of her work.
I remember taking a lot of crap about being a girl and doing “boy things.” Instead of discouraging me, it just made me stubborn – I had to prove that I was “just as good as” a boy. I would like to believe that attitude is dying out, but I probably just surround myself with smarter, more open-minded people.
@Megan: I also liked to build and take apart things when I was… well, I still do! My possible follow-up post will likely discuss my experience with tinkering and building, which is I know comes from my dad. For example, he once disassembled a door when he was a kid and got in a lot of trouble, so after I heard that story I learned not to do the same… I only once disassembled a door handle :P
@Dave: Bonus points for those links!
Suzanne is talking about Logo:
http://en.wikipedia.org/wiki/Logo_(programming_language)
I think the programmatically moving a cursor is great introduction for kids. It makes intuitive sense.
Check out this Web-based implementation in Python. Super easy and fun:
http://rur-ple.sourceforge.net/en/rur.htm
Turtle graphics! I did those too, although I imagine it was a decade or so earlier. Was part of learning the Logo programming language: http://j.mp/90WzCt
But before that even, my first exposure to programming was with Basic. My elementary school gifted program would pull us out of class for the afternoon a couple times a week, and we’d get to work on all sorts of cool things. One year we got a couple Apple IIe’s, and I started fooling around with IF/THENs, loops and GOTOs, etc. At the time (in the early/mid-80s), you could buy computer gaming magazines that would have, line by painstaking line, complete programs printed in the back. If you typed the whole thing in, you could theoretically run the game on your own machine. Troubleshooting was a HUGE issue though – one typo and you were screwed, and I wasn’t necessarily patient enough to scrutinize through hundreds and hundreds of lines of code.
But being able to see code like that, and starting to understand what bits and pieces did, definitely inpsired me. And with access to an Apple IIe, hoo boy. I clearly remember creating a Basic program that drew a beautiful block-graphic landscape on the screen. A Defender-like spaceship then swooped in from the left, dropped a block bomb at a blocky target on the ground, and when it hit … RANDOMIZED BLOCK GRAPHIC EXPLOSION!
At the time, I made it just to impress my friends, but I look back now and realize that was an early foray into the workflow I still use — figure out desired result, break project into manageable chunks, research the pieces I’m entirely unfamiliar with (in that case, making moving graphics and math randomization). And most importantly, just expect that I’ll be able to make it work.
Guess that was probably the first time I realized I could make a computer do whatever I told it to do. And therefore spent far too much time making a computer do dumb things.
And some awesome things, like Inceptionator and, more relevant to this topic, math!
Great comment. Thanks, Ryan! My earliest memory of a computer was probably around 1992 (age 5). I had to type DOS commands to load a bowling game, which I played with a joystick, from a 5 1/4-in floppy.
@Ryan: My intro programming experience was identical. Apple IIe, Basic, gifted class.
@Ryan “Guess that was probably the first time I realized I could make a computer do whatever I told it to do. And therefore spent far too much time making a computer do dumb things.”
This is a really important insight, I think. I work with a lot of people to whom anything tech-related is a complete mystery. Hard to explain that everything I know about computers, I know because I broke something or wanted to build something.
@Megan – Yeah, I think there are two hurdles there for most people. First one: Realizing that the computer will only do what you tell it to do. Second one: Realizing that’s a powerful thing, not a frustrating thing – the computer will do *anything* you tell it to.
I pretty much got away from any sort of programming until I was an adult. But when I came back at it, I still remembered that experience as a kid, and it never even occurred to me to be worried that I couldn’t make what I wanted to make. All it takes is a project (my return to programming, and intro to HTML/CSS, was putting up stats for a sim baseball league I was in).
Greg, I recall you took control of the mouse by age 4, on a hand-me-down PC from Grandma. I often wondered if that was too early to put a child on the computer. Seems like that worked out fine.
@Mom: Ha, you would know better than I when exactly that was.
Learning is always fun if taken in the right spirit. And parents are the best persons to let their wards understand this. Parents, especially mother is the best teacher in a child’s life. The way, she can guide a child, no other can! However, sometimes, it becomes hard for the parents to help children doing homework, especially STEM. In that case, they can take advantage of online tutoring services like tutorteddy.com.