News for hackers. Stuff that matters.
Re:Coding - the new Latin by itmag on Monday November 28, 2011 @06:20AM (#3285442)
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?

Re:Coding - the new Latin by lclarkmichalek on Monday November 28, 2011 @06:27AM (#3285456)
The 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.
Re:Coding - the new Latin by itmag on Monday November 28, 2011 @07:06AM (#3285535)
I 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.

Re:Coding - the new Latin by d4nt on Monday November 28, 2011 @07:17AM (#3285552)
During 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.

Re:Coding - the new Latin by itmag on Monday November 28, 2011 @07:22AM (#3285568)
Yeah, it's an obvious patch to society with tremendous potential for trickle down benefit. Why isn't it being done?
Re:Coding - the new Latin by derleth on Monday November 28, 2011 @09:19AM (#3285929)
Honestly? 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.

Re:Coding - the new Latin by michael_dorfman on Monday November 28, 2011 @07:15AM (#3285550)
Sounds like you are reinventing the ExPhil:

http://en.wikipedia.org/wiki/Examen_philosophicum

Re:Coding - the new Latin by _exec on Monday November 28, 2011 @12:26PM (#3286713)
Interesting. Do you have any idea what kind of topics the course teaches? Is there a list online?
Re:Coding - the new Latin by _exec on Monday November 28, 2011 @12:27PM (#3286719)
I'd definitely be interested in reading the full list :) Any more suggestions?
Re:Coding - the new Latin by itmag on Monday November 28, 2011 @06:12PM (#3288046)
It depends on what you are interested in. Thinking better in general?
Re:Coding - the new Latin by _exec on Wednesday November 30, 2011 @12:15PM (#3295781)
Yes, definitely. I don't know the right term / description of what I have in mind though. Maybe "meta-cognition"?
Re:Coding - the new Latin by pmf on Tuesday November 29, 2011 @08:19AM (#3290163)
Loving this idea.
Re:Coding - the new Latin by itmag on Monday November 28, 2011 @06:50AM (#3285504)
I 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.

Re:Coding - the new Latin by philwelch on Monday November 28, 2011 @07:05AM (#3285531)
Maybe functional programming would be easier to grasp had you not learned imperative programming first.
Re:Coding - the new Latin by kabdib on Monday November 28, 2011 @07:18AM (#3285553)
I 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).

Re:Coding - the new Latin by itmag on Monday November 28, 2011 @08:05AM (#3285673)
Well, FP is more elegant. But sometimes you just need a chainsword.
Re:Coding - the new Latin by itmag on Monday November 28, 2011 @09:25AM (#3285952)
I will not be silenced by the functional agenda, dammit. Sometimes the right tool is imperative programming :p
Re:Coding - the new Latin by nknight on Monday November 28, 2011 @08:15AM (#3285694)
Algebra 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.

Re:Coding - the new Latin by mseebach on Monday November 28, 2011 @08:34AM (#3285752)
Algebra 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.
Re:Coding - the new Latin by mechanical_fish on Monday November 28, 2011 @10:31AM (#3286211)
The 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.