7 ms·
No no no no please no. Don't teach them to code. Teach them to think first. If you give someone a hammer without telling them how to use it, they are going t
by pointyhat 15y ago
No no no no please no. Don't teach them to code. Teach them to think first.
If you give someone a hammer without telling them how to use it, they are going to hit some fingers and get frustrated.
I think we should teach children to understand mathematics at an algorithmic level and let them see that programming is a tool/hammer for executing those algorithms. Unfortunately current educators tend to concentrate on the pure mechanical aspects of mathematics such as arithmetic and punching numbers into off-the-shelf formulae which is the real problem.
Personally, they should just throw in valid use cases that map to reality like calculating GCDs or Newton's method and let them knock up the programs in TI-BASIC on their standard issue TI-84's.
That's enough for school, even to A-level.
Footnote: For reference I was brought up at school in the UK on LOGO, BBC BASIC (6502 and ARM), LEGO Dacta and TI BASIC. Life was good for me, but I know that my peers found it frustrating when they just wanted to solve a problem and go home.
- mibbit 15y agoAgree. Kids need to learn logical thought processes and problem solving. They don't need to know how to 'program'. How do we even know 'programming' will be a relevant skill in 30 years time? Buy every kid of 3 a tub of Lego bricks (Not a 'set'). That would go a long way to getting them thinking, problem solving, and building stuff. And don't get me started on the "There aren't enough females in programming" BS rolleyes FWIW, I would happily sign against this petition. I do not think teaching kids to 'program' at school so early is worthwhile. Programming is an extremely niche career, and anyone who is interested in it can easily learn. You're likely to bore 90% because they're not interested in learning programming, and the other 10% will have learnt it all at home years ago and will also be bored. </rant>
- guillaume_a 15y ago>Buy every kid of 3 a tub of Lego bricks (Not a 'set'). That would go a long way to getting them thinking, problem solving, and building stuff. That's a really weak argument. Buy every kids Lego, and all teaching problems would be solved? >And don't get me started on the "There aren't enough females in programming" BS rolleyes Oh, please get started. >Programming is an extremely niche career, and anyone who is interested in it can easily learn. Being a software engineer/developer is. Knowing how to program is just as useful as basic math or writing- anyone can benefit from it. >You're likely to bore 90% because they're not interested in learning programming, "Don't teach math or english, you're likely to bore 90% because they're not interested". Getting the kids interested is part of teaching. Have you ever taught K-12?
- _corbett 15y agoThere aren't enough good programmers. Period. In fact there also aren't enough programmers, period.
- pointyhat 15y agoPersonally, I think there are plenty of good programmers. Unfortunately there are a lot of problems which people like to solve over and over again...
- _corbett 15y agoyou should see some of the code that smart, hardworking and logical people end up writing in the sciences because they are 10 years behind in programming education and experience. then the next generation of PhD students rolls in and rinse, repeat.
- mibbit 15y agoPerhaps if more programmers were working on a solution to cancer, instead of a social webapp to allow people to share photos of their dogs... Not to mention the number of programmers who waste their time creating new languages and frameworks. Then they spend years rewriting everything in node.js or whatever the fashion of the day is. I'd say there's more than enough programmers.
- saturn 15y ago> who waste their time creating new languages and frameworks Well that's just laughable, and says more about yourself than any of these allegedly offending third parties. There has been tremendous progress in both frameworks and languages over the last decade. If you can't see that then, well, I don't really know what else to say, other than to perhaps get off your lawn.
- pointyhat 15y agoBut 99.9% of these innovations don't help the world. They help a small subset of a small subset of a small subset of problems from a small subset of a small subset of a small subset of society. Compare to if someone worked out how to stop Neurofibromatosis dead in its tracks for example (a condition my youngest daughter has), they'd give 1 in 3000 people a better chance. People get a Jesus complex because they build a tool that a vocal minority uses.
- rohit89 15y agoI agree. I hated maths in school where you had to plug numbers into formulae. I could never remember them correctly. This stuff should be made interesting so that kids with their natural curiosity will figure out how to do it. I truly started appreciating maths after I experienced cases where you could code an elegant solution based on math in about 5 lines as opposed to trying to solve it your own way and end up having 30+ lines of code and your program still buggy.
- _corbett 15y agoI completely disagree with this, programming is a fundamental skill in a variety of careers and can be used as a tool to teach how to think. It isn't an either-or proposition, incorporating programming exercises into any science oriented class can not only be illustrative, it like any sort of hands on lab does teach students to think like a scientist and helps to create a more realistic microcosm of how science is actually done these days, with programming forming a bridge between theory and experiment and heavily relied on in analysis.
- pointyhat 15y agoIt's fundamental in possibly less than 5% of careers. Don't inflate it to something it isn't.
- mibbit 15y agoList 10 distinct careers where programming is a fundamental skill.
- dpritchett 15y agoPretty much anywhere people use Excel. Any job where people use spreadsheets and their output is quantified and measured against their peers is ripe for automation by enterprising individuals. Why not be the fastest, most accurate analyst on your team? From pg: "To get rich you need to get yourself in a situation with two things, measurement and leverage. You need to be in a position where your performance can be measured, or there is no way to get paid more by doing more. And you have to have leverage, in the sense that the decisions you make have a big effect." And also from Zed Shaw: "Programming as a profession is only moderately interesting. It can be a good job, but you could make about the same money and be happier running a fast food joint. You're much better off using code as your secret weapon in another profession. People who can code in the world of technology companies are a dime a dozen and get no respect. People who can code in biology, medicine, government, sociology, physics, history, and mathematics are respected and can do amazing things to advance those disciplines." [1] http://www.paulgraham.com/wealth.html http://www.paulgraham.com/wealth.html [2] http://learnpythonthehardway.org/book/advice.html http://learnpythonthehardway.org/book/advice.html
- brlewis 15y agoLetting a kid hit some fingers and get frustrated can be the best way to prepare him/her to care about listening to an explanation of how to use a hammer. I think the reason I enjoyed SICP so much at MIT was because of my teenage experience banging my head against the limitations of BASIC.
- troels 15y agoNot just for kids either. I realised at some point that one of the best way to learn things is to try, give up and then come back later and try again. By some magical means, the timespan in between will always make it tremendously more intuitive the second time I came around.
- panic 15y agoI think we should teach children to understand mathematics at an algorithmic level and let them see that programming is a tool/hammer for executing those algorithms. Computers are useful for doing math, but for most kids, and even most adults, that's one of least interesting things they can do. A program isn't just a hammer. It can be a paintbrush, a tape recorder, a story, a symphony, or a lab assistant. And a program is more than any of these things -- a real-life paintbrush can't change the size of its bristles, and you have to draw every stroke by hand. On a computer, everything's just code. You can run your "paintbrush" routine billions of times, vary its parameters using your voice, or earthquake data, or a physics simulation, or anything you can imagine. As a programmer, maybe I'm biased, but I can't imagine any job beyond the most menial where the ability to program wouldn't make me more productive.
- pointyhat 15y agoIt sounds like you're suggesting that we should replace our children's life with sterile simulations of reality? I'm a programmer but I value physical experience far more than anything a machine can portray. The programming bit allows me to remove the menial tasks and solve the menial problems so I can enjoy my real attachment to this world.