7 ms·
CS Unplugged: Computer Science Without a Computer
- dang 8y agoDiscussed in 2015: https://news.ycombinator.com/item?id=10171469 https://news.ycombinator.com/item?id=10171469
- nutjob2 8y agoComputer science is no more about computers than astronomy is about telescopes. - Dijkstra
- carapace 8y ago"Calling it 'computer science' is like calling surgery 'knife science'." ~ also Dijkstra
- erk__ 8y agoMy professor says that it would be like calling astonomy telescope science. In Danish it is called "Datalogi" the teaching of data because the founder of danish computer science, Peter Nauer, called it that.
- sattoshi 8y agoDataology would have been a great name. I would have loved to be a dataologist.
- shub 8y agoI am a dataologist, even if my title says software something something. Commercial software development is about getting data from point A to point B more than anything else. There's a little bit of logic, a little bit of munging, but almost all of what could be called an algorithm is done by a library or some other system--probably a database. It's maybe once a year that doing something algorithmic, e.g. reduce a regex to a hand-coded FSM, or write an exponentially decaying counter, is actually the best thing I can do to solve the problem at hand.
- omaranto 8y agoI also like wiskunde for mathematics, I've been told it means something like the study of certainty.
- grimbly 8y agoWankunde, more like it.
- deleted 8y ago[deleted]
- CiTyBear 8y agoIn french there is a dedicated word: 'Informatique'. Which is a portmanteau word for automatic information
- white-flame 8y agoI would love for "Computology" to become the preferred term.
- fnord123 8y agoComputational Science.
- adrianN 8y agoThat term is already taken for people who use computers to do science, e.g. physicists doing computational modelling.
- Bromskloss 8y agoDijkstra preferred "computing science", didn't he? Now, calling it "science" at all is problematic if you don't consider mathematics to be a science.
- fnord123 8y agoDo mathematicians perform experiments? Do people who research computation?
- Bromskloss 8y agoAre you discussing the questions of whether computer science is mathematics? Dijkstra considered it to be, and was not a fan of "experimental computer science".
- Wildgoose 8y agoMy degree is actually in "Computational Science" (University of Hull, England). However they decided to rename it to the standard "Computer Science" the year after I started.
- vram22 8y agoI've seen that in some UK univs they call it Computing. I think that's a better term. One short word, too.
- sandwell 8y agoDijkstra met Mike Fellows (who co-authored the original CS Unplugged with Tim Bell) early in Michael's career, who originally quoted this, but it's often misattributed to Dijkstra as he is slightly more famous! Tim Bell was on Changelog podcast #302 talking about CS Unplugged and mentioned this at some point.
- mukuro 8y agoI heard that many CS majors in India have never used a computer, some of them have impressive theoretical knowledge and become successful in real jobs.
- lainga 8y agoI have heard this was the same reason behind the vast dominance of Russian programmers in the early days of HFT (cf. Michael Lewis' Flash Boys): CS classrooms in late-80's USSR had maybe one computer between them, so you spent a lot of time getting your programs right on paper before it was your turn to use the machine.
- mikestew 8y agoso you spent a lot of time getting your programs right on paper before it was your turn to use the machine. That was called "welcome to CompSci 101!" in the first CS course I took in the early 80s. Submit your card deck, wait your turn for the operator to load the deck, an hour later you get to find out that you made a typo and it didn't compile.
- lloydde 8y ago“Computer Teacher With No Computers Chalks Up Clever Classroom Plan” is still blowing my mind months later. https://www.npr.org/sections/goatsandsoda/2018/03/01/589519475/computer-teacher-with-no-computers-chalks-up-clever-classroom-plan https://www.npr.org/sections/goatsandsoda/2018/03/01/5895194... > For Hottish, who spends about 30 minutes making these drawings before every class, teaching this way is really no big deal. "Every subject is taught on the blackboard here," he says.
- drb91 8y agoWow, I was envisioning discrete math, but he is teaching modern computer skills. I would find this incredibly intimidating. Well, I guess necessity is the mother of invention—he clearly figured out how to get some decent teaching out of it. Great penmanship, too. Surreal for this field.
- 8y ago
- lux 8y agoLove seeing things like this. I've been a developer for 20+ years now and my only formal learning was a high school comp sci class where our teacher Mr. Smythe made us do all our theory on paper or the chalk board, including tests. We did have lab time too, but it he wanted us to be able to reason our way through problems and not rely on the machine for that. I still carry a paper notebook everywhere and use it constantly. Can't thank him enough.
- toomanybeersies 8y agoTim Bell, one of the creators of CS Unplugged, was one of my lecturers at the University of Canterbury, and before that he taught me the fundamentals of computer science at the NZ Olympiad of Informatics training camp when I was at high school. It would be fair to say that he's a significant part of the reason I'm a software developer. I've never met a man so passionate and interested in the pedagogy of computer science. I'd say that he's one of the leading figures in pre-tertiary (primary and secondary school) computer science education in New Zealand. I think that science pedagogy is a massively underserved field of academia. Everyone wants to create new theories and breakthroughs, but nobody wants to figure out how to teach them. The way that he manages to use practical demonstrations to teach computer science theories and algorithms is brilliant. It really helps make algorithms click with a lot of students. It was refreshing to have him as a lecturer as opposed to some of the lecturers who were clearly did it because they were required to, not because they wanted to.
- ponchotek 8y agoI still picture Tim ripping a phone book in half over and over every time I think about binary search. I assumed that's how they taught it everywhere else
- brianzelip 8y agoRecent Changelog podcast featuring Tim Bell and focused on CS Unplugged, https://changelog.com/podcast/302 https://changelog.com/podcast/302.
- userbinator 8y agoI find that the list and ordering of topics is... unusual: https://csunplugged.org/en/topics/ https://csunplugged.org/en/topics/ It starts off with binary numbers (and actually more on the idea of representation and interpretation of data), which is a perfectly good place to start; but why is ECC, of all things, the next topic? Then comes "Kidbots", which is an overview of programming in general, followed by searching algorithms (fair enough), but sorting networks feels like another big jump in topic. One thing I've noticed in a lot of CS curriculum plans is this "detached binary" phenomenon and the effects thereof; like I said, it's an excellent place to start, with data representation and all the elegant yet immensely powerful implications of it. However, like the sequence here, the next topic is often only vaguely related or something completely different. To use a car analogy, it would be like spending the first lesson of a mechanic's course on the chemical properties of petrol with a brief mention that it's used in engines, and the second on suspension alignment. There's a lack of a coherent "story" that keeps the students focused and understanding "what's next". The effect of teaching "detached binary" is that you get people who can count perfectly well in it, and will tell you they "know" binary, yet can't figure out e.g. why random 4294967295s (or 542393671s[1]) are appearing in their program's output. IMHO the next step after learning about binary and data representation is how to actually compute with it. Logic gates, adders, latches, flops, sequential circuits, etc. The observation that one can build counters, automated adding machines, and then automated any operation machines (using data itself as instructions) quickly leads to the development of actual computers and what programming one actually means. It is unfortunate that this code<>data duality is for many developers only ever encountered in discussions about security vulnerabilities, but it is probably one of the most important and powerful features (not bugs) of digital computing machines, alongside the generic digital representation and interpretation of data. In my experience, misunderstanding of these two concepts are a large source of bugs and confusion among both beginning CS students and long-time HLL developers (Asm'ers are, not surprisingly, far more comfortable with those concepts.) [1] https://news.ycombinator.com/item?id=13132688 https://news.ycombinator.com/item?id=13132688 (I urge you to think about this puzzle a bit first ;)
- Karrot_Kream 8y agoIt's really hard to come up with this "story" for CS because different folks will have different needs. If you're going into hardware/embedded systems/firmware then ECC makes total sense. If you're going into academia, then maybe it's time to introduce the fields/groups portions of number coding. If you're going into high-level (web) software, then maybe it doesn't make sense. CS has so many different routes that there isn't one "story" that appeals to everyone.
- csours 8y agoInspired by this, I led a group of 5th graders and high school students through a "peanut butter and jelly sandwich robot" exercise. I had a blast and so did the kids. We had them list some steps to make a pb&j sandwich, and then I, as the robot acted the steps out as literally as possible. When they said "gather materials", I went around the room and picked up erasers, markers, water bottles; whatever I could find. When they said "put the knife in the peanut butter" I stabbed the (plastic) knife through the cardboard seal. When they said "put the peanut butter on the bread", I put the jar of peanut butter on a slice of bread. After all of that we showed a video of an industrial robot applying sealant, just like we spread the peanut butter and jelly. At the end we asked how we could have done it better, and one of the kids said "Get a smarter robot" I'd highly recommend doing something like this for a STEM day, or just for fun.
- askvictor 8y agoSounds awesome, but they let you have peanut butter in schools? In Australia nuts are banned in primary schools due to nut allergies.
- dronescanfly 8y agoI guess there are people who have sunlight allergies. Wanna ban sunlight in australian schools?
- maemre 8y agoWell, peanut allergy is lethal and can be triggered by even inhalation of peanut dust in more severe cases. Sensitivity to sunlight is way more manageable (by applying sunscreen and covering the skin) and although kids share food and/or eat them in the same environment I don't think they're carrying UV lights to apply to other kids.
- oeuviz 8y agoNeither are they carrying peanut butter to apply to other kids.
- skate22 8y agoVery few of my undergrad CS classes used a computer. Most tests were on paper, even when we had to write a working program. It was not unusual to have coding projects that accounted for maybe 10% of the grade, but it was rarely the focus.
- paidleaf 8y agoComputer science is a mathematical field. I wish we had labeled the academic discipline Computing Science rather than Computer Science.