From 0 to C: teaching programming without a computer

It’s no secret that learning how to program is very hard, and teaching it doubly so, requiring the student to wrap their head around very unorthodox concepts. [Ubi de Feo] over at the Amsterdam tech collective Hello, Savants! has a unique solution for taking someone who knows nothing of programming and turning them into a computer aficionado capable of deftly wielding semicolons and parens. It’s called From 0 to C, and aims to teach students programming in an environment without computers.

For his class, [Ubi] made up a lot of wooden boxes with eight subdivisions representing the bits in a byte. By putting ping-pong balls in each slot, [Ubi]’s students can grasp the concept of counting by powers of two and quickly move on to hexidecimal and more advanced concepts like bit shifting.

After learning the ins and outs of how stupid computers actually are, [Ubi]’s students then learn the syntax of a language of their choice (C, JavaScript, or Python, for example), and write a few programs.

Although we’re sure most of our readers are far past the ‘learning programming from a blank slate’ portion of their hacker and maker career, anything that gets more people solving their own problems is okay in our book. [Ubi] has a pretty neat take on the pedagogy of teaching programming, and we’d really like to see his work expand outside his Amsterdam collective.

21 thoughts on “From 0 to C: teaching programming without a computer

  1. If i was programming with m&ms as seen in the picture – id worry about bitrot ;-) – OmNomNom (to underhandely promote a product mentioned earlier tonight)

  2. Well people do learn best hands on, and this is about as hands on as you can get without getting an electric shock.

  3. I would also like to see where this goes. I followed the link to the [hello savants] website, and read the little blurb about it. It looks really cool. I cannot wait for it to become available. Even though it is not “open sourced,” I will probably buy it because it is a really original idea, and we need more of them.

    Many kudos to the creator…..

  4. thanks for the comments.
    I’m seeing a lot of attention these days,
    and to me it’s really exciting.

    I’re expanding on this quite a lot, and right now working on a new way to explain pointers and pointer operations.

    some interesting people have approached and this makes me believe I can take this around and keep piloting.

    never said it can’t/ won’t be open sourced ;)

    although this is at the moment mostly out of my head and the way I developed how I teach technoloty in workshops (arduino, programming, product design, wearable etc), I believe tht contribution from the outside can make this awesome.

    if we manage to get economic support via sponsorships, we can finally involve some incredible people from all around the world.
    I’m lucky enough to know so many, but I don’t feel right in asking help out of friendship alone.

    we want to bring this into an interactive, fully physical, multi-user experience for museums, theaters, schools.
    at the moment can’t wait for pilot #2 after summer.

    please everyone, if you have questions or suggestions, write to us from our contact page.
    I love replying to messages and learn from outside influences.
    done it for 25 years, it served me well.

    tell your friends.
    we don’t even have banners on our site, so we don’t make a buck over visits.
    we do it because we believe it :)

    thanks.ubi

    ps: thanks hackaday for the post, can’t wait to contribute with something else :)

  5. I could see this for children, but for adults ?
    Start from the basics like at school and MOST IMPORTANTLY with a good teacher. You will learn in no time.
    Dumbing things down too much do no good.

    1. hi Ino

      it actually works wonders with adults :)

      our pilot #1 was only adults from different fields:
      – curious web programmers
      – artists
      – 2 electrical engineers
      – several hackers
      – mixed age/sex

      if we were allowed the 2 days we asked for they’d have been even happier :)
      reason why we’re working hard to get to pilot #2
      it will be run with kids 11-13 (6th grade in US?)

      we’re working on a better page for it, now’s the time to keep it lively and feed the curiosity of who’s following it.

      it’s a lot of fun, tears and sweat, but I know it’s worth it.

      :)

  6. heh, some of us want to get into the maker culture but are completely daft to the whole concept. I really wish i was in the area so I could take this class it looks really interesting. learning some really basic PHP took me weeks to wrap my head around though thanks to that I have some programing understanding but something like this would help me get a grasp on the concept with the finesse of tweezers rather than clanking together a pair of hammers…

  7. Does anyone here have a recommendation for somewhere online to learn a programming language more useful than Visual Basic 6? I studied that in High School. I’m thinking something like C or Java. (Have no idea if those are even remotely similar. I just know I hear more about them)
    Thanks in advance.

    -Luke

  8. Hi, as college teacher at Mexico, i’ve seen that lots of Computer Science students are struggling to get the basic principles of programming. I’m chemical engineer, but i’m familiar with programmation and now i’m very interested in helping them to undertand the logical/mathematical concepts, when i saw this post, i thought “This is EXACTLY what i’m looking for!!!” Are there some didactic materials, a handbook or something? Of course i’ll give the credits, report the results, give feedback or more ideas to teach programation basics.

    Thanks in advance!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s