Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login
Japan adding mandatory programming education to all elementary schools (the-japan-news.com) similar stories update story
415.0 points by astdb | karma 4478 | avg karma 7.41 2016-05-24 01:10:34+00:00 | hide | past | favorite | 195 comments



view as:

Anyone have any thoughts as to why they would take the bottom up approach (ie, start with elementary and go up) rather than top down?

what do you mean top down?

Top down = start with high school

preorder

Because it's useful to know. If you wait until college to learn it then you miss out on years of use. Having kids get experience with it early on opens their options too. It makes it a less daunting career option. I wish I had exposure earlier on. If I did then I definitely would have gone for CS rather than mechanical engineering.

It would be idea to start in secondary/high school as in educations in Singapore does.

Keep in mind that elementary school kids in Japan also attend evening "cram" schools, where they drill on the subjects on the curriculum. I wouldn't be surprised if the real learning happens at Kumon, etc. By the time they're in high school, it seems like it's all about passing tests and getting into college, but I never went to Japanese school, so my perspective could be totally wrong.

Probably a pragmatic choice. High school kids schedules are absolutely packed with focused study for exams and then more after school homework and cram schools. If you told parents and students they were going to have less study time to get ready for university exams they'd probably be a lot of pushback.

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.


Maybe they should also find something for those programmers to do as well, while they're at it. The job market for software engineering in Tokyo is equivalent to a Minneapolis or an Atlanta even with 20x the population - and even then I might be overselling it.

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.


I don't really see what you're getting at. Yeah, the salaries are depressed, but all salaries in Tokyo are depressed, it's part of a general trend.

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


Point taken, but to clarify I was saying "plot a way forward for Japan to become a tech powerhouse, when a company like Rakuten is about the pinnacle of what they can achieve as far as technology companies go". And you can't really just say "they can do X, Y, and Z" if X, Y, and Z are things that are totally unrealistic to expect Japan corporate culture to do. Even Rakuten is considered "weird" to the point of apostasy among Japanese corporations, and I promise you would not find it particularly enriching to work there either from a creativity standpoint or even just for basic work/life balance.

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.)


Cookpad also seems to be a nice brain trust of capable coders. It's perplexing to me that Japan isn't better at software. It's practically nerd nation with tons of super talented designers. It feels like it should be easy to push Japan over the tipping point, but who knows why it hasn't happened yet.

Programming isn't just web sites and phone apps!!!

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 don't know anything about real-time embedded OSes, and I'm definitely interested in learning more. I found this so far: http://tronweb.super-nova.co.jp/itron.html

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.


Hardware requires a big upfront investment. You can write a phone app at home and companies can test the waters with a cheap MVP.

Cookpad used to have a lot of foreigners and was considered to be one of the best places to work. From what I heard that has changed about two years ago, now most of the foreigners are gone and what's left is a fairly normal Japanese company with all the cultural aspects that that entails.

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'd guess mandatory programming languages won't have much impact on the amount of people who go into programming as a profession.

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.


>And unlike spoken languages,

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.


Only 11% of Japan lives in Tokyo, so who cares? It's overpriced anyway.

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.


Tokyo metro is like a quarter of the population of Japan. Japan basically is Tokyo, to a degree that probably isn't matched by any other city / nation on Earth. Even if you insist on just looking at the 23 wards it's a big deal - 7% of the population lives in one of the 23 wards. That's like if 22 million people lived just within the one of the five boroughs of New York. (Comparing Tokyo metro with New York/Newark metro, imagine if 80 million people lived there, and how that would affect the influence of that area on the economy of the US.)

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.


London metro is greater than a quarter of English population.

This may not be a good idea. Code is one of those things that by itself sucks until you have a reason or purpose to use it. I started learning coding around age ~9 in 1996 or so. But what got me hooked was websites, because I could use the code to build fan sites or accomplish real, purposeful tasks. I feel like just shoving code at kids isn't going to do much unless they are also incentivized to use it somehow.

Give them the tools and kids will often find a use for it on their own. Someone shoved Hypercard in front of me when I was eleven or so and started me on the path (rather, they shoved a Mac in front of me on which Hypercard happened to be installed - I took it from there). Of course not every kid will find it compelling enough to do so, but then not every kid should aspire to be a programmer.

