So I was thinking, shouldn't we be teaching young kids to program? It is a known fact that your ability to adopt a new language is much stronger when you are young, so shouldn't we replace a class, for example, like foreign language or another elective class with programming? I always read stories about these little kids who can program in some pretty impressive languages. I wish I had the opportunity to participate in such an education program. What do you guys think?
We definitively should, we need developers!
I agree 100%. Kids should be taught programming as early as possible. Though, I would say replace an elective with programming not a foreign language class. Learning a foreign language is very important. In fact, children in the US should be taught a foreign language much earlier than the currently are. Most students do not start taking foreign language classes until middle school, which is much too late.
I actually learned how to program when I was 10, back at a time when no one learned programming, not even in high school--but I had a very fortuitous situation that enabled me to do this. Things have gotten much better since then. And children in my school district do take a technology class that does teach some very, very basic programming, but they do not take this class until 4th or 5th grade. And in my opinion, this is much too late.
The main problem I think is that in order to learn programming you need strong logic skills and a good understanding of fundamental math. And many of these needed skills are not taught until the 4th or 5th grade. And I think this has always been a problem in the US. It has gotten better since I was in school, but math and logic skills are not taught with any rigor until middle school and sometimes not until high school.
So, I think learning math, logic, and programming all need to be pushed further down within school curricula in the US.
I totally agree. I have a part time job tutoring young children. They're so impressionable and malleable (and adorable to!) why not teach them something that actually has a huge industry behind it. And a way to release all that creative potential. Imagine a bunch of fifth graders creating a Java game! It would be so cool!
When I was in the fifth grade, I had to learn how to play the fucking recorder. Really? A fucking recorder? I would love to have learnt how to code instead.
I agree heavily with the foreign language part. Nothing better than learning a language. You absorb more than the vocabulary, but learn about their culture, way of life, literature, philosophy and so much more! My dad is giving my so much flak for learning French. He thinks it's useless especially since I live in California, an almost Spanish dominated state. But no regrets! I'm learning so much more than I do in Algebra or Physics and it' more useful than both of those classes combined!
Teaching people programming...maybe. I think the best thing that one can do with teaching programming is not teaching the language, but teaching the mindset that comes with it. Languages change but the mindset doesn't. Everyone needs, in my opinion, the "this is great, but how do I make it better" mindset. There are too many people today that don't have this mindset, and as a result, have trouble getting by with the fundamental stuff in various subjects. They don't try to solve their problems
Edit: left out some stuff the first time
Yes, start with basic logic skills. Show them that they can make simple games (and how) without getting too deep into it, they will be drawn to it if it is something they enjoy. Programming right now is what keyboarding was 20/25 years ago. Fairly soon if you don't understand basic principals of programming, you're not going to go very far in higher educational work environments. Almost every field in Science today requires a basic understanding of programming (which is becoming an increasing percentage of the work force). Besides manual labor, you're going to have to understand even basic forms of code to get by fairly soon.
I just thought of this when i read your comment.
Already on it in the UK. http://www.telegraph.co.uk/technology/news/10410036/Teaching-our-children-to-code-a-quiet-revolution.html
I would rather teach more math to children, because programming languages aren't that hard to learn, the vocabulary and the syntax usually are simplistic compared to a spoken language. Most people struggle with logical concepts when they try to learn computer programming, which is due to a math deficit.
The reason why so many lateral newcomers to computer programming get stuck and then give up is because virtually all programming tutorials assume a math-background.
I could see combining math & programming to compensate for that.
In a similar perspective, this is why:
Teaching programming to all students is not about creating a new generation of super hackers, but providing foundational skills (much like maths and science etc) for the world they will grow up in. The people who will run the world once we are all old and retired.
I think we should teach programming in math class as a just another unit so students get exposure to the topic and can then pursue it further if they so desire.
I think education needs to change, little has changed since the introduction of such a system during the industrial revoloution, yet the world we live in and technology is very different. This lack of change can be attributed in part to government intervention in such systems which prevents competition and therefore the emergence of more efficent styles of education and better curriculums.
Now this is not an argument against government financing of education, it is really an argument against the degree of regulation and control the government has over education, which has prevented competition within the education sector that would:
- A.) Result in a reduction of the cost of education.
- B.) AND/OR improve the quality of education.
What is needed is more support for apprenticeships, and a curriculum focus on delivering skills which are needed in and are transferable too the workplace, i.e. a greater focus on sciences, buisiness and tech as opposed to cultural subjects. Students should leave tertiary education with industry specific certificate level diplomas which should either lead to employment or form the basis of a university level degree. And teachers in my opinion should come from an industry related background not from universities (as is common place in the private schools of england). And their remuneration should be tied to performance. Of course such courses are expensive, and probably only feasible at fairly large schools which have the student base to support such a wide array of courses, which probably contributes to why we dont have such a system.
- Support Apprenticeships, internships, and extra-curricula activity (e.g. robotics clubs).
- Teaching focus on industry specific skills/knowledge that are pre-requisites to employment.
- Ensure teachers come from an industry specific working background and not uni.
- Tie teacher remuneration to pay.
I think this should be an option, but not required. There is no high demand for coders. There are many people who can code, but not that much need for it, that's why coding is a pretty low-paying job, especially in the scope of the computer sciences. When you force children to learn things they have no interest in, and will never make applicable, you're just driving them away from education. I have several high school acquaintances that are now on the streets/jail selling drugs. If there were programs to teach them trades in high school so they could graduate as a mechanic or something, they would have a worthy life.
Our school systems now like to force subjects like calculus down the throats of children. Starting in middle school they start teaching calculus based algebra. no one outside of engineering and physics has any business learning calculus. A much more practical mathematics is statistics. In my opinion, and keep in mind I am a mathematics/ computer engineering double major, english and history is what the next generations should be taught. Knowledge of the society that you live in, and how to express ideas and formulate an argument are the most important things our children should know. If they can't formulate arguments, have no knowledge of society, and cannot think freely for themselves, then they are just blind monkeys living how the government/society tells them to. You know you've met an intelligent man when he thinks and speaks for himself, not just spits back out "knowledge" that someone else fed him. If you start forcing people to learn code, or any sciences for that matter, you're just adding to this effect.
I think it should be encouraged, but it is not a necessity. It's not important that all young people participate in such a field. It's subject to a student's chosen career path, and allocating time to programming could be deemed irrelevant and wasteful. This is a choice for young people when they turn to higher education. While it could be beneficial to teach such a course at the earliest age, I wouldn't want it to take away from the core curriculum.
This is part of a much larger question of "how to introduce industry specific skills into education". The final product of today's education system is a number of young people who can put pen to paper; but lack real world, transferable skills.
The re-establishment of the old polytechnics could augment the education system. As those institutions taught a good number of applied courses. Bricklaying, professional qualifications, and other useful industry-specific skills. Programming could be a very relevant course that emerges in that kind of institution, without university requirements.
Many polytechnics developed into universities so that they would hold degree-awarding powers, and that simply diminished the availability of industry-specific courses. As many of the old polytechnics tried to turn to classical subjects, or much broader fields; to appear much more university-like.
It would be nice to see young people acquiring the skills to become self-employed, and very relevant to the job market. Unfortunately, too many people enter university and waste their time with subjects that won't land them a job. It strikes me as a very obvious gap that should be catered to.
Definitely agree with you for the most part. Many children aren't cut out for college, it's very damaging to convince them that this is the only path. Many will spend thousands of dollars and years of their time trying to conform to what the current school system tells them to do. I don't think less of someone who couldn't make it at a major university. As long as you live an honest life, doesn't matter if you run a large business or dig ditches, you're equal in my eyes. re-introducing trades to teenagers, which could include coding, could help many people become self-sufficient, functional members of society. Forcing students to learn something that they have no interest in, and serves them no benefit, only wastes their mental resources.
Well no, not really. Plus the fact I did it a learnt python which isn't much use for the interesting stuff. It's a good starter language but we need to b. Getting them into c++
No. There is no point to teach young kids programming in school. Give them a short introduction (like an hour or so) and have programs (after school, holidays, whatever) for those that are actually interested. Have such an introduction at a young age and at a later age (highschool or something) so that if they weren't interested at first (interests change you know) they might still get interested, or be smart enough to understand it better.
Programming should only be thaught in classes that have a lot of IT courses. Otherwise it just takes up a spot better used by other courses.
There's enough shitty developers in this world already, no need to create more by forcing kids to learn how to program. And you can learn how to code on your own with help from (e-)books and some places on the Internet... I learned the basics (basic concepts) in high school in VBA (so you got something that you could play around with) and then did most of the learning on my own (perl, php, java, I did not use them long enough and did not learn everything about them as I got bored since I didn't have a real project to work on, managed to make a working basic forum in php though). In fact, you'll have to learn a lot on your own as classes will usually only teach you a few languages and they're not all great (java, urgh). Unless you like knowing only 1-3 languages and not be very useful (you're not very flexible or adaptable if you go that way tbh).
Your argument is flawed, in that your assumption is that if you teach someone something at school, that's what they become.
Does everyone who completes school become all of the below:
- Physical Instructor
Answer: No, of course not! With that logic, all students would have "all the jobs".
It's about learning foundational information. Teaching programming courses (which would be more than simply "code") is not about churning out programmers, but providing an understanding of logic and how computers *really* work. If they choose to pursue a career in computers, this will help enormously. Most people currently don't do any computer courses until College and then University (at least in most of UK, but is soon to change). IT courses are not programming, and instead consist of learning to use the Microsoft Office suite, and make a website.
The world is built on computers, and you're suggesting to intentionally obfuscating the world to the children of tomorrow?
Oh, and "shitty developers" come from shitty teaching, laziness and many other factors. Regardless of whether we should or not, teaching them some coding fundamentals early is not going to make that worse.
It's not that I am against everyone attending university. However, I do feel that people waste their time at university/college, because they enrol on a course without being clear-sighted. They waste their own potential. It's not for us to tell them what to do, but we could do more to bridge the gap between education and work.
Currently, if you have a degree, you're not able to access other schemes. You're not entitled to further assistance after completing higher education. I would want an "access-to-all" institution that delivers direct-to-industry qualifications. There aren't enough apprenticeships schemes. It would be good to provide an establishment where people can get their foot in the door and make steps to becoming more economical.