Setting the stage for ClubCompy: your kids need this!
In this two part expose, we introduce ClubCompy and talk about why the world needs a service like ClubCompy to teach kids how to program computers. In this first part, we discuss why ClubCompy's approach is the most effective for kids. And in part two, we will delve deeper into exactly why kids should be learning how to program computers. Enjoy!
Experiential knowledge is "all the rage"
My core motivation to start work on ClubCompy was that there was no good and proper way for kids to get cooking with modern computers! Isn't it in everyone's best interest that we keep this computing revolution charging ahead? If so, then we must have qualified replacements coming up the ranks. And that means getting kids exposed to all this stuff early -- learning to program a computer is a lot like learning a foreign language, it works out best to start that learning when the kids are very young, "ingrain" the knowledge.
The ClubCompy website, https://clubcompy.com, provides a simulated computer, very similar to those made in the 1980's. This computer's 'rules' are simple enough that even little kids (6, 7 years and up) pick them up and can become a master at over time. What the kids will not understand at first, is that they are getting a realistic introduction to what it is like to be a real computer programmer.
Real computer programmers write the software that makes the world we live in function. Real computer programmers use keyboards to type in their programs. Real computer programmers load and save their work as files to disk. Real computer programmers make computer graphics and use numbers to get their work done. At ClubCompy, we provide all of those experiences, but simplified so kids can comprehend what it is they are working with. We take a lot of the grief out of computers so kids can simply explore and gain experience in the process.
But a pure environment for learning isn't enough, there has to be structure and projects to work on. So, the ClubCompy website has a companion magazine that you can subscribe your kids to. The ClubCompy Magazine can be addressed to them, and will have fun projects to work on. We will publish at least one game in every issue that the kids can type in and play. What a great way to get the kids to be more constructive! And what a nice weekend activity to sit down and "play ClubCompy" with the kids, learning as we go along. And what fun it is for kids to get a piece of mail delivered with their name on it.
ClubCompy isn't the only attempt to get kids started programming on computers, but it is the best thing to come along so far...
What are my options for exposing kids to Computer Programming today?
The first impulse for some tech savvy parents has been to go to a garage sale or vintage computer store and buy an old Commodore or Apple Computer and let the kid have at it. Those old computers worked out great for them growing up, why not throw them at the kids today? Problem is, those old computers weren't easy. They were simplistic, but not necessarily easy. You had to be clever and work hard to get things done with them. Many of the most fun things you could do on those old machines required POKE'ing and PEEK'ing secret codes into arbitrary memory mapped I/O locations. We were too close to the "metal" in the 80's and that's going to turn off most young learners.
At the other extreme, the computers of today are beastly and complex. Getting kids started programming on today's machines with tools designed for adults requires a lot of reading and research and training, and that is not a workable plan.
With a few exceptions, there are no products designed for today's computers that kids can pick up to get started programming. To make matters worse, teachers in schools today are not trained to teach computer programming (for the most part); there is no guidance coming from the front lines. Yet, there is clearly a push nationally (here in the States) to provide some instruction around computers and technology. This has led to an awkward sort of "computer learning", where kids are actually training to be office workers, as far as I can tell - with a focus on keyboarding, launching programs, word processing, and computer art. Microsoft Windows, Word, Excel, and Powerpoint are important tools to be learned, but I don't believe those products are where the training should end.
Real-world analogues required
As I mentioned earlier, there are products available to teach kids how to program with modern technology - but they are mostly rubbish. In this market, I see software designers focusing on two disagreeable things: 3D and the mouse. First of all, let's all get over 3D, shall we? It's been done; the whole Shrek thing has been tapped out! :) But, seriously, 3D is far too advanced a topic to start little kids with. I believe the software designers agree with me on this, and they tend to present 3D in a dumbed down, rounded-and-fuzzy-edged way.
Why dumb things down? We should show the kids the vector transforms and 3D matrices in the math if we are showing them 3D. (To be fair, YES: 3D has the pizazz to catch kids eyes, but I argue there's not enough to hold their gaze after the shiny-factor wears off.) 3D ends up encouraging more gaming and less programming.
The second thing that irks me about my contemporaries is their reliance on the mouse. The mouse is a weak programming tool, it is a crutch. I openly shame my adult peers when they favor the mouse over the keyboard. The mouse is just not expressive enough for programming tasks. A developer's time is too precious to waste clicking and fiddling cursors when one could just as easily use a hotkey or type out what they want. Children should learn to use the mouse ... in preschool and kindergarten. Beyond that, the focus must be on the keyboard.
Kid-centric programming environments that are built around the mouse tend to feature a lot of drag and drop from onscreen panels, with triggered events and timers serving as the main programming "blocks" the kids can work with. Events and timers are nice and are beautiful abstractions. But the computer, the real live CPU brain at the core of your computer, is more of a linear thinking, laundry list type of guy. Kids should start where the CPU starts and work outwards from there. Kids need to learn how the computer does its processing and think in-kind. Events and timers need to be close at hand, because without them, life is hard, but it cannot be-all nor end-all.
A perfect fit?
So, without ClubCompy, we are in a bit of a pickle: 1980's computers are too crude and idiomatic for most little ones to suffer, and yet modern computers are too complex and abstract for most beginners to get any handle on. This is has led to modern attempts at teaching computing concepts that are too typically watered down or avoid the subject altogether. The primary shortcoming with modern attempts is the lack of real-world analogues to adult programmers' experience in their day-to-day work. The kids aren't getting any realistic immersion into the programming experience. What to do?? That's right: it's ClubCompy time!
ClubCompy is our stab at balance in Computer Programming education between the old and the new. We hope you will appreciate the design appointments and support us with your subscriptions, suggestions, and experience reports that we can use to improve the service and give your kids the best computer learning experience possible.
Here are just some of the tenets we followed in the design and planning of ClubCompy:
- The magazine is the thing: We give the kids printed programs in a magazine they can follow along with. The kids type in the programs we provide to make games and more on the ClubCompy.com website. The accomplishment factor of completing such a project is nice, but when natural curiosity takes over and they begin experimenting on their own, the real learning takes place. The kids pickup keyboarding skills along the way.
- Above all, trust in kids' abilities: Kids are good at following instructions when they're motivated. Kids are great learners. We try not to talk down to the kids, and we will challenge them; not everything will be explained right away. But, we promise to hit all the fine points over time!
- Ride the Retro wave: Hey, let's face it, 8-bit is back in fashion, and we have to sell to the parents as much as we sell to the kids. So, ClubCompy features all kinds of old school graphics: we've got character graphics that scroll, 256 independent sprites that you can scale and slide around the screen *with* collision detection, and cool turtle vector graphics!! Adults can relive the glory days with their kids with ClubCompy.
- Video games!: When the kids ask, tell them the payoff with ClubCompy is they get free games, no need to spend the allowance on Nintendo DS! ;)
- De-emphasize the mouse: mice are only useful as game controllers at ClubCompy...
- Eliminate distractions: as counter-intuitive and risky as this is from a marketing standpoint, we felt it was absolutely a requirement that the workspace of ClubCompy default to a white screen with the compy in the center and perhaps only a few buttons off to the sides. In order to focus, one needs to remove unnecessary distractions. Something that requires extended concentration like computer programming is only possible in an uncluttered, meditative environment.
- No copy and paste for the kids: Kids need to type in everything and get good at keyboarding, that's their toll for the fun we provide.
- Relive BASIC: I first learned how to program with Microsoft Basic v2, (the one that had line numbers to start each line of code.) I could work it right away as a first grader because it was so simple, and it encouraged tinkering (once I figured out the rules.) We decided to match BASIC's austerity in the computer language we designed for ClubCompy, the "Tasty Language". But Tasty is no slouch, and we sneak in whatever modern technologies we can get away with. This works for kids because it is simple.
- Put the codes back into 'coding': Computers fundamentally work only with numbers. We felt it was vital to highlight that fact by providing some numeric codes to stand for different sets of information at ClubCompy. The examples of this can be seen in two tables available now on the right of the Compy Shell that demonstrate numeric codes: one is for color codes and the other for character definitions. In the future there will be more sets of codes, but they will never be overwhelming, and they will always be easy for the kids to look up and explore.
- Don't favor the rich: we did the hard work to build Microsoft Internet Explorer 6-8 compatibility into ClubCompy. Why? Especially when there are such superior browsers available, like Firefox? The reason we did was because many public libraries and government institutions are running older versions of Internet Explorer as the web browser on the PC's they provide to patrons. It's important to us that, when libraries carry subscriptions to the ClubCompy magazine, that all of their kids will have access to the companion website on the library's PC's. A lot of little kids and their families get onto the internet exclusively at the library, and it's a social justice concern of ours that no one be excluded from ClubCompy because their libraries lack IT budgets to do software upgrades.
- Don't be sexist: Try to cater to both girls and boys. We have some creative ideas in this area that are sure to please.
- Safety first: Being an internet application, we have to be extra careful hosting kids and helping you keep them safe from predators. We do this by disallowing any direct communication between users at ClubCompy. Also, kid accounts on the system are managed directly by an adult user (the kids' parent/guardian, teacher, or librarian) - so someone can always keep a handle on what they are doing at clubcompy.com (and can enjoy the service themselves!)
I hope you appreciate the new and fresh approach ClubCompy brings to computer learning for kids. We want to inspire a whole new generation to work with and [heart] their computers as much as we do!
In part two of this series, we will highlight the need for ClubCompy by delving deeper into why kids must learn about computer programming, and the earlier the better.
pledged of $25,000 goal
seconds to go
Funding Unsuccessful This project reached the deadline without achieving its funding goal on December 29, 2010.
Nov 29, 2010 - Dec 29, 2010 (30 days)
Pledge $2 or more
The tip jar! If you support us and like what we're doing, please pop $2 in the hopper for us. When we're successful with our Kickstarter campaign, we'll send you a thank you email.
Pledge $13 or more
A 1-issue, three month subscription to the ClubCompy Magazine. Perfect if you are taking ClubCompy for a trial run! :D (Please see $50 for more details.)
Pledge $25 or more
A 2-issue, six month subscription to the ClubCompy Magazine. (Please see $50 for more details.)
Pledge $50 or more
A 4-issue, one year subscription to the ClubCompy Magazine. Each issue will be jam-packed with fun computer programming activities! Also, a one year subscription makes a great holiday gift, especially since you'll automatically own subscription renewal dibs next year! ;) The magazine subscription is a must as it entitles the magazine holder to save his or her work to disk at ClubCompy.com.
Pledge $62 or more
If you would like us to ship outside the United States, please pledge to this reward. This is a 4 issue, one year subscription (the 50 dollar reward) with $3 added per issue to cover worldwide shipping costs.
Pledge $100 or more
We're going to create an "easter egg" in the ClubCompy shell, where, if the kid types in a special secret code, all of our $100 donors will get a credit in the list of names we print there. This is an eternal 'thank you' for sponsoring us and believing in us when we were just fledgling in our Kickstarter campaign. All $100 donors will also receive a 4-issue, 1 year subscription to the ClubCompy Magazine! (A $50 value, yours absolutely free!)
Pledge $250 or more
With your $250 donation, you receive everything the $100 donors get, *plus* you are entered into a contest, where 10 lucky winners will get to permanently name a color on the ClubCompy color chart. You can name it anything you want: after your school mascot, or favorite gelato flavor, perhaps? (Nothing too wordy or obscene, of course.) Additionally, we wanted programmers out there looking for some retro street creds to have an opportunity to reserve a slot on the ClubCompy marquee (found on the homepage.) If you are a programmer and pledge $250, we will take one program submission from you and add it to the marquee for up to a year. The marquee will display your program's title as well as your name when it starts to maximize your bragging rights. (Note: your program will only run in the marquee for 30 seconds, so keep it short, and it must not crash on IE to be accepted. ;)
Pledge $500 or more
With your $500 donation, you receive everything the $250 donor gets, *plus* we're going to make a color promotional ClubCompy poster and we'll send you a signed copy of it when it's done. -or- if you don't like posters ... We'll write you a custom vanity ClubCompy program for your website or facebook so you can brag about how stylin' and retro you are! The restriction here is: whatever you want done has got to be something we estimate will take us less than 10 man-hours to build, soup-to-nuts. Obviously, we aim to please and we'll try to get it right for you, but we might have to haggle a bit in order to keep things manageable.
Pledge $1,000 or more
With your $1000 donation, you receive everything the $500 donors get, *PLUS* we list you amongst the rare aficionados of kid computing in the forthcoming Official ClubCompy Programmer's Guide - the book that all serious kids will ultimately get to enhance their ClubCompy mojo. Surely those little ones will read your name someday and think, "this person had real foresight and/or moxie!"
Pledge $5,000 or more
So this reward is a special one for the bigtime philanthropists out there (I'm lookin' at you BillG!) We know that ClubCompy could be a very useful tool for teachers, and we want to produce sets of custom lesson plans (called teaching "units") for them to sweeten their math or science lessons. You can give us a huge boost towards that lofty goal. If you pledge $5000, we will work with a professional educator and produce a custom unit for an introduction to computer programming with ClubCompy. It will be targetted at a grade range of your choosing (4th-5th grade, for example). We will deliver the those materials, as well as ten, one-year ClubCompy Magazine subscriptions to the school of your choice.