I often see a distinction made between teaching school-age people 'Computing' and teaching Computer Science in college or beyond. The attitude about general education teaching seems to be that we can start where we are today and just teach that, but for more in-depth understanding, it is better to start with the development of computers and include a wider background of hardware and so on.

I realize that we can't teach everything to everyone, but it seems to me that leaving out the basics of how computers actually work is a disservice to students. I would say the same thing about teaching someone how to drive: they have to have some understanding of the engine and transmission, brakes, how the tires stick to the road and so on, or else they will be dangerous. The best preparation for driving is to learn on something simpler, like a bicycle.

I have been reading this free copy of Structure and Interpretation of Computer Programs (SICP), which is in fact the same textbook that one of my professors used over 3 decades ago when I was in college. It still seems perplexing, cumbersome and entirely unnecessary to me to introduce an entire method of doing things for 300 pages -- the substitution model -- before disclosing the mystery (or misery, as they might say) of Assignment. Why teach people something that the authors admit is impractical in the real world, merely because they think it would be nicer if the real world worked that way? No other field has this kind of arrogance, as far as I know. Put Assignment on page 3, where it belongs. It is the entire point of why we created computers, and variables are the very thing that make computers and programs what they are: a unique and unduplicated feature of reality. Nothing else in nature works like a variable! Teach that first.

I respect SICP and the authors, and when I was a student (already with years of exposure to the primitive computers of the time) I could see the 'academic' slant that they put on it, but it did very little for the half of the students in the class who washed out or gave up on computing.

The modern world is a huge and growing ziggurat of concepts and systems. If we just plop people down on the top, they will have no idea what they are using, what is using them, and how and why it all got to be that way. It is an arduous climb to the top, or to explore any one level, but building an accessible ramp will not give people the background they need to really make use of a field.

As an example, my father first got a computer less than 2 decades ago, so he was plopped in to Windows, email, images and so on. His major activity on the computer seemed to be email, and exchanging photos. I can't tell you how many times I walked him through attaching and detaching photos, and every time I said 'click' he would always bark: "Right click or Left?" No matter how many times I said 'click' means left and "right click" means right, he had no basis for the distinction, so he could not realize that right clicking invokes a contextual menu. This is like how some functions of a car are conveniently on little stalks arranged near the steering wheel (my car has three, and it is pretty old), while all the others are on the Ribbon, er, Dashboard (now why the heck is it called that? Oh yeah, muddy roads and horse's hind-ends).

If my father had understood that we started with toggle switches and lamp bulbs, then went to Nixie digits, then Teletypes, then character terminals, then added images, then someone figured that we might as well create a comprehensive OS with a UI that all programs could make use of instead of reinventing it each time, then my father would have understood the difference between frequently-used contextual actions, and the blizzard of lesser-used Menu actions.

It shouldn't take too long to start students at the beginning, continue until the reach the present, then teach. Someone I know says that not disclosing something is the same as lying to them. Perhaps we should no longer have these implicit "lies to children" by withholding vital background from them?

(I was tempted to name this post "That's Really SICP!" but I figured that most people would not get the reference - 'sick' is like 'bad' was in the 70's. But, I bravely turned my keyboard and fled from making yet another joke within a joke within a joke because:

0) No one gets my jokes anyway, and
0) People find them irritating

