5 ms·
Why is it that coding is such a rare (relatively speaking) skill? Sure, there are some hard concepts in coding, but for loops and conditional statements are ha
by itmag 15y ago
Why is it that coding is such a rare (relatively speaking) skill?
Sure, there are some hard concepts in coding, but for loops and conditional statements are hardly more difficult to understand than a lot of the math which gets taught in junior high.
Speaking of that, why is it essential for young people to learn algebra but not to learn for and if?
- lclarkmichalek 15y agoThe simplest way would be to shove computing under the maths curriculum. Teach if with guard statements, and skip for, teach recursion. by the time the kids get to sixth form, have a mathmatical computation course where you teach them to apply their knowledge to a language like haskell that mirrors mathmatical notation quite well.
- itmag 15y agoI would probably just go with Python or something. Teach them variables, for loops, if statements, printing stuff to the screen, stuff like that. That way they get a good notion of what programming actually is. I'm only now getting into functional programming. I would not have grokked it very well when I was like 12 years old.
- philwelch 15y agoMaybe functional programming would be easier to grasp had you not learned imperative programming first.
- kabdib 15y agoI never had a problem with this, and my first few languages were BASIC, assembly and C. LISP came naturally to me a few years later. I think the problem is that people are /used/ to imperative programs, and aren't given real practice in functional programming. There are also FP zealots, some of whom maintain that learning IP first causes damage. I think this attitude is toxic and doesn't actually help their "cause" (as if good tools needed a "cause" -- good tools should just be good tools).
- itmag 15y agoI would probably create a whole new class called "thinking 101" or something. It should teach: -numeracy: how much is 1 million/1 billion/1 trillion, etc. -common cognitive biases. -logical fallacies. -basic science. -basic coding. -De Bono's 6 thinking hats. -how the brain works. -meditation (ie not thinking). -how to learn stuff faster and better. -how to remember stuff: memory palace and the like. -etc I could think up a HUGE list of stuff in this genre that would be very helpful.
- michael_dorfman 15y agoSounds like you are reinventing the ExPhil: http://en.wikipedia.org/wiki/Examen_philosophicum http://en.wikipedia.org/wiki/Examen_philosophicum
- _exec 15y agoInteresting. Do you have any idea what kind of topics the course teaches? Is there a list online?
- d4nt 15y agoDuring sixth form college (ages 16-18, in the UK) one of the philosophy lecturers started a course with the same sort of goals. It covered critical thinking, written communication, logic, a bit of psychology etc. The 12 or so hours I spent in those lectures were among the most valuable hours I invested in anything, ever.
- itmag 15y agoYeah, it's an obvious patch to society with tremendous potential for trickle down benefit. Why isn't it being done?
- derleth 15y agoHonestly? It would likely be too much fun. There is still, to this day, a large number of people who think education needs to be repetitive rote drill in order to be... real, or legitimate, or even 'useful' by some warped definition of that concept. It's tied into the notion of hazing, or "If I had to waste my years in school tied to a desk memorizing stuff I don't use, so should you! Builds character!" And, finally, the idea that if the next generation does it, too, maybe your time doing it wasn't simply wasted.
- nknight 15y agoAlgebra is simple. It conforms to a small set of rules that are easily understood, often intuitive, and have few special cases. Problems are small, self-contained, and have clearly-defined parameters. They don't suddenly change on you halfway through the test, they don't have to account for unexpected input, and they don't have to interact with other problems. Real-world computer programs exist in a large set of arbitrary, often unintuitive rules that are both absolute and malleable, and change between languages and platforms. They have complicated requirements that seek to solve real-world problems that are often ill-defined. They have to cope with unexpected input, hostile input. They are large, comprising hundreds, thousands, even millions of lines of code. They have a multitude of paths that a given piece of input might take, they display emergence. Coding is not just a simple math problem. It requires clear, detailed reasoning about complex systems operating within arbitrary sets of rules and an unpredictable world. Related questions might be "Why do people have trouble doing their taxes by hand?" and "Why do people have such a poor understanding of the legal system?". Also, chess.
- mseebach 15y agoAlgebra is as simple as the syntax of a programming language. Applying programming to solve real world problems is as hard as applying algebra to solve real world problems - and there is also only a very small group of people able to do the latter effectively.
- mechanical_fish 15y agoThe syntax of a programming language is actually simpler than algebra. Algebra is not particularly intuitive. And, indeed, that's part of the problem. You really can't claim to be teaching anything of value if all you teach is programming-language syntax. One has to teach people to write some kind of actual program. And that's like teaching prose writing, except that schools and teachers have spent literally thousands of years learning to teach prose writing whereas programming was invented in living memory.