Many (all?) subjects that are taught at schools are already like that. People don't see the value until they need the skills.

You can apply this logic to almost all subjects in school aside from the very basic ones (math, reading/writing) and even then you can argue school need not be teaching at a high level.

> 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.


nuh, up to a certain point you won't learn much that's not at least interesting, save for french. And even that could help me with latin now, had I learned it better. Sure there's details only needed in a career, but that's late and kept to a minimum for obvious reasons, was for me.

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.


Or it could go the way of math, hated but all but the very most talented at it and generally considered boring. This has very real effects on the discipline, including a more exaggerated gender problem that CS has already inherited, and a number of extremely intelligent people are conditioned to never really give it a chance.

> including a more exaggerated gender problem that CS has

I'll need a citation for that, since last I checked, math had more females then CS and Physics.


You make a great point. My experience was the opposite. I desperately wanted to learn more about programming in junior high school, but the math teachers locked all the interesting computers up in their office and really didn't know much about them anyway. This was in the 1980's. Back then, computers were very tightly coupled with math and science, which was incredibly limiting for someone like me who didn't excel in those areas but was totally obsessed with computers. I remember I used to write BASIC programs in a notepad with a pencil! I eventually taught myself Pascal and C at home. I remember showing a math teacher at my high school a program that solved every problem on our homework assignments for the semester. She gave me a C because she couldn't see my work.

> She gave me a C because she couldn't see my work.

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.


I learned my lesson...now all of my code prints writes detailed logs describing how it works. (Kidding.)

The first 'code' I wrote was probably logo writer (turtles!) In kindergarten. It was fun. Then we did HyperCard and built all sorts of fun interactive designs.

Tldr: if kids can do art class, they can program and have fun doing it.


This exactly... my first "coding experience" in early-mid elementary school was "programming" magazine games (written in BASIC) into a TRS-80, as well as making cute animations in Logo on a TI 99/4A. Nothing ground-breaking, but there's incentives (fun!) and it introduces you to the principles.

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.


I think programming coupled with mathematics has nothing but positive results. Code affects most of our environment and it will dominate every aspect of it in the near future. Knowing how things work and how to alter them is incentive enough from my point of view. You can make things fun like creating or changing game mechanics and kids will love it. Coding involves a lot of logic and that brings a positive effect on how they will think and take decisions later in life. Much like playing chess as a kid which shaped my mind to think more thoroughly.

You say you started learning at 9 -- I started much later and regret it -- why not get others started sooner?

What age much later than nine years old did you begin programming?

Well I tried to teach myself during high school and college but mostly learned after graduating. I always wanted to learn but my HS didn't have the resources and I felt behind by college. So I got a degree in math and have been struggling to play catch up still :) it's going good anyway but I surely would have enjoyed having something deeper than Excel back then. In middle school and high school I did have basic tech stuff like that.

So it math. Most find it boring, but some of them will eventually find their way back to it, and discover that they can be pretty good at it.

It is not going to be work for everyone, but will definitely attract more people to this area.


You just described Mathematics.

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.


He also just described English education in Japan. Students just complete problems, and even those that do well never learn to speak English just through these classes.