(A reference to The Dancing Wu Li Masters))

  • $\begingroup$ At the end of page 320, the text says: "In particular, Section 3.1.3 argued that, in the presence of assignment, a variable can no longer be considered to be merely a name for a value. Rather, a variable must somehow designate a β€œplace” in which values can be stored." So far, so good. It goes on: "In our new model of evaluation, these places will be maintained in structures called environments. An environment is a sequence of frames. Each frame is a table (possibly empty) of bindings, which associate variable names with their corresponding values." Severe violation of the KISS Principle! $\endgroup$
    – Scott Rowe
    Aug 2, 2018 at 15:38
  • $\begingroup$ Interesting post. Now I wish we had a blog to place it in. To continue your comparison with drivers' ed., the drivers should be taught how the compression and fuel-air mixture achieves combustion. This, of course, only after an explanation, all be it brief, of how external combustion engines work, and why they failed for automotive applications. They should also understand how the gearing rations in the transmission, and rear end, convert the engine torque into motion, and how different tread patterns avoid hydroplaning, etc.....? $\endgroup$ Aug 2, 2018 at 15:45
  • $\begingroup$ You have the vision, the credentials, and the knowledge needed to create a modern replacement for SICP. I look forward to reading the new textbook. From this question it seems there is an audience for updated materials. $\endgroup$ Aug 2, 2018 at 15:52
  • $\begingroup$ @GypsySpellweaver Siphonaptera is a rhyme by the mathematician Augustus De Morgan, named for the biological order of the flea: "Big fleas have little fleas upon their backs to bite 'em, And little fleas have lesser fleas, and so, ad infinitum." All these programming bugs biting us started with the Byte, which was bit by the Bit. Similarly, Chemistry is founded on the proton, neutron and electron, and so teaching that left those out would be incomplete. $\endgroup$
    – Scott Rowe
    Aug 2, 2018 at 15:56
  • $\begingroup$ Staff and students will appreciate your new book, PACT. Pragmatic Approach to Computational Thinking promises to deliver "only what every student really needs to know." Professors will appreciate PAACT, Pragmatic Approach to Advanced Computational Theory. $\endgroup$ Aug 2, 2018 at 16:48
  • 1
    $\begingroup$ @GypsySpellweaver wrt the blog suggestion...you could always do as Worldbuilding and create a blog on Medium, though I think they might be transferring it somewhere - might want to ping Monica Cellio, as I think she's the main coordinator of the blog over there. $\endgroup$
    – auden
    Aug 3, 2018 at 0:57
  • $\begingroup$ @heather We do have a blog for CSE in the works. It just happens to be a low priority, relative to real life, for the team developing it. $\endgroup$ Aug 3, 2018 at 1:03
  • $\begingroup$ @GypsySpellweaver please state your question in the form of an Answer. $\endgroup$
    – Scott Rowe
    Aug 3, 2018 at 1:56
  • 1
    $\begingroup$ Is there a question about cseducators.stackexchange.com here? If so, please highlight it in some way. If not, this is off topic. $\endgroup$ Oct 18, 2018 at 15:41
  • $\begingroup$ @PeterTaylor Clearly, there is a question about how to teach computer science. I think that is on-topic, otherwise, please direct me to a site where it is? $\endgroup$
    – Scott Rowe
    Oct 18, 2018 at 22:59
  • 1
    $\begingroup$ Questions about teaching CS belong on cseducators.stackexchange.com, not on cseducators.meta.stackexchange.com. $\endgroup$ Oct 19, 2018 at 6:13
  • $\begingroup$ @PeterTaylor it is a question about questions about teaching. Your question is a question about questions about questions. I think I need a meta-analyst... This place is making me think about going crazy! $\endgroup$
    – Scott Rowe
    Oct 20, 2018 at 0:06
  • $\begingroup$ Remembered this old thread from this recent chat $\endgroup$
    – Rushi
    Aug 17, 2020 at 10:17

3 Answers 3


Below said in v friendly tone... Dunno if tone transmits... (TOIP?)

This started out as a comment here. But on second thought better here! You need to imagine it there πŸ˜†

And BTW your posts are infuriating (ifg). It's ifg that you post on meta what should be here. It's ifg that you write one sentence that I am in violent disagreement with followed by adjacent one which I fully agree with.

Eg I agree with you that scheme should not be taught (to beginners) but for the opposite reason that you espouse. It's ifg that when I try to start probing this you dodge by irrelevant comments like this

And it's ifg that I can't prize these opposites apart!

And more than ifg it's disconcerting that beyond the technical questions we are in agreement but mostly only the disagreement gets communicated.

