
Japan adding mandatory programming education to all elementary schools - astdb
http://the-japan-news.com/news/article/0002951918
======
unabst
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...](http://www.japantimes.co.jp/opinion/2015/03/28/editorials/disappointing-
levels-english/)

[2] [http://www.japantoday.com/category/lifestyle/view/whats-
wron...](http://www.japantoday.com/category/lifestyle/view/whats-wrong-with-
english-education-in-japan-pull-up-a-chair)

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

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

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

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

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

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

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

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

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

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

~~~
ThomPete
That completely depends on how education of it is executed.

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

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

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

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

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

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

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

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

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

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

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

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

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

~~~
ploxiln
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

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

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

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

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

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

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

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

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

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

------
brianzelip
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](https://freecodecamp.com)) are just
going to keep getting better.

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

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

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

~~~
goldbrick
London metro is greater than a quarter of English population.

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

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

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

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

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

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

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

------
kiba
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?

~~~
2muchcoffeeman
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.

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

~~~
2muchcoffeeman
Wait, are you talking about teaching English in Japan?

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

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

------
pessimizer
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?

------
sdlion
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](https://news.ycombinator.com/item?id=11758933)

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

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

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

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

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

------
smaili
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?

~~~
pcurve
what do you mean top down?

~~~
58028641
Top down = start with high school

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

------
bronz
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?

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