Yeah the conversation schools seem that way, I'm seeing more of a trend towards more classes and general communication though. There isn't much of a reason for those conversation schools to do better though, they rarely get called out(from what I've seen anyway).

Was this 'high school' math or math?

Not all children will grow up to be programmers, but more and more will be information workers that will need to know what kind of tasks can be solved with 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.


In the UK it's called 'computational thinking', which much better covers what such a curriculum is about. Parts of it can be done without a computer at all; a 'bubble sort dance' for example (getting students to sort themselves from small to tall with an algorithm).

Honestly that sort of knowledge would only be useful for a computer science college student. I don't see any real point in teaching it to high school students. Most people don't care about maximizing their sorting when Excel does the sorting for you.

It's about critical thinking, it's not a class to teach children how to sort things... I'm really surprised to see a comment like this on this website.

Not sure if trolling or just oblivious...

I disagree that it will not be useful. Here's a comment that I wrote:

"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.


It's going to be butchered like English class to point of utter uselessness, no?

It's like learning Spanish and then totally and utterly forgetting it. What is then, the leftover value after one finish his secondary education?


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.


Oh man it makes my heart ache to read what you wrote here.

> 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 don't see much leftover value, but I do see benefit in increasing exposure to programming for all kids at a young age. Most will forget it, but for the interested ones it could be a gateway into further learning.

I used to think English was useless too until I had to read other people's documentation. The world would be a better place if smart programmers were also competent at writing documentation and comments.

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.


I didn't say English is a useless language.

It's a very useful language, but I doubt a Japanese classroom is a good place to become a good English speaker and user.


Wait, are you talking about teaching English in Japan?

I read that as teaching an English class in an English speaking country!


If we didn't have an English class in an English speaking country nobody would know how to write.

Not sure what you meant using punctuation in the middle of a sentence is used for clarity e.g. using commas and dashes.

Your not wrong about how documentation is poor - look at a lot of Google's API docs most of it is poor and incomplete.


Then what is point of, say, Math class? You still remember much of the Math formula?

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.


Wow, in 20 years Japan will be producing some amazing technology. I think people underestimate how transformative an understanding of programmatic problem solving can be. I'd put it only slightly under literacy.

I would put it on the same level as literacy and basic arithmetic.

It exposes you to entirely know ways to solve problems, a basic understanding of computer science on a societal level would be amazing.


There's no way it is on the same level as literacy and basic arithmetic, at least not for decades if not longer. Literacy rates in the modern world are close to 100%, near the same can add and subtract. Programmatic thinking requires much more effort and skill, at least right now, and that's why we are getting hella paid. It's almost like saying accounting or medicine is the same level as literacy. Or on the low end of education and vocational skills, carpentry or plumbing.

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.


Good software engineering is ridiculously difficult to the extent that nobody gets it right, everything sucks everywhere, and there's no way to win. It requires a lot of domain expertise and background knowledge that goes far beyond just programming. That's why developers are, as you put it, hella paid.

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.


Ok, I don't disagree with that. So if they teach programmatic thinking in the ways you describe from a very young age, and they can apply it to realms outside software engineering, then it makes perfect sense to teach.

My course started with learning structured programming logic by drawing structograms. From 'what is a variable?' to several sorting algorithms and their time complexity. No keyboard was touched, everything was computed by hand to tables. I found it hugely satisfying and think just doing the thinking-like-a-machine bit is a great addition to any curriculum. It doesn't need to make programmers out of every one, it just needs to show young students that programming isn't this black art only math geniuses can aspire to, because it's too often portrayed that way.

>that's why we are getting hella paid

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.


True, but I think a good chunk of the reason it is in such demand still is because it requires a high level of skill to be able to fill that demand. And I'm not sure that would change with exposure in schooling.

Countries like Israel and Estonia are doing something similar. Meanwhile in the US we are teaching only 10% of our schoolchildren how to code. It will be interesting to see what these countries will be producing in 20 years; but, what I am more worried about if the US will still have its technological prowess.

Alas, that doesn't mean that mandatory teaching will make people competent at it.

(We have pretty widespread teaching of programming in high schools in Germany. Doesn't help too much.)


Does it seem to help much at all with the political sphere? In US politicos seem to me to be pretty ignorant of some of the finer points, but that may be an age thing too.

Politicians will start being competent as soon as the populace giving them jobs values that trait enough.

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.


And the population will reward more reasonable people, when that becomes a useful tactic in voting.

First-past-the-post basically forces you to vote for the idiot, or risk throwing away your vote.


Don't think it has any effect. Why would it?

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.


Considering how long English has been mandatory and what the average level of English proficiency actually is, it might be a little too early to be overly optimistic. The potential is there, but it will depend mostly on the execution and based on current experience I wouldn't expect too much.

Why be optimistic at all? The more people are able to code, the less demand for it, the less salaries of the programmers.

Gotta be pedantic on this one...

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.


Interesting. The situation when robots not only take the people jobs but because of the robots new jobs get created, comes to mind. Isn't it similar to that?

Yet, I think that robots don't create as many jobs as they take.


Right now a lack of robots is actually the problem. Otherwise we wouldn't even consider outsourcing manufacturing to asia.

problem for whom? how's that a problem that people is asia now are able to earn money?

There wouldn't be less demand, there would be a higher supply.

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.


and? higher supply cases less demand. it's as simple as 2+2.

It doesn't cause less demand. Demand should stay constant. It may even rise because the price drops and more people can now afford to buy the product.

call it competition then. it'll become higher and salaries are lower.

We had mandatory programming in france 30 years ago it did not create a generation of little geniuses.

And in Eastern Europe we had a system of dedicated STEM schools that took kids with aptitude to extend their abilities and now the region is an IT powerhouse. YMMV.

There is a difference between increasing school capacity for specific areas of education than forcing insufficient education on everyone.

That has nothing to do with you guys being very cheap, right?

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.


I think it greatly depends on the comprehension level of the teachers. I can't imagine they're going to turn every teacher into a competent programmer overnight, nor will they lure an infinite number of competent programmers into the teaching profession.

>Wow, in 20 years Japan will be producing some amazing technology

Like more javascript frameworks?


I think programmers overestimate the value of programmatic problem solving. IMO it's slightly under understanding how cars work (something I have no idea about and as a result, I waste money on new leased cars so as to avoid maintaining older ones), nowhere near as useful as literacy or basic arithmetic. The reason is that contrary to Alan Kay's opinion, computers not just aren't, but can't be usefully applied by most people without a lot of professional programmers providing them with software for the task at hand.

I disagree. Making people learn to code is the same as making people learn math. It turns people off it. Most people are not interested in it. We often see the world through our own lens. I know many people in my past programming class who simply did not want anything to do with it ever again, and they selected themselves to do it. In fact, that seems to be more common than the people who loved it.

It should be taught in tandem with Mathematics, as a way to explore and apply the concepts they are learning.

America should start doing this as soon as possible, been saying it for years.


It will be interesting to see what kind of effect this will have on their society and industry. I know everyone has their anecdotal opinion as to whether this a good or bad idea, but we really won't know until a decade or so has passed.

I'm interested to see whether the gender ratio of programmers will change at all.


This. I would be very much curious too, whether if this can have a cultural impact. If not, I'd say it's largely uninteresting. Sure they'll make a couple of successful developers, but I'd rather want to live in a society where people have proper understanding/respect to tech jobs than the same old society with a few math/programming prodigies.

The greatest potential effect is demystifying "programming." Simply writing code is quite a different set of skills from being a developer, but to many people even superficially it's magic.

I wish 'programming' included teaching our kids how to be proficient users of technology. How to effectively google, how to bring up a terminal, ssh to another machine, how to secure your privacy are the type of skills I hope are included in this definition. The architectural and process engineering aspects of programming are better left to learn in adulthood.

> How to effectively google

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.


maybe. but text mode is pretty fundamental really. It could be powershell or anything I guess, as long as it had files and commands and was both interactive and scriptable

From your perspective maybe. My whole family use computers daily, some do it at work as well I guess and I would bet the number of times they have needed to go into a shell would be exactly zero.

I doubt they even know about terminals to be honest. Simply not needed.


It doesn't seem needed because you aren't used to what you can do with it. If you were good at it, you'd be horrified at the thought of not having that capability.

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 just don't think most people will ever in their lives need to script their computers to batch rename files and automate tasks. Even if they do need it for something it seems more time efficient to find some GUI app to do it, or get help from someone who already know how to do it (a power user).

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 just don't think most people will ever in their lives need to script their computers to batch rename files and automate tasks. Even if they do need it for something it seems more time efficient to find some GUI app to do it, or get help from someone who already know how to do it (a power user).

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 know it is common, but I think they would still use some GUI tool or get help from a friend.

I am very comfortable in the terminal but I'd still /prefer/ a GUI tool.


I guess we could try to ruin hacker movies by explaining what a terminal in reality is.

>how to secure your privacy

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.


Same with teaching French, Piano, Recorder, Photography. It will give people some exposure to something new. Most won't be interested, but a few would have discovered their passion.

I learned english as a third language by actually using it instead of just "learning" it and then get good grades for free.

The value, I think, is that Japanese society as a whole will at least appreciate programming. Whether that appreciation is as a craft that is not always so easy, or as something that sometimes even approaches art, I do not know, but some of today's kids will be the ones who grow up to either approve or disapprove future projects. An understanding sown in youth and shared by a generation goes a long way.

Idont think it will make any difference at all. Do you think people have an appreciation for Geography or History even though they all had exposure to it during school? Most of the time it aint the case.

A generation or two down the line, history may record that this was an important event in Japanese history. And perhaps, as you imply, that sentence in a history book will be glossed over by generations even farther in the future. The populace may not even know how their society came to be what it is. But the government, I think, is envisioning a certain future, and planting the seeds to create that future.

That's much better than just assuming people are too stupid to know how things work and using that as an excuse to force immutable defaults on them that are favorable to our business model.

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?


Just a little bit of programming can be powerful. If I were designing an elementary school course, it would focus on two things:

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.


If you treat it like alegbra, the average school kid will know about as much programming as they know algebra 1 year after graduating (i.e. nothing).

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).


I guess they might be also worried about the low literacy on computer knowledge among their citizens.[1]

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.

1. https://news.ycombinator.com/item?id=11758933


In Japan, English is already mandatory, yet, English fluency sucks. Japan recognizes the problem, but doesn't know what to do about it. Basically, English education has yet to succeed. [1][2]

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...


if they are so progressive they could hire teachers over the internet (form USA, UK, Australia etc)

Well they do for English - at least the companies that have the contracts do.

> yet, English fluency sucks

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.


You are correct that almost everybody is familiar with English, but that's not speaking it, let alone being fluent. To a degree, English already is part of the Japanese culture and language. But it's a different English. Some of it is compatible, but native speakers are the one's graciously degrading (to use a web programming term) to meet their level, and not them meeting you at a level you're accustomed to speaking.

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.


Japan is a strange case. On one hand, if you ask an average person a simple question in English, something like "What did you do yesterday?" they won't be able to parse the question let alone produce a response. On the other hand, if you ask them to translate a bunch of tricky words from English to Japanese or Japanese to English they will happily churn through them. "Politician", "weapon", "credit", no problem.

It's all an artifact of their teaching methods and tests.


> You are correct that almost everybody is familiar with English, but that's not speaking it, let alone being fluent.

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.


You underestimate how introverted and isolationist Japanese default culture still can be. Those devs aren't contributing because they feel competent or fluent. They're contributing despite not being. They have the capacity to take initiative and not be shy. This is a separate trait altogether, which isn't even being discussed let alone being made mandatory.

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.


Personal experience doesn't always reflect averages: According to the EPI Japan is #30: http://www.ef.edu/epi

As an English teacher I'm seeing a lot of change in the new generation of teachers.

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).