And yeah I agree with Ben for migrating your question but I probably would not have answered it if I'd seen it there -- I'm really too fringe/misfit out here. So I ended up answering twice! ifg!!

So let me give last word to Fr Thomas Merton

The deepest level of communication is not communication, but communion. It is wordless. It is beyond words. It is beyond speech. It is beyond concept. Not that we discover a new unity, but we discover an old unity. My dear brothers and sisters, we are already one. But we imagine we are not. And what we have to recover is our original unity. What we have to be, is what we are.

  • $\begingroup$ Yes. Read the Epilogue to "The Sign of Jonas", I think it's called "Firewatch". (The rest of the book is good too, but you have to be interested in nonduality, whether you know what that means or not.) $\endgroup$
    – Scott Rowe
    Jan 12, 2022 at 11:03
  • $\begingroup$ πŸ˜€ This Christmas I read (bits of) course in miracles. Of which some sign remains in the aether... Allow me to pass on the recommendation $\endgroup$
    – Rushi
    Jan 12, 2022 at 12:49

Ellen Spertus question on How to convey how we have grown since the 60s
Combined with these conversations with you prompted the following considerations

Everyone answers in the Big is Better vein It can be but it need not -- a big bank balance is good, a big bill is not (at least for the recipient!)

Let me try and collect some lines of deterioration.

Rock's Law

People gush over Moore's law but neglect its converse: Rock's law which states:

The cost of a silicon fab doubles every four years

This is bad for hardware innovation: You may come up with a super design. But if you cant compete with Intel's process you have no chance.

Attention span

Student's attention span has dropped alarmingly due to continuous stressful interrupts

... And Intelligence



Transformation of dummy : Stupid - Bestseller


I used to insist my students first handwrite code.
I stopped insisting.
I stopped doing, using emacs.
Right bow I'm on my phone

Is this progress?
Does my (our) body find it a progress?

Turing complete

universal devices mean single point of failure [Thanks Scott for that cartoon]

Intelligent systems

fail more dangerously

Maslow 3.0


Techno-corporatization = Indiv-isolation

  1. Film theatre - Netflix
  2. Library - Google
  3. Local club - Facebook
  4. Usenet - Stackexchange
  5. Social life - Social media...

The Epic of the Twitter-President

  • $\begingroup$ Thank you, more food for thought (yum yum!) Maybe we have reached Peak Human. $\endgroup$
    – Scott Rowe
    Jan 12, 2022 at 17:34
  • $\begingroup$ @ScottRowe added a last section... Remains yum-yum?? Let me know... $\endgroup$
    – Rushi
    Jan 13, 2022 at 7:37
  • $\begingroup$ Sure. I liked the article on intelligence declining. AI will keep us as pets, but that will work out fine. Capitalism is a mixed blessing for humanity,: a spinning machine without a governor, evolution with no fittest. $\endgroup$
    – Scott Rowe
    Jan 13, 2022 at 12:53

No one else wanted to offer a response, so I will.

The most destructive and dangerous fallacy that humans have had, and continue to have, is Magical Thinking. Education has to start with facts, and build up only with layers of well-known and reasoned concepts. There is no crying in baseball, and no magic in computing. A computer is literally and entirely a large number of transistors acting as switches, nothing more.

We need to begin with the very first insight about computing that anyone ever had: Ada Byron's idea that numbers can symbolically represent other things, like letters or anything with discrete characteristics (or things that can survive the brutality of being sampled digitally).

If we start at a higher level and leave this fundamental insight unexplained, we are doing a blatant disservice to our students. This is not Hogwarts, and there is no magic. The entire basis for computing being an equitable, accessible field is that it can be taught and understood, so we should not skip the basics.

Teach everyone the same stuff. Don't leave out the fundamentals. Don't start with abstractions that are unexplained. Anything unexplained is potential error, and these days, that is unacceptable.

  • $\begingroup$ Pretty soon, AI will be able to do most things. What can only humans do? $\endgroup$
    – Scott Rowe
    Jan 1, 2019 at 3:40

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .