5 ms·
The idea that we should be teaching Computational Thinking, imho is nonsense, and I've blogged about it here http://coding2learn.org/blog/2013/10/10/computing-
by MarcScott 12y ago
The idea that we should be teaching Computational Thinking, imho is nonsense, and I've blogged about it here
http://coding2learn.org/blog/2013/10/10/computing-is-much-more-than-coding/ http://coding2learn.org/blog/2013/10/10/computing-is-much-mo...
I struggle to find a simple example of where CT applies to everyday life, outside of the sphere of programming. Kids should experience code first, and then realise how it can simplify their lives as they begin to understand CT.
- j2kun 12y agoI support you in full for taking a critical mind to the topic. But I take issue; I think your perspective is overly narrow. You say > We’re teaching programming, network infrastructure, databases, communication protocols, markup. We’re teaching these things because these technologies are so ubiquitous and important, that it will benefit everyone to have a little understanding of them. I don't know what your computer science education was, but the fundamental idea in mine was "learning how to take an idea in your head and turn it into a program." The principles were not networks, databases, and protocols, but rather modularization, reuse, clarity, and algorithm analysis. You think refining these tools is not important? You give an example: > If I was to shuffle a pack of fifty-two playing cards and hand them to you, then asked you to sort them, you’d do what any sensible person on the planet would do. You’d sort them into suit order first, then into value order. The point of computational thinking is that you can concretely analyze how good this method is and compare it with others (I'm sure you know the tradeoffs involved in sorting!). Of course everyone knows how to naturally decompose things, but reasoning about it and handling adversarial cases, that's where computational thinking comes in. Computational thinking (forget the Popular Title, just the idea of applying computational ideas elsewhere in life) is extremely valuable, and I'll give you two prominent examples: the first in the design of fair markets, which has revolutionized more than one industry [1], and the design of new computers, such as quantum computers and DNA computing [2]. I can continue: computational thinking is applied in designing fun games (not just in programming them!), art and product design, literally every optimization problem in every industry, cognitive psychology, the study of evolution, political analysis, information and security, and so on. I can give you references and examples if you want. You would rather call Computer Science "what it is" and omit these opportunities for people who don't want to be software engineers their entire life? It sounds more like you're in a bubble where the only thing to aspire to is Steve Wozniak and browser design and "realistic flag fluttering" in games. The truth is that computational systems are everywhere in life, and being able to recognize, formalize, and analyze them are what makes computational thinking useful. It's not just about writing programs. Maybe your point is that we should separate the two fields: instead of one big Computer Science degree we should have Software Engineering which is just about programming and Theoretical Computer Science which is just about the mathematics and Applied Computer Science which is about the other stuff. I wouldn't be opposed to that, but your argument rather suggests we throw everything out but protocols and databases, and if someone told me I were going to get that and only that from a computer science education, I'd have run far far away. [1]: http://jeremykun.com/2014/04/02/stable-marriages-and-designing-markets/ http://jeremykun.com/2014/04/02/stable-marriages-and-designi... [2]: http://en.wikipedia.org/wiki/DNA_computing http://en.wikipedia.org/wiki/DNA_computing
- MarcScott 12y agoI agree that I am in bubble, in that I teach in a UK secondary school. My job is to get kids excited about computing and for them to see what an amazing subject computer science can be. The way I tackle this is to show them how through code, they can take a complicated problem and make it trivial to solve. As an arbitrary example, take Quick Sort. Trying to explain the algorithm to someone who doesn't know how to code is exceptionally difficult. Once they practically understand recursion, then it becomes simple. I completely agree with you that CT is exceptionally valuable. My issue is with the timeline. I personally feel (and I am completely open to the idea that I might be wrong, given my inexperience), that we should be teaching kids to code first and then CT afterwards. CT, without the benefit a knowledge of programming or University level mathematics, is a little pointless.
- j2kun 12y agoYes, but teaching them protocols and network infrastructure? I can't think of a worse way to get them excited. That being said, I think Quick Sort is a lousy sorting algorithm for teaching. Mergesort and Treesort are much better.
- jacquesm 12y agoIf you want kids to learn how to code make games with them. It's by far the most approachable subject and it doesn't take long until a game of any complexity allows you to slowly introduce more serious material. I'm pretty sure there were only two phases in my career when I jumped a level (or two) up in capabilities in a very short time, the first was when I was a professional games programmer, the second when I wrote an operating system. I would strongly recommend against the second ;)
- pbhjpbhj 12y agoExcept you have to call them stories, just in case some girls might be put off ... eg http://kata.coderdojo.com/wiki/How_to_encourage_girls http://kata.coderdojo.com/wiki/How_to_encourage_girls. [It's relevant because all the "communities" mentioned in the post promote girls as deserving special treatment that is not offered to boys. Either overtly or less conspicuously - code.org and coderdojo make special notes on how to encourage girls but no special notes on how to encourage boys that I can find (please correct me). I'm not saying you shouldn't consider that some children might prefer a story-based approach (boys and girls); a specific active/physical approach might be preferred by some children, or ... ]