> whose work sheets

Sorry, I couldn't resist.


Haha I'm on a train and autocorrect is a bit of a bitch :-p

(That actually scares the crap out of me, missing something like that on something I give the students)


Programmers make mistakes all the time, so I suppose it's fair that English teachers can screw up English :)

I'm a programmer too :-p does that mean I can make double?

My wonderful English teacher gave extra credit on correcting her own worksheets.

That is a genius idea. I might float it past one of my head English teachers!

We had the same in the differential equations class. Attention and participation jumped and stayed up. Very interesting.

The assistant language teacher programme has to be blamed in part for these teachers. For those who don't know, Japan imports lots and lots of young people to be assistant language teachers for 1-5 years. They provide them with very little training and the quality varies wildly. Some are excellent teachers and essentially run classes. Others are "human tape recorders" and just provide pronunciation models for pupils.

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


I think you are spot on with that. The amount of training I received was very very minimal. My current company gave us one day training - most of that time was doing paperwork for the company. While I'm experienced(just over 4 years now), there were quite a few first time teachers.

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!).


> 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.

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!


I don't know when you taught here, so hard to say but a couple of things have changed in the last 10 years or so. First, they have introduced a "foreign language" class for elementary school children. I know some people who have taught it and they have a lot of praise for the program. It focusses on simply interacting with foreigners and includes many different languages. Personally, I've noticed a big difference in my rural town in Japan. Small children now often walk up to me and try to use their English. They always seem thrilled when their phrases work ("Hello. My name is Tarou. What is your name?", "I am fine. How are you?", etc)

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 ;-)


I'm going to look into this, thank you. I am always interested in learning better ways to teach the students :)

I have some notes somewhere around here as I was half way through writing a text book before I went back into programming. Give me a shout at my username @ gmail.com.

hey thanks will do!

English skills of people in their early twenties still suck. There are programs in Japanese universities where foreigners teach locals English. Some of these teachers are from Australia, but for most of them English is not their first language either.

Keep in mind that your average 10 year old native English speaker also sucks at English. Sit them down in front of the TV and have them explain what was said on the news. Generally, they can't do it because their English is actually not good enough to understand.

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 :-(


I think you are right. But I was comparing their English skills to other second language speakers of the same age, who are so much better than them, that the universities realized this and are now (rightfully) trying to benefit of the fact.

It's not just Japan. When I started here in .NL with an ICT study, it was the first year the school offered it, and History teachers were 'teaching' hardware and software design and more, just by reading from the book. I spent more time teaching people that year than a few of those teachers did...

>I guarantee you the smarter students will be correcting their teachers and making a mockery of them

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.


Actually in Japan, I could easily see students being mocked for correcting the teacher.

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.


I have seen this in person. I was even told once by a teacher than anything the ALT's say must be true (even when it was defiantly not).

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.


I would advise against making a prediction based on your argument. It is much easier to practice programming on one's own than it is to practice English.

I guess it's because there is much more to learning languages than having lessons at school. I've had both English and German lessons at school(I'm Polish) since I was 7 all the way to the end of school at the age of 19. So I had 12 years of mandatory education in both languages. Yet my English is completely fluent, while I can't say anything in German. All media I've consumed was always in English, games, films, books, comics - while I never had any reason to use German.

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.


That may change for English. The problem is that learning a language, particularly when the accent is very different, requires a lot of practice with a good model. When you have a limited number of teachers, with a level not ideal, it's a practical problem. And it's costly. Add to this a culture where people prefer to avoid English if they don't feel confident in their ability, and you have a tough problem to crack.

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.


>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.

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.


Agreed. I had a very similar experience with an AP Computer Science course in high school. Considering the material and range of students, I think my teacher did a fantastic job, though. I didn't feel like I picked up that much, but the exposure of being an enthusiastic peer who could help others -- that was very worthwhile.

Similar experience, except I did some mocking (just a little bit!); the course (Pascal, mostly) was not great, but I'd say it was useful, and students did learn something.

I think Pascal is not the right choice.

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.


When you are a "TA" - which you basically were, according to your description - then of course you learn a lot. I've been a TA myself, and that alone gives one a very big boost because you spend a lot of time researching and solving problems - and it's fun because you are motivated like hell.

However, that says nothing - nothing at all - about the experience of everybody else in the course.


Keep in mind I really wasn't a TA. I was a normal student learning the material with the rest of the class and taking exams, doing projects and getting scolded by the teacher as was everyone else. Most of my extra "teaching" was from study groups with my peers and people simply asking me for help during lab sessions because I would simply finish my task in the first 10-20 minutes of class and then I'd either have fun online on flash games, work on my personal projects or simply laze around for the rest of the class (usually 2 hours lab classes) so.. might as well help if people need me. That's a big difference, a "TA" or authority figure usually is more intimidating and less relateable for young students, where an actual peer is more likely to keep them interested and have them learn.

But yeah this is as I said an outlier.


Ah yes, I used the math analogy, but the English analogy is also spot on.

"In Japan, English is already mandatory, yet, English fluency sucks."

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.


The lack of people to talk to is definitely the number one reason their English proficiency plunges after school/college, however in my rather limited experience their reading isn't great. Like you say they have decent vocabularies, but they really try to avoid actually reading English text.

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)


To be fair - most people don't care about learning things they don't need or think they'll benefit from. Should these kids learn english? Of course, it's the most important language to know for international business and will help them greatly later on as adults.

But they're kids right now, and they don't need english in their daily lives, so most of them don't care.


> In Japan, English is already mandatory, yet, English fluency sucks.

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.


This is one thing I don't understand. Why do you want them to speak fluent English?

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 can learn programming if I have a programming text translated to my language, right?

I don't quite understand why learning english is relevant here.


dont get me wrong, i will never go against any kind of improvement or expansion of basic education. However, seeing how i have invested quite a lot of time and money into my computer science degree (finishing up in about a year), i am a little concerned that soon programming is going be devalued as a profession because of programs like these. is that wrong? also they said that they have been doing this in isreal since 2000, anybody know how that turned out?

Ironically I was just lamenting the fact that my daughter won't get access to a computer in her Japanese elementary school until 5th grade.

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.


Well I do hope they bring back Prolog or aim for Agda or something symbolic, not byte crunching and MVC. Mainstream coding is a mental regression.

I am torn. Did we do this before? Was it necessary before? Did we try to teach everyone how internal combustion engines or transistors work when they came up? There are of course always a lot of interested hobbyists when something new comes up but it seems the solution was mostly to hide the complexity and have professional car mechanics instead of making everyone an expert in the new technology.

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.


you don't get it. this is the blue collar job of the next two decades and as for any blue collar job we will need lot of people with the skill to make the job market cheap. get ready for this.

Is there actually evidence that we need more people in IT? The first thing I found was this chart [1] of the GDP split by economic sectors. If things didn't change much over the last five years this doesn't really look like we need everyone in IT. Also the next two decades seems a bit short, it will take about a decade for changes in the education system to show up in the market.

[1] https://commons.wikimedia.org/wiki/File:Sectors_of_US_Econom...


I think differently. 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.


But spending four lessons to learn how a 1980s computer works in the same way you spend two lessons learning how a 1900s internal combustion engine works is very different from teaching programming. I agree though, that would probably be some time well spent.

I think it's more a question of showing the kids that programming exists than making programmers.

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.


I agree with that but I don't think that is what people have in mind when they argue everyone should learn to program. As I mentioned in Germany we have this, for me it was maybe one lesson per week for a year or two. And this was more than two decades ago.

> Did we try to teach everyone how internal combustion engines or transistors work when they came up?

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.


Blame it on US coding promoters. Even Obama has paid lip service to this. Japan then feels like it is falling behind and must copy.

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.


If by programming they mean algorithms and really presented in a fun way then it is great. And next thing is to understand that the best algo one can learn as early as possible is the algo that allows you (teaches you) to learn when you want to do it.

I think it is OK to do this. When I was in elementary school, we also learned knitting. Why not programming, too? Some basic skill that could be useful at times.

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.


Had obligatory programming classes in my eastern european science gymnasium (high school). We worked in Pascal and my younger sister goes to the same school now and works in Python.

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.


Interesting point at the end:

> 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.


If this does go smoothly (and I hope it does), I imagine an issue being the bottleneck of higher education.

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.


i smell a fun jap/eng coding school startup idea in the making.

Math is such a wonderful and useful invention. Making people learn mathematics at school has made everyone love mathematics, take it up professionally, and become skilled mathematicians... You see my point. Most people hate math because of their experiences with it in school. I see the same thing happening with coding. It's gonna turn more people away from it than it ever turns onto it. May even do more net damage than good. (Anecdote: in my intro programming class, many people did not like it, even though they self selected to do it.)

Learning to program is a very very different thing. You can use programming to learn math and play games and mix the two.

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 :)


The point is that you can play and experiment with math. But compulsory education turns it into pointless shitty drills that make most students hate it.

That completely depends on how education of it is executed.

Are there any public schools where mathematics is completely optional, so we can compare the proportion of those students who move on to mathy occupations (and how well the others do in life with no math education whatsoever)?

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 know what you mean, yet there are exceptionally good teachers, who can induce genuine curiosity on a subject, this is the reason why I don't hate math. So, I don't think the bleak picture you describe will be the norm...

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.


Anecdote from my brother: He was struggling with French language classes (because he was lazy), so he switched schools to something you technical high school, where you would get less of a humanistic education (less history, less languages, less cultural stuff) and more technical topics.

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.


I think personal finance would be far more valuable to students than programming.

As a Japanese and a Programmer, I seriously worries about this move.

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.


Legal | privacy