Learning Computer Science without Computers
For me, computer science always existed outside a computer. Or maybe I was taught that way. I learned about binary numbers in my mathematics class and I also learned about what makes a computer tick, I learned all about AND gates, and Flip Flops, and what not. Programming a computer came naturally and I never actually took a formal course in any given programming language (just what I could learn from a good book).
What’s this got to do with this post? Well when I try and
explain computer science concepts to some of the kids I know, its heartbreaking to see how much they are removed from the basic concepts of Computer Science, because their teachers and their books never taught them those. And today when I came across this excellent resource on Computer Science, I couldn’t help but blog about it.
Computer Science Unplugged has a mission. They want to teach computer science without the use of computers. What a great idea! They have a set of activities planned covering various topics related to the concepts of Computer Science. These topics include binary numbers, text compression, information theory, minimal spanning trees, sorting, searching, human interface design, information hiding, cryptography, and more.
Each activity is designed to explain these concepts in a more intuitive way than a typical text book would. In case you have been wondering
what all these little icons in this post are: these are
icons that represent each activity. For example, this little monkey jumping up and down represents Text Compression while the sad computer on the right represents the Turing Test activity.
Head over to the website to check out the complete set of activities. I think that this a great resource and should be referred to by anyone who wants to understand computer science concepts. It doesn’t matter if you are an experienced programmer or a grade schooler who is just starting out. I am going to go through each of these myself to refresh my memory about how much fun computer science really is.
You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.





April 16th, 2008 at 10:40 pm
awesome, i’m gonna go check that out
April 17th, 2008 at 1:02 am
@Jacob, would be nice if you can come back and leave your impression in comments
April 17th, 2008 at 8:03 am
“They want to teach computer science without the use of computers.”
Does this not remind you of Phoebe trying to teach Joey how to play a guitar without a guitar…
(I know this is a silly response to a decent post… but I couldn’t help it!!!)
April 17th, 2008 at 9:00 pm
My first exposure to computers was using punch cards in my grade 8 computer class.
I don’t understand the logic of teach computer science without using computers though.
April 18th, 2008 at 12:12 am
@Geek.. its about teaching concepts such as sorting and various searching algorithms without the bounds of a programming language..
@Divya… that one was a really funny Friend’s episode
April 19th, 2008 at 6:48 pm
I’m 38 and consider myself very lucky to remember a time when no computers were around for us normal folks. Getting into the matter gradually rather than being assaulted by it certainly helps to develop a “feeling” for IT subjects, be it in the field of programming or strategy. Thanks for this link Vaibhav.
April 19th, 2008 at 10:27 pm
@Till yes, that is very well put. I think that is what is missing today.
April 20th, 2008 at 3:38 am
I think you raise a good point, the only downside I see to learning without computers is the students who always complain about relevance. If there are no computers for the students to try the concepts out on and play around with it may be difficult for some of them to retain interest. For example in school I’ve had courses where the entire thing was taught via the blackboard and compared to similar courses where the prof showed example code and running programs using the concepts explained in the class. For me, I found the second type to be of more interest. Whether or not I learned more in one or another is a different story though.
April 20th, 2008 at 5:00 am
@Jason… I guess my point was not to say that we don’t need practical learning. The reason my post is worded this way is because of my experience in hiring developers for my company. It is sad to see how many of them don’t understand the basics of computer science.
So many people start learning programming straight from a book about C#.
I have to agree with you of course that theory combined with practical is the best way. The point I was making is that it is not enough to know that Console.WriteLine will print to the Monitor. It is equally important to know how the monitor display actually works. (not sure if I got the message across there)…