Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
CS Unplugged: Teaching material for CS using cards, string and crayons (csunplugged.org)
237 points by catchmeifyoucan on June 29, 2019 | hide | past | favorite | 20 comments


Several decades ago, "without a computer" was the norm, because they were expensive, noninteractive, and/or difficult to access. You had to write your entire program before being given a chance to run it, and if there were any errors, you had to wait possibly a very long time before you could run it again.

Now that computers are ubiquitous and nearly everyone can immediately start writing code, I still think there are many advantages of doing it the "old school" way. Many of the highly-skilled developers I've worked with started learning with no constant access to a computer, so I definitely think this form of teaching is very useful --- without a machine "doing some of the thinking" for you, as it were, it forces you to actually understand the problem more deeply, so that you can tell the machine what to do. Those developers are also the ones who will spend more time whiteboarding or writing with pencil and paper than they do writing or debugging code.

Also, I thought this image depicted students being handed stacks of 5.25" floppies in their protective envelopes:

https://storage.googleapis.com/cs-unplugged.appspot.com/stat...


If your country had CS for 5 to 10 year olds several decades ago you're lucky.

I think for that kind of age range physical is better than digital anyway. But as you point out it's still useful for us bigger children too.


This would be the norm for ~15 year olds in my country, ~15 to 30 years ago?


We did a deep-dive on CS Unplugged with the program's creator, Tim Bell, on The Changelog last year.

Link to the transcript, for those curious: https://changelog.com/podcast/302#transcript


I learned doing ACSL exercises on paper starting in middle school. We had excercices for things like Boolean algebra, graph theory, base conversion ect. As well as 5 hacker rank style programming questions throughout the semester, in addition to our more regular CS coursework. Teacher made us keep an organized notebook with printouts of all our excercices/tests ect. Thought it was rediculous and old school but wasn't even 5 years before I looked back with gratitude. Learned the fundamentals needed to get me through 2/300 level courses at college. The teacher was amazing and in large part the reason I'm remotely successful today. There were 13 - 20 kids each year that took more then the intro courses. He would always treat us like family, and would do things like have us all meet after school once a year in fancy clothing for a "mock" fancy meal. It was so he could teach us (some autistic) how to be proper at a dinner and which fork is used for what. He taught us how to be skilled programmers and also people. Random middle of nowhere public high school in PA, very grateful. The teacher was deathly terrified of birds tho.


I've run these activities with kids (middle and high) and adults (teachers) and they have always been remarkably engaging and surprisingly effective at conveying the concepts each lesson is supposed to teach.

I would 100% recommend using them if you ever get a chance to construct a CS fundamentals curriculum.


Do not use string, index cards, and multiple CS PhD students holding the cards to illustrate how garbage collectors work, particularly if most (all?) of the people in the groups haven't written a garbage collector. Trust me on this.


Ever watch two kittens get themselves all tangled up while playing with a ball of yarn? Imagine being one of those kittens and getting tangled in string in front of an audience of other CS PhD students and senior CS researchers. In addition to the issue that we really couldn't simulate what GC was doing (or even explain it), imagine trying to untangle yourself while doing it.

To answer the question about why GCs are an issue, a GC scans memory, moving objects, updating pointers, writing marks in special headers, etc.


As someone who hasn’t written a GC, why is this?


As someone who hasn't written a GC, how well do you think you could illustrate how one works in a live presentation?


I think they do not.



Wow, this is an amazing pursuit. I would love it if kids were introduced a bit earlier to more analytical thinking methods thru ways such as this. Learning about computer science has benefits in changing the way you approach concepts and problems, but kids shouldn't have to wait until middle-high school!


Tim is also a great lecturer (I had him as my lecturer many years ago), and one of the authors of Managing Gigabytes, - which for many years was apparently basically required reading at google - which is a great intro to all the normal compression systems, as well as large scale text search


And here I was, thinking 'huh, they finally condensed down deep CS topics so that my dumb ass can understand it! Neat!' Imagine my disappointment looking at the ages section.

Still, a neat idea! Just not for my dumb ass.


I have been building a course for my 5 year old using Scratch. She has a ton of fun working on the material with me.


Do you plan to publish the courses?


Yes, I will publish it near the end of summer.

I have all the lessons written, but shooting videos and post production takes time.

My daughter also does some of the video shoots. We have to do a few different shoots of each scene and then choose among the best.


This reminds me of dorkbot and runme.org. :)


does the United States have any such programs?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: