Computational Thinking Benefits Society (2014)
socialissues.cs.toronto.edu
socialissues.cs.toronto.edu
We just need to incorporate what we've begun to understand through computer science into our own common sense.
This is the correct approach, except, it is the only approach and is and will happen anyway. It happened as we better understood objectivity and subjectivity, as we understood mathematics and logic, and as we understood science and factuality. With computers, it's abstractions and execution of languages, expressions of logic, etc. The beauty of it is it's more relevant to how we compute, so it's like understanding how we understand. And that's the field of AI.
Give kids a computer and things to build, and they will naturally learn from the experience. No need to bring up the term thinking, or science, or even computers. We think, we learn, we understand. Saying we need to somehow do these things is redundant. Encouraging more open source open hardware computers in classrooms is what we need to be doing.
I don't think this is obviously true. At least superficially it isn't: the human brain doesn't work like a formal system, as far as we know. Most definitions of computational thinking I've read do not equate it to thinking.
What is true, however, is that it's not redundant to speak of "computational thinking", because it's not been proven a synonym for thinking in general.
That's the fundamental distinction. It's not that the thinking is more or less computational. It's that the thinking can be put down in words as a computation without great loss in fidelity.
But we think in words. Thinking and speaking come from the same place, and when we are thinking, most of it is us talking to ourselves. It's our inner dialog. It's "communicating to other brains", where "other" is "our". The only difference really is who it's directed to, whether we've voiced it or wrote it down, and whether we self-censored some of it in the process.
Not everyone does this.
> The only difference really is who it's directed to, whether we've voiced it or wrote it down, and whether we self-censored some of it in the process.
That last part is the part that's key to computational thinking. What has been elided from your thoughts (expressed as an inner monologue, communicated via writing or voice to others)? Computational thinking requires you to be able to provide sufficient detail that a "computer" can repeat the process that you have performed, and potentially enough logical information that it can handle exceptional cases and situations. For a sufficiently advanced computer (read: intelligent and educated human), "Solve the equation for X" may be sufficient. For a program in C, you'll have to provide more detail. For a Mathematica program, it's about the same as communicating it to a human (depending on their level of education and the qualities of the equation, Mathematica may require more or less detail).
Yes, you do need to be literate. But if you are, and you think, what do you hear? And what did you just write, if not your thoughts? Except directed to me/HN after confirmed with yourself?
I would not use the term computational thinking for what you are describing, and I wouldn't consider natural languages and programming languages and mathematics all "languages of thought" either. Mathematics is formal. Programming languages are Turing Complete instruction sets with abstraction and other language features. Natural language is something entirely different. The only thing they all have in common is that they are expressed with symbols.
> Computational thinking requires you to be able to provide...
That part is just computation. I would not consider being able to duplicate instructions in C as a computational thinking goal. I would consider duplicating the instruments we have that back our thought processes in C that would generate thought processes within a machine as "computational thinking" or just "thinking" or "artificial intelligence". A computer solving a problem we can solve is not artificial intelligence. It's just intelligence copied.
I will admit though that we may be using some terms to mean slightly different things.
> Yes, you do need to be literate.
At some level, I suppose. But there's a lot of thought that occurs without words, and the conversion into words when I'm writing or speaking happens so late in the process that is indistinguishable from the act of writing or speaking.
> But if you are, and you think, what do you hear?
If I hear anything at all, it's more like music than words. But usually, what I see in my mind's eye is more relevant than what I hear.
It actually took me a very long time to figure out that when people say "internal monologue" they aren't speaking metaphorically. It's not something I've ever experienced.
> And what did you just write, if not your thoughts?
It's more of a description of the relevant parts of my thoughts than my actual thoughts. Words feel like a crappy copy of thoughts to me.
Look up the definition of computational thinking. It isn't AI.
You're not thinking when you're driving though. The term is highway hypnosis. When we know what we're doing, we become unconscious and unaware, granting us bandwidth to think of other things. When I drive I think of other things.
For the most part, I don't think we're referring to the same things with "thinking". If we were, we'd see we're contradicting a lot less.
> definition of computational thinking
Right. And disagreeing with this definition (or formulation) is where I started, so no surprise there. I would say the original article deviated from (or may have even been irrelevant with) the formal definition (or maybe not).
(edit: What I'm saying is, if you're thinking straight, it is already computational, so there is no need to make the distinction. I still stand by that statement after considering everything thoughtful posted here, by you and everyone else.)
That's a thing to avoid because it's dangerous; it isn't the usual case.
Even just driving is "just doing it". Most driving is autopilot. Awareness is not necessarily "thinking". We don't deliberate/contemplate/philosophize while driving unless we're incompetent. And we can very much decide/simulate/execute/do without much thought. Thought helps, but those things themselves are not thinking. We have our gut, our instincts, our imagination, our intuitions, and our spurs of the moments, all which are used as opposites to "deliberate thought". Considering all computing the brain does as "thinking" undermines all of these differences.
It'd be easier if my use of the word was just wrong, but reviewing the definition of "computational thinking", they only refer to the deliberate kind also. If there was a better word than "thinking" for what I'm referring to, I'm sure "computational thinking" would adopt that expression also.
At the end of the day we're just nitpicking semantics, and there are better uses of our time.
So the inner monologue clearly isn't how I think (what I use to think), but seems to be something more like samples from a debug trace or audit log.
There may also be a lot of personal variation in things. I know that I am very much not on the "verbal thinking" side of brain design space - to the point where thinking of things to say distracted my visual processing and made me practically incapable of doing eye contact in conversations.
But why words are important here is also because we are talking about computation. To reason, we need something to hold on to and reason with. We need to be able to move things around and then feed back into our minds or minds of others. This is the computation. And computation is done with abstractions. Words are all abstractions. And abstractions are constructed from experience. And that is how they all connect, and why words, even though they may just be words, can be asserted as true or not true. But the truth value of a statement can only be known by computation. Truth is the result of computation which requires abstraction.
We could make the distinction between intentional computation and computation done under the hood. Our brain does a lot of prep work before we even see anything. But for the most part, when we say "thinking" it is safe to say we are referring to the deliberate kind (or maybe not, and that is where we aren't quite meeting eye to eye). The deliberate kind will conclude with words to be shared and be computable.
>Notes to self are in words.
I've planned things without ever using words, even to myself. I've done things with only nonverbal thought driving my behavior. I have specific non-verbal handles for these thoughts, although obviously they are hard to communicate verbally. You don't need to be able to express them if you're capable of, you know, just doing it.
>To reason, we need something to hold on to and reason with.
You can do this with visualizations, as well as other abstract non-verbal structures. I can rotate shapes in my head, or non-verbally figure out a mathematical proof and then go back and fill in the verbal steps.
> I have specific non-verbal handles for these thoughts,
Right. But you have handles. Just assume by "words" I mean handles, and we're talking the same language. You may not like my choice of words, but the reason is that as long as we have handles, words are easy to come by. In fact, they're just convenient labels. "I don't label" is no substitute for "I don't think". But "I have nothing to label" is. By "non-verbal" you're not saying you have nothing to label. You just don't bother with names.
> just doing it.
Right. But that's intended also to mean "without thinking about it" and that's exactly how I was using the word "thinking".
I'm assuming you're considering the computation of dancing as a counterpoint to my statements regarding words, but if we are to go that route, I would consider the language dancers use. Different "moves" are clearly abstracted and used to convey various emotions and inferences. At this point we have the language of the dance. And most styles have a dictionary of moves. They then practice so that those moves become second nature, so that they can just do it, without thinking about it. But I would posit that the thinking is done during practice, so that it's all baked into the output which would be the performance.
I'm not good at dancing. You're right about that. (I do enjoy it though)
There is a difference between computation being part of the underlying substrate of thought, and having thoughts formulated explicitly in terms of a computational framework. The article is advocating the second thing here (the question of whether the second thing is a necessary consequence of the first thing is an open question: neurons are also part of the substrate of thought—does that mean we will inevitably come to think in terms of neurons?)
Edit: thinking more about it though, I do believe the structure of our brains makes it inevitable that we will always need abstractions and to consider alternate problem/solution representations—but the emphasis on algorithms is more related to contemporary computing hardware than the structure of the human brain.
I use the term “computational thinking” as shorthand for “thinking like a computer scientist.”Until things are abstracted to the point where the human brain has literally no ability to understand what is actually going on. Other interesting parallels to this post in this talk:
https://www.ted.com/talks/kevin_slavin_how_algorithms_shape_...
"Soandso is the first president to do X"[0]?
or "...X will be a fundamental skill—just like reading, writing, and arithmetic..."[1]
Are there any so-called fundamental skills left for us to discover?
[0]: https://www.whitehouse.gov/blog/2014/12/10/president-obama-f...
[1]: http://socialissues.cs.toronto.edu/index.html%3Fp=279.html
When the only application is geometry, and they hate geometry, they won't care about the "tool" being used.
I think we made a great mistake by getting rid of them.
Anyway, my comment was a social commentary - it doesn't seem that pure logic is really what ultimately matters in human society, sadly. That is, if some other people are using logic wrong, you will also gain if you use it wrong in order to convince them.
Although I would also say that empiricism is much more important to rationalism (logic). There are many ideas that seem very logical, yet they are very bad, because people intuitively misunderstand some aspect of reality in their model.
There are so many processes for humans that are based on assumptions that humans have large and perfect memory, that there is no cognitive overhead in task switching, and that humans can repeat the same task exactly over and over. On the other hand, I also see foolish people who try to automate processes designed for humans with computers, for example, manual entry of data into database.
I think they're making a very important point, although the definition they give of "computational thinking" is woeful.
Also you can use the "Article mode" of your favorite browser (like Firefox). But, I don't know why, it doesn't always appear.