Japan adding mandatory programming education to all elementary schools
the-japan-news.com
the-japan-news.com
This is the thing about Japan. They can make these moves that are incredibly progressive and ambitious -- visionary even, yet, they really have no idea how to go about doing it.
As it stands, they don't have enough teachers that can program, so teachers from other subjects will be filling in picking up the material from textbooks as they go along.
From what I've witnessed from my school years, I guarantee you the smarter students will be correcting their teachers and making a mockery of them. It happens whenever there is an English native speaker in a Japanese English class (guilty as charged), and it will happen whenever there is a real programmer in one of these "programming" classes -- at least for the foreseeable future.
---
[1] http://www.japantimes.co.jp/opinion/2015/03/28/editorials/di...
[2] http://www.japantoday.com/category/lifestyle/view/whats-wron...
That is totally not my experience. I have travelled widely in Asia and Japan easily had the best English fluency across a range of people I conversed with (well apart from Singapore but that doesn't count).
Compared to Korea/Taiwan, Japan was a breeze, even in HK I had trouble with shopkeeps outside of areas heavily frequented by westerners. I travelled to some pretty far flung areas of Japan, and was always able to get by with basic English, and even had some quite deep conversations with a traditional inn owner who had only had a handful of western guests in the 20+ years he had been running the place. How he kept up his fluency without anyone to talk to was a mystery to me.
Of course general familiarity is not a bad thing but is to be expected when they're taking classes everyday. The goal is for fluency, competency, and the capacity to be competitive at a global level. They're far from it, and that is why the system has yet to succeed.
It's all an artifact of their teaching methods and tests.
Compare with a hypothetical Japan where the program would not be put in place and all those people "merely" familiar with English were not at all. It'd be ridiculous to suppose such a plan would lead to 100% (or even 50%) of people being fluent.
> The goal is for fluency,
How many would have not been fluent were it not for the program?
> competency, and the capacity to be competitive at a global level.
Now many (and certainly much more than before) people will have both sufficient English comprehension and sufficient programming exposure to be able to read through foreign code, open issues in open source projects, and possibly even contribute back at some point, nurturing a virtuous feedback loop. Have you ever read core ruby devs? No offense meant but they're hardly "fluent" in English, yet they're able to exchange and contribute with the global community at large.
This is all about raising the bar and giving people more of a chance to stand in a global economy/ecosystem.
And ultimately, these devs speak code, which provides a common objective baseline for exchanging substance (which everyone certainly refers to if they can't decode their English). Their confidence likely stems for them objectively knowing how good their code is.
This is the case with science and mathematics, and with the bilingual students also. The best Japanese talent are all competitive at a global level. They aren't the issue. Them being rare is the issue. And though they should become assets to Japan, they quickly assimilate to the global community, at which point, the global community tends to appreciate and reward these people more. Many, if not most, end up in Silicon Valley or Hollywood or just working for a foreign company. Overachievers have a hard time in seniority based bureaucracies which most of Japan still is.
As marak830 commented here,
> I teach high school student part time (so I can work on my side project), and the
> teachers over the age of 40ish have pretty terrible English(these are English
> teachers), but all of the newer ones have pretty good levels.
That wouldn't be that big of a problem in a meritocracy. And it's going to be far worse with a modern skill like programming.
I teach high school student part time (so I can work on my side project), and the teachers over the age of 40ish have pretty terrible English(these are English teachers), but all of the newer ones have pretty good levels.
I have even been notified a few teachers are going to the US for a few weeks to get immersed in English as a sort of brush up.
The biggest issue I see so far is the lack of checking of foreign teachers, I work with a few whose work sheets for the students are riddled with spelling mistakes and bad grammar.
Edit: typo(haha sigh).
Sorry, I couldn't resist.
(That actually scares the crap out of me, missing something like that on something I give the students)
After this programme was found to be not having much of a positive effective, the government decided to double the number of teachers they ship in from other countries.
I think they could improve English education in a number of ways: Either train up the teachers from abroad more thoroughly and give them a chance to stay much longer or send all Japanese people who teach English to study abroad for a extended period.
Edit: auto-correct glitches
As an ALT I have seen some pretty badly run English programs in the school(eg I turn up, and they have no idea what class they want me to assist with, or leaving me for hours without work to-do - I generally try and make worksheets, lesson plans or extra material for the students to read around the subject matter, but that very rare gets used at some places.
I have even been at a school where all the English teachers were on holiday, no one really spoke English in the school and had no classes for 4 hours. It can get a little depressing.
But other English programs are amazing, one of my current schools I have written at least 40 pages of material to assist the students/extra study(voluntary), and they have informed the students, who contacted me directly for copies of that work. (I wish I was at this schoolfull time!).
Since we're on the subject of bad grammar, this sentence is a comma splice. You should replace the comma after "teachers" with a semicolon or a period.
And I thought you were an English teacher!
Also the instruction of both junior high school and high school English has changed. It is now (officially, anyway) taught using only English in the classroom. I left the year before it entered high school, so I never officially participated, but I got some of the students who went through the junior high program. Even in my very low level school, the fluency improved dramatically.
Finally, they began demoting teachers with poor language skill a few years ago. It's actually a bit unfortunate because some good teachers got demoted whereas poor teachers with good language skill got promoted. I suppose you can't have everything.
Anyway, they are improving over time. The one thing I should point out is that teaching language fluency is actually very difficult. Things like grammar translation is still considered the best technique in many universities. Even though Pimsleur demonstrated the effectiveness of spaced repetition in the 60's, virtually nobody builds lessons that way. If you look at the ideas of Stephen Krashen and techniques like TPRS, even though they are very effective for fluency, only the lunatic fringe utilize them.
I actually gave a demonstration of TPRS (and related skills like circling) to the Shizuoka board of education once. They seemed very excited and even said, "This is the way English should be taught", so I have some hope that they are looking in the right direction. But again, nobody gets this right. Even the most effective techniques are still quite barbaric IMHO. It's one of the reasons I'm sad to be out of language education. Lot's of important discoveries to be made ;-)
Learners of a second language are often at a disadvantage because they expect adult level proficiency in a short period of time. They often forgo focussing on fluency in order to chase that proficiency. In the end they fail at both.
Some of the most unfortunate myths that persist about language learning really hurt. For example, if you ask the average person how many words of vocabulary they need to be "fluent", they often pick numbers like 2000. But that's the level of vocabulary for a 2 or 3 year old. Adult level proficiency requires upwards of 20,000 word families.
Basically, what I'm trying to get at is that English skills of people in their early twenties are guaranteed to suck unless they are using English almost as much as their native language. It takes native people 10-20 years to get a good level of proficiency. What we can hope to do is to refocus education on fluency rather than proficiency so that at least people can converse freely in a small area. Then over time they will gradually accumulate proficiency in other areas.
This opinion is unfortunately not widely shared in the teaching profession at large :-(
Like what happens already with exceptional students for any subject. The fact that a number of teachers are barely ahead of their own material is nothing particularly new.
A little story from a Japanese friend who was fluent in English: He, of course, had to take elementary English in school. The teacher was teaching family members and asked "What do you call your grandfather's father?" He replied "I think it's great-grandfather" The teacher laughed at him, causing the whole class to laugh at him. "Of course not, it's grand-grandfather" the teacher replied.
Being a humble guy he assumed he was wrong, but checked it in a dictionary after class and showed the teacher. "Oh, well then you can say that as well" snapped the teacher.
I'm not suggesting this is every teacher in Japan, but from the mere fact that a child fluent in English has to take a class where they learn "This is a pen" shows you how rigid and ill-thought out the system is.
It actually came about as i was a bit nervous about teaching a subject i hadn't done in a long time, and didn't want to mess something up.
That's why I think that just having language lessons is in no way enough, you also need to have a reason to use a language to actually remember anything.
But technology to the rescue! There's a huge Japanese company called Benesse, doing educational products. They have an English program, one of my kids use it. It's cheap, about $15 per month. The reason is that it's mostly automated: the kid uses an app on a tablet or PC, and his accent in repeating sentences is assessed by the app. All this gamified of course. Then every two weeks he has some time with a human teacher using skype. Looks like the teacher is based in a lower wage country than Japan, which explains the low cost --- which is important to make the system accessible to as many as possible. We'll see the results over the long haul (it's started recently), but I'm already impressed by my kid's accent on the few sentences he knows. And I'm also impressed at how they built such a system. We'll see the effect it will have, but it's an interesting attempt at improving things.
As somebody who had programming classes (first Pascal and then Java) throughout all my highschool being taught by a Math teacher who never really programmed other than the basics and the textbook stuff... I can tell you that I'm still glad we had the chance. Since day one I already knew more than the material and arguably than our teacher (before Highschool I'd been dabbling with PHP and C programming for web-related stuff as a hobby and as I kept going I was also doing extra stuff on the side while going to school so I never stopped being ahead).
I spent most of my programming classes in Highschool helping my friends and my teacher with stuff they didn't understand, correcting her (my teacher) whenever she got something wrong, no mocking. This kind of experience really made me become a better programmer and mentor for my peers, helped them improve and really enjoy the material (being taught by an enthusiastic peer has a much more positive effect than being taught by a borderline incompetent adult).
Most likely this experience is an outlier case, however I wanted to point out that by simply introducing programming classes is a great starting point towards fostering a more positive environment for the skilled student to thrive and for the less-skilled students to at least pick up something.
My not-so-visionary private European school taught us Logo (a Lisp dialect) during kindergarden and primary years. I vividly recall playing with recursion when I was 9.
However, that says nothing - nothing at all - about the experience of everybody else in the course.
But yeah this is as I said an outlier.
Spoken fluency sucks. Reading and writing English is much better.
When I lived in Japan, and eventually achieved some basic fluency in speaking Japanese, communicating with my coworkers often consisted of English vocabulary, in sentences using Japanese pronunciation and grammar.
The reason for this is simple. They had plenty of access to English written material, and needed to read and understand it in order to do their job (computer science research).
But they had very little interaction with native English speakers on a day to day basis, so few opportunities to practice real time conversation. Which is the only way I know to actually become fluent speaking a second language.
I was working with some researchers for a couple of months and I was fascinated how they have their own world of scientific publications. You could be a totally competent scientists or engineer and not know a lick of English.
They'd really only go to English publications as a last resort, and people I'd guess weren't under a ton of pressure to publish in English either.
Since then I've actually noticed this is a trend in larger countries. There is some kind of critical mass of people which once reached makes them completely capable of living in a linguistic bubble. Mostly this is simply a question of how variety of media you have available to consume. Once it's high enough and you have the major western stuff dubbed, you can kinda cost with your local language. Compare something like Poland (where surprisingly few people speak English) and some place like Estonia (where everyone speaks English)
But they're kids right now, and they don't need english in their daily lives, so most of them don't care.
I can related. French is similarly taught in Canadian schools in all English-speaking provinces and I don't know anyone in Ontario that went through those classes that can speak anything more than a few words.
In my otherwise quality public (catholic) schools the French class was seen as an extra recess where the teachers would always struggle to get the class to focus. The course was always dumbed-down as a result.
The only ones who have any proficiency have studied it outside of school or attended "French-immersion schools" (in Ontario).
The mandatory classes were a waste of time and tax money in my opinion.
Whether programming could succeed I'm not sure, but it shows that there has to be a strong interest from the students to really grasp it - because learning a language, and equally learning programming, requires a strong commitment.
If all your family, everyone you interact with, and all the media speak your native tongue, is speaking a fluent second language that important? How is your second language and how often do you use it?
Despite all the good researches have proven in bilingual people, the only advances, which I would consider a success, in second language educations, is that you can pick up the language much faster when you actually interact with a community that speaks this language.
Programming language, on the other hand, you can use it to create stuff, which makes it much easier to practice and improve. If the Japanese can add this curriculum without compromising their pupils's play time, it's going to be an easy success.
Now if they actually write
2 3 加え
instead of 2 + 3
I wouldn't care.I don't quite understand why learning english is relevant here.
> I feel like just shoving code at kids isn't going to do much unless they are also incentivized to use it somehow.
We shove kids into biology, chemistry, physics, literature, art, etc. The ones that like it will make it their career or college major. The ones that don't will forget and throw away their notes after the final. The same will happen with programming classes.
The investment is the pupils choice and the rdturn on investment is debateable. You argue diminishing returns, I say scientific responsibility can be a burdon indeed, so what I really dislike is that it's forced.
I'll need a citation for that, since last I checked, math had more females then CS and Physics.
Remember when the system is unfair, cheating becomes fair. For example in this case you should have tried to update your program to produce a list of steps showing your work.
Tldr: if kids can do art class, they can program and have fun doing it.
For a modern equivalent, I've seen my sister's kids (also in early-mid elementary school) currently making games and animations in Scratch.
I'm sure it's easy to make coding dry and boring as well, of course.
It is not going to be work for everyone, but will definitely attract more people to this area.
For the longest time, it was just something I did because people told me to. They judged me on how well I could complete a problem so I did the problems...
I hope to god we don't go down the same path for Programming.
In a previous company the requests from non-developers ranged in complexity from simple string processing to multi-year research projects that still might not bear fruit.
You wouldn't ask a mechanic to build a flying car in an afternoon, but people still ask programmers to perform such tasks.
"Required subjects are required not because they have tangible use but because it's worth to learn them as common knowledge. Literature, history, etc can all be argued as unimportant for sustaining your life. Programming is ubiquitous, and yet there are many people who cannot even imagine what programming is despite having gone through school. To relate to your engine example, ask anyone who has gone through school to try to describe what the insides of a car is like and they can probably explain their own interpretation (whether it is right or wrong). Ask the same people how they think a computer is run and I bet less than 20% can even attempt their own interpretation. That seems like a common knowledge worth learning."
It doesn't matter if they are going to make use of it. What matters is that they now have an idea of what programming is and what is possible with programming and how to communicate with those with programming knowledge.
My son loves learning programming. He isn't learning it like you and i learned math. He is playing it. Adjusting it, slowly understanding the concepts of loops, if/then etc. conceptually, later literally.
So at least I don't se your point :)
It might be better to think of programming more like a digital shop class. Not every high school graduate will be a welder or cabinet maker, but we do expect them to be able to build and repair simple items without losing a limb. For the last 15 years, it's like everyone has had a full-featured digital machine shop in their home and didn't even know it was there, much less how to use it.
I wonder however what methods, languages and 'best practices' will be used in the lessons. If you have a bad teacher or a bad curriculum and learn 'bad concepts' early enough, it might be hard for you to unlearn them later.
He had learned to program by creating Minecraft plugins and really excelled there. Soon he was allowed to do homework of other subjects in the programming classes, because the teacher told him everything he could.
When I visit my parents I often give him some nudges like "yes, indentation does matter", or "or google design patterns", but I try not to tell him what to do, because of this: The other children in his programming class are just as miserable as he was in his French classes, failing easy tasks, because they are just not interested in them. While they will certainly learn on a basic level, how programming works so the won't think of Matrix screens like I imagine most others do, I don't think they will be able to grasp or remember concepts like OOP or even recursion.
I think schools should focus on getting the basics right and improving the chances of lower class children. When they have that covered (which is hard enough), they should just focus on accessibility and encouragement to get the children to find something they can be good in by themselves.
May programming be different? Because computers and software are so omnipresent? Maybe. But programming is also definitely pretty hard. Is it worth the time? Can you spent enough time learning to program so that it is actually useful in the end without negatively affecting other subjects? I mean in Germany we learn FizzBuzz-level programming in school (and that is what sent me down the software development route) but I don't think that has a lasting impact on many.
When I see what most people are struggling with when using their computers and phones, I would say they don't have to learn to program, they have to learn how those devices, operating systems and protocols work. DHCP or DNS not working? What's up with those drivers? Have you looked into the log file? Is the daemon running? But then again this looks a lot like those kinds of complexities that we used to hide from consumers and have professional mechanics for. We have already come a long way from MS-DOS with everyone using the command line and fiddling with autoexec.bat and config.sys to a Windows 10 tablet trying to bury all the ugly details under a shinny surface.
[1] https://commons.wikimedia.org/wiki/File:Sectors_of_US_Econom...
Programming is ubiquitous, and yet there are many people who cannot even imagine what programming is despite having gone through school. To relate to your engine example, ask anyone who has gone through school to try to describe what the insides of a car is like and they can probably explain their own interpretation (whether it is right or wrong). Ask the same people how they think a computer is run and I bet less than 20% can even attempt their own interpretation.
That seems like a common knowledge worth learning.
In the same way, most people don't need to know how to structure an essay in their jobs, they don't need a foreign language, and they don't need to know algebra.
But it's a window into the richness of life. Show the kids a bunch of stuff, and they will be able to explore further themselves.
As you note, software influences our lives in a much deeper way than internal combustion engines and transistors, and this will only become more and more true as time passes, so I think this may be useful.
I don't expect most students to become programmers; I hope they'll grasp some software concepts, the most important being (IMO) that software isn't magic, and has limitations and costs.
People could get away with thinking that internal combustion engines and transistors were magic with far less consequences than thinking that software is magic.
Btw, they did teach me how an internal combustion engine and a transistor work, at school—not to a professional level, but enough to understand the basics.
Japan is copied tech fad before, like AI and massive parallelism in the 1980s. And they fail at projects which arent feasible or they dont understand.
It exposes you to entirely know ways to solve problems, a basic understanding of computer science on a societal level would be amazing.
Not everyone will know how to be a plumber, a doctor, an accountant, or a software developer, and that's just fine. Most people should know how to read and count and that is also fine.
That said, programmatic thinking itself is much simpler. Learning how to think algorithmically and think about things like recursion, iteration, functional abstraction, etc., are definitely things everyone can learn to do. And this sort of thinking is valuable in areas other than software engineering. The weakest thing you can claim is that knowing programming lets people write programs, which is somewhat popular hobby activity among people can do it regardless of their profession, and something that there's some value in given the success of IFTT, Tasker, and similar systems that either approach or are actually programming.
This has nothing to do with skill. As long as demand is higher than supply for your job you will be well paid. Median wages for lawyers are lower because there is an oversupply of workers on the job market.
(We have pretty widespread teaching of programming in high schools in Germany. Doesn't help too much.)
That also includes keeping the loudly howling minorities for any given topic in check that raises hell whenever a person in public view seems to disagree with them, thereby teaching such people that lying and pretending is the best option.
First-past-the-post basically forces you to vote for the idiot, or risk throwing away your vote.
Any effects of education are swamped by the differences in voting systems. Germany has Mixed-member proportional representation (https://en.wikipedia.org/wiki/Mixed-member_proportional_repr...), which leads to a multi-party system.
The US has some variation of first-past-the-post. Especially together with the primary system, this rewards people for pandering to the base.
Demand wouldn't decrease because of more developers being on the market. Supply would increase. Just because any one developer might be individually in less demand doesn't mean that demand for developers has decreased. Yes, this would still depress salaries for developers.
Having said that, there is no fixed amount demand for developers. If development resources are a bottleneck for development projects moving forward, there being more developers may actually increase demand. This comes about as projects that otherwise wouldn't be started do get started and may, themselves, not be able to be fully staffed even with the new blood. I don't know that this would actually happen... but then again I suspect the Japanese don't really know what will happen either.
You can't just look at the two values of current demand and current supply and extrapolate that into a vision of the future... there are many, many more variables than that.
Yet, I think that robots don't create as many jobs as they take.
In any case IoT is doing it's best to massively increase demand for programmers. Once everything is sufficiently IoTified programming will be as common a tool as a hammer.
No argument that STEM education was good in the East - I even have proof. Immediately after reunification German magazine "Wirtschaftswoche" (Businessweek equivalent) sponsored a very big test of students who had just finished high school "Abitur" in Germany) in East and in West Germany. It was tens of thousands of students. The result was that East German students wre significantly better in everything STEM, and worse in "language" (not just English, also in the use of their own language - so they were good engineers and bad at marketing and PR, to translate it to job profiles).
However, that is not nearly enough for success, the main reason Western firms outsource to the East is price. Competence is necessary but not sufficient. Most of the software boom in the East is fueled by demand from the West.
Like more javascript frameworks?
For one thing, almost all current teachers has no experience of programming. Other thing is the culture of teaching in Japan.
When you solve the problem by using a knowledge that isn't teached yet, the teacher said.
"You can't do that! You haven't been taught that yet!"
So, I can see the future where they say
"You can't use recursion! You haven't been taught that yet!"
Also, there is a seriously stupid culture in Japanese teaching.
Given a problem, "He went shopping and brought 6 candy bags which contains 3 candies each. How many candies does he have?"
The answer must be "6 * 3 = 18". not "3 * 6 = 18" The multiplication is not commutative. Because... I don't know. Some so called teaching expert who is the author of some textbook explicitly stated that.
(Actually, it must be 3 * 6 = 18 in original Japanese because, the word order of Japanese grammar requires to write like "he brought bag which contains 3 candies, 6." indicating this isn't even a math problem at all.)
That's why I worries about it.
As for Japanese isn't fluent in English even though we have mandatory English class, It's totally different reason.
School in Japan's English teaching is in fact bad. But that isn't the reason. If you're living in Japan, you have absolutely no reason to use English at all in your entire life. You can't improve language skill without actually using it.
Sounds good
> how to bring up a terminal, ssh to another machine
Uhh, even as a developer I barely ever feel I need to do this (and frankly, I do this quite often).
Being able to ssh into another machine is extremely low on the list of things to learn before being proficient.
I doubt they even know about terminals to be honest. Simply not needed.
It's not just about launching programs and moving files around one by one.
A decent shell, like bash, is fully programmable. It lets you express yourself in ways that no GUI does, possibly excepting LabView or Scratch.
I also think that even if this was taught from the beginning - it'd remain a power user thing.
But I agree, I use automation/scripting/bash every day and would be horrified to loose this ability. But I also know other developer who doesn't use it at all.
I agree with you but you couldn't have chosen a worse example. Mass renaming, tagging or formatting of files is one of the most performed operations of an everyday user and is a massive time sink for people who don't know how to programmatically do it.
Classification of downloaded music or movies is very common. Same goes for moving files around and renaming folders and mass-moving documents. I remember when I had to re-format around 1000 images for a friend of mine because he wanted a different size + format to create some photo album. Just a couple of imagemagick lines vs him and I manually spending a lot of hours doing it painstakingly picture by picture.
I am very comfortable in the terminal but I'd still /prefer/ a GUI tool.
Do you think kids still care about privacy? As in, the giving all your life details to google kind, not the public Facebook profile kind.
Like any other class kids who were interested in it did good and most of them went to CS colleges, 90% who didn't care memorized it without thinking got a passing grade and never thought about it again, same with logic, psychology, sociology, philosophy, chemistry or any number of other obligatory classes we were forced to take.
America should start doing this as soon as possible, been saying it for years.
> How teachers can acquire the necessary knowledge and teaching expertise will be the biggest hurdle for Japan to clear before computer programming becomes a required subject at school.
Developing the skills in teachers is an issue.
I think all of this effort towards learning to program is great. Good learning resources like [FreeCodeCamp](https://freecodecamp.com) are just going to keep getting better.
Look at the culture and the accomplishments of a place like Rakuten, and plot a way forward from that to a tech powerhouse. I don't see it.
And Rakuten does a lot of stuff. There are also places like GMO that do things. This is kind of like complaining that Ebay isn't a tech powerhouse. That's totally fine
It's just difficult to imagine how a world-class tech company can rise up from Japanese business culture, at least on time scales that don't span decades. (For me, anyway, YMMV I guess.)
Japan is the source of the world's most popular operating system, iTRON. Never heard of iTRON? Ah, well, it's probably in your microwave or anti-lock brakes or thermostat or coffeemaker or ...
I have to say that the horrendous UI of Japanese consumer electronics in the 1980's and 90's seems quite closely linked to Japan's slide from the top of that market.
Seven years ago, when I first visited Japan, everyone used a clamshell phone with a godawful LCD interface. Today, everyone has an iPhone or iPhone clone (aka Korean or Chinese Android device). Even today, mobile carriers usually have a "Japanese Only" section on their website for the nationalists who insist on buying Japanese, and, sadly, those phones are very underwhelming by any reasonable standard in 2016.
To me the average level of developers at most companies I know is just heart-breaking, many times they don't seem to be thinking on the right abstraction levels and instead treat development as something you just persevere through by pure exercise of will (which is of course exactly what you are rewarded for: put in long hours, results don't actually matter as long as you try your best, onboarding/training is limited to manners, how to clean the whiteboard and how to water the plants (not joking), your university education/diploma is considered worthless, hence why lots of people suddenly become "software engineers" with a law degree or a biology degree or an english major degree because tech jobs generally pay better). In the end in my opinion the prevalent culture/values are just not very conducive to becoming better at software (although it kind of works in hardware and on the outside definitely appears to work in services).
I'm torn on the utility of it; unless you're actively working in it the information degrades very quickly. And unlike spoken languages, if you try to come back to it later very little of what you learned before is still valid.
Classes on general computing - and not "coding" - would seem far more useful than teaching kids Python 2.x for a few years. But at the same time those would be far less accessible.
Spoken languages do change but you may only notice when you're already in your 70s.
I guess the Fortran programmers from 1960 might be at least somewhat familiar with Fortran 2008, but I suspect the gulf would be wider than a spoken language change. If I watch an episode of the honeymooners, the parts I don't understand are cultural, not linguistic.
Japan obviously can find a use for software developers. Japan launches spacecraft, has 2 of the 3 major video game console companies, is well-known as a major place for robotics, has major car companies, and has started to get back into military equipment.
Programming isn't all about web sites and phone apps.
To suppose that Tokyo can go in one direction or stagnate while the rest of the country goes in another direction and prospers is just totally unrealistic.
And she goes to public magnet school.
While it's great that they are pushing forward to say that programming is important, I have little confidence that they'll be able to make it a reality.
I'm interested to see whether the gender ratio of programmers will change at all.
It's like learning Spanish and then totally and utterly forgetting it. What is then, the leftover value after one finish his secondary education?
I'm not sure that's true. Programming intrinsically requires logical thinking and problem-solving. So it has the potential to shape young brains and teach them cognitive skills that will stay with them for the long-term, whether or not they remember certain techniques or languages.
It's like math. Do I remember how to derive the quadratic formula? Heck, no. I can't even remember what it is, I'd have to look it up on Google. I'm sure I could do it again if I really wanted to though. But I bet my cognitive skills are better today because I at one point in time learned to derive the quadratic formula in my math class, among many other things.
edit: It's like how Lego and models helps kids to learn spatial skills and fine motor skills. There are lots of things that teach skills taken for granted by adults, but aren't readily apparent to children unless they're thrown into a situation where they use them.
> Programming intrinsically requires logical thinking and problem solving.
Doesn't everything that schools break down into rote steps to be followed dogmatically without understanding? From writing to your example math, there is nothing that inherently challenging interesting and enjoyable that a teacher can't turn into a mind-numbing chore.
I've seen crazy things like punctuation placed in the middle of a sentence. I had to ask, "Is this one sentence or two?" People not using appropriate paragraphs, no headings, rambling sentences etc ...
A little bit of proof reading, editing and formatting goes a long way.
It's a very useful language, but I doubt a Japanese classroom is a good place to become a good English speaker and user.
I read that as teaching an English class in an English speaking country!
Your not wrong about how documentation is poor - look at a lot of Google's API docs most of it is poor and incomplete.
Personally, I think in this information age Programming is a much relevant subject to be taught in school than traditional ones like Math, Chemistry, Physics and etc.
I'm going to go out on a limb and say that the average Japanese elementary school student will spend a significant amount of time over the next 60-110 years using computers (approximately 99.8% of their waking hours.)
When I was 8 in 1984, they didn't think we were too dumb to learn BASIC and Logo. I wonder what happened to make kids so stupid since then?
More mandatory programming courses could increase existence of desktop/laptop in households. The reference I included says that most people prefer smartphones than desktops/laptops, and programming could be a good enough reason to make them use them.
I go to school at a top CS university in America and the demand for CS classes has far surpassed the supply. Students are waitlisted in the 50s-100s for CS classes they need to take for the major. What is going to happen when the influx of CS students increases 2x, 5x..?
Hopefully higher-ed will figure it out before then.
However, seeing how abysmal general knowledge of mathematics is (in Western countries, don't know about Japan), I wouldn't expect huge numbers of skilled coders to emerge from school because of the inclusion of the subject.
1) How to clean data. Real world data is always dirty. It mixes strings and ints, has commas and quotes where they shouldn't be, etc. Knowing how to think of data in terms of a standard format and having a plan for exceptions is very important.
2) How to manipulate data. Python, JS, or some other simple dynamic language. Teach how to do functional style programming such as list.forEach(<lambda>) to transform or analyze data.
It's easy to make homework and tests for something like this. And these are fundamental skills. It doesn't matter if Python or JS fades away. It doesn't matter if popular formats change from JSON to something else. It's about teaching how to think about data and how to get it in a form where it's easy and reliable to do analysis or transformations with it.
We don't need to make programming "fun". We need to treat it like algebra. A basic skill that all should learn. But that doesn't mean making web pages or mobile apps. And it also doesn't mean the theory focused CS topics like data structures and algorithms. Just start with learning how to think of data in a standard form like CSV or JSON. And how to use a programming language like JS/Python to do something with the data. After students master these skills, it can be integrated into science classes. Students will know how to write simple scripts to clean up the data from a lab test and analyze it.
They can learn all the basics of programming by making a game of their choice (with some guidance to make sure they're not over-scoping it).
Elementary school students have much more flexible time, and university seems like it's a long way away. Taking a chance on computing in school won't seem nearly as scary to parents.