I think this stems in part from the "oh I'm so bad at math" culture we have in the US, where its almost expected that most kids won't be good at mathematics. The side effect of this, imo, is that fields that are close to math or dependent on it (physics, stats, CS, etc.) pick up a piece of that stigma and idea that its acceptable to be bad at these things.
I've seen occasional articles about quants on wall street and how a good number of them are Russian/Eastern European (this kind of thing - https://www.bloomberg.com/view/articles/2016-01-21/how-russi... ) and I feel this is another directly related element - having a strong math culture allows you to have a strong CS culture.
I've been happy to see that in the last decade, the US is starting to start bringing the pieces we need to get that kind of culture back - the popularity of startups and programming with the media that bring them to the attention of the average person. Space is cool again, and movies like "The Martian" are, imo, absolutely critical in making science/engineering something worth striving for. Hopefully we'll see some of this trickle down to our educational systems in the near future.
Apart from the former communist math teaching being much better, I think it is cultural as well.
Being an engineer in a former communist country was (is) a ticket to good life, similar lifestyle to a doctor or a lawyer.
In the US being an engineer is seen as boring, and something only nerdy un-socialable people do. Also there are more attractive alternatives to pursue for smart people in the US.
Basically, it boils down that a society will produce the type of talent that it values (by both training, and steering talented folks to certain disciplines).
I'd say it is the same reason the US sucks at producing soccer talents, event compared to much smaller countries like Croatia or Belgium.
On the other hand, a lack of math teachers could be explained because people who have decent math skills can now live off that skill by being an engineer much more easily than before when they would have been math teachers.
Anecdote from my rural area. The last few math teachers eventually switched over to being the librarian or home economics teacher. Because it paid exactly the same but the curriculum was much easier to teach and isn't subject to the stresses and rigors of standardized testing.
That was my thought. I wonder what the backgrounds are of Russian teachers/professors of mathematics? I do not know oodles of math teachers, but all of my teachers as a kid, and friends who teach math now, received a four year degree on mathematics and went right in to teaching. They were very uninspiring (career-wise) people, with little knowledge of how math is applied outside of a high-school/university context.
It seems math textbooks in the US are 2-3 grade levels easier than those in East Asia. SAT Math is considered a piece of cake even by non-top but good students there. I heard Russian math is similarly rigorous.
This reduces the level of logical thinking skills most American children get to practice from school. Programming well requires good abstract and logical thinking which is easier to develop from a young age. Thus the US math education may in effect reduce the chances of many people achieving their potentials.
Tangentially, can someone knowledgeable shed light on why American math curriculum is significantly easier than those in East Asia and Russia?
The 2-3 grade delta sounds about right. I was a good but not too math student in (Eastern European) country before moving here. I
Didn't have to open a math book again for about 3 years. Most of my friends from the same generation of immigrants would give the same number.
More was simply expected of us. Not "hoped for" or "aspired to", but expected. And parents weren't at loggerheads with teachers; what teachers said was law. So if a teacher said you were learning the multiplication table this week, parents didn't argue it was too much, or encourage you to "do your best." You'd be drilled on those times tables until you wanted to kill someone, but you'd damn well be expected to have them memorized by the end of the week.
The idea that people were driven by good money is a western misinterpretation, or whatever the cultural equivalent of anachronism is. My grandmother used to scold my aunt for marrying an engineer instead of a tin knocker, like my mother did, because tin knockers brought home the real money.
I think those two elements - expectations and parental cooperation - don't get enough credit, by far.
As someone who grew up in India, I can attest this about the education system there too. This whole culture of parents always ready to come and fight with teachers over the smallest things just didn't exist. Other than in extraordinary circumstances, you gave the teacher and the system the benefit of doubt.
If you were scolded by the teacher, there was a good chance you would get another scolding back at home once your parents found out about the incident.
Unfortunately (or not?), through what seems to be a western influence, this is slowly degrading.
>>Other than in extraordinary circumstances, you gave the teacher and the system the benefit of doubt.
This is changing or has changed in India. These days you can't do anything much to the child, even if the child is clearly getting spoilt. Parents seem to have very bloated egos these days.
The bad side effect of this is many teachers don't really have the same degree of connect with their pupils these days. So its largely like - "What have I too lose, should you get spoilt' mentality is getting common.
In a generation back during my parents's time, teachers were literally looked up as very honorable and respectable. I even know of an incident which my uncle told. He used to play a lot and was not good at studies, when he passed examinations, my grandparents would go to the school and ask the teachers if they gave their pupil a honest evaluation. They literally would be surprised if he got a pass, and asked the teachers to be honest if had failed. Compare this with parents today.
This reminds of a song in Hindi from the movie '3 idiots':
kandho ko kitabo ke boj pe jhukaya, rishwat dena to khud papa ne sikhaya
This is true. Discipline is very important in learning process. Another important thing is - completing at least primary education in mother tongue which improves thinking process. Sadly these days parents prefer international public schools.
For sure parents play a big role. The "forced practice" and colaboration with the teachers certainly are factors. I think a socio economic context also plays an important role.
In an affluent family (as define by people who didn't have to worry about money for three generations) access to education is a given, and therefore less valued.
If your family is poor and your access to education is more uncertain, you'd value what you get to learn a lot more. In this context learning and persevering takes on a dimension of "duty" to help out the family. This feeling of duty towards your family caused by family poverty can transfer for several generations. If you grow up aware of the the struggle that your parents and grandparents had to go through to get to where you are now, you end up feeling obliged to learn this math thing.
Except their citizens are aware that their freedom is constrained. Americans are deluded by the "land of the free" mantra. The powers that be don't want to face a collective red pill movement.
> why American math curriculum is significantly easier than those in East Asia and Russia?
I see three reasons.
1. In the US, no child can be left behind. The only way to do it is to lower the plank for everyone.
2. Over-reliance on standardized testing, judging students and teachers by scores alone. Knowing how and when to intelligently guess on multiple choice questions is rewarded, while ability to communicate well during oral exam is not.
3. Textbooks are ridiculous. Lots of paper, with very little density, and crazy expensive. Textbooks in Russia are more like AoPS books.
I totally hear you about 3. I was super shocked when I (North America educated) went to visit a university bookstore in Bulgaria. For around $5 I was able to buy a "Mathematical methods of physics" book that covered in 300 pages the material that I had learned from three or four books. Sure the book did almost no "hand holding" and just blaster through the material, but still—it was all there.
I've been recently looking at middle school and high school math textbooks and they're even worse than the books for first-year undergraduates. Yes, treat the reader as if they're an idiot and spell everything out and make them practice the steps. It's like the books are written by helicopter authors who insist on showing you their way. No wonder kids are not into math.
Space was always cool. Math, not so much, simply because in the race to catch up on the space race, wayy too much emphasis was placed on teaching math instead of teaching math well, which turned a lot of people off of it.
Eventually, things like Khan Academy might prove a lot more useful in making math and science a culturally desirable field.
>Space was always cool. Math, not so much, simply because in the race to catch up on the space race, wayy too much emphasis was placed on teaching math instead of teaching math well, which turned a lot of people off of it.
I think the problem is expecting some "nice" (friendly, etc) way of teaching math, which dilutes their content (like Disney-fying a novel).
The Russians we are comparing here, don't have any "better" teaching methods. They just suck it up and study what's there.
I advise taking a look at the mir titles or the Israel Gelfand books. Looking from it, Russian are really good at producing top notch popular science.
Tough there is no fry, their math book are almost game like, with few carefully built example and very clear explanation using only some diagram when needed (consequently their book are quite small) and the exercise are absolutely not rote based, except the first few exercice, and even then they all serve to illustrate a specific part of a concept, all the others are puzzle like problem.
Putting lots of full color image is not making math "fun", well built and interesting problem is.
OMG I LOVED THE MIR BOOKS! Yes, they were incredibly simple, weren't littered with images, only essential diagrams. And the English translations were very good... I can only imagine what the Russian language versions were.
> The Russians we are comparing here, don't have any "better" teaching methods. They just suck it up and study what's there.
Not entirely. A lot of it is problem solving exercises as opposed to rote solve 20 exactly same problems in row seen in us books. Memorization won't help you solve those exercises. There is also les focus on arithmetic and more on equations much sooner.
If you actually like math, you will prefer Russian exercises, cause they challenge you.
I used to study for my engineering entrance exams with the Problems in General Physics book by IE Irodov. They were some of the most challenging and creative problems that I have ever solved. They are quite interesting and require critical thinking to solve. Even the problems I later studied in actual engineering courses didn't come any close.
The books by Russians in any of the STEM courses are really well written and approach problem solving in a way that most American and/or Indian books don't.
This sounds a lot like stereotype threat (https://en.wikipedia.org/wiki/Stereotype_threat). I'd say though, rather than "it's acceptable to be bad at these things," people instead avoid it _because_ they feel they will do poorly and fail at it if they try.
Yeah it was frustrating to see a good friend of mine that has taught himself to make basic computer games in gamemaker, that can play competitive MTG (notable due to the large state machine you have to simulate in your head) and can pick up new systems quickly shyed away from CS because he'd need to take a math class.
This article may have a point about poor state of basic computer education in US, but its just blindly guesses the reasons on the topic of why so many hackers are from ex-USSR countries. A pretty good level of CS doesn't help here much - take a look at Europe, for instance.
The secret ingredient is a culture of cheating. Its absolutely fine to cheat on any level of exam (unless you get caught, obviously). This makes students think about the weak points of any system, gives them a chance to train their skills etc. The side effect of this culture is much higher level of corruption and financial crimes
>The secret ingredient is a culture of cheating. Its absolutely fine to cheat on any level of exam (unless you get caught, obviously). This makes students think about the weak points of any system, gives them a chance to train their skills etc. The side effect of this culture is much higher level of corruption and financial crimes
If your theory was true, Chinese devs and hackers would have the same reputation for prowess as their Russian counterparts.
I like Sergey Aleynikov's explanation:
Russians had a reputation for being the best programmers on Wall Street, and Serge thought he knew why: they had been forced to learn programming without the luxury of endless computer time. “In Russia, time on the computer was measured in minutes,” he says. “When you write a program, you are given a tiny time slot to make it work. Consequently we learned to write the code in a way that minimized the amount of debugging. And so you had to think about it a lot before you committed it to paper. . . . The ready availability of computer time creates this mode of working where you just have an idea and type it and maybe erase it 10 times. Good Russian programmers, they tend to have had that one experience at some time in the past: the experience of limited access to computer time.”
There was perhaps also the aspect that when the microcomputers showed up on their side of the curtain, they didn't get a market for boxed software to go with it. So either they wrote their own, or cracked western software. Either way they got intimate with software innards.
It could be interesting if we could measure the damage done to computer literacy skills by the huge spending on easy to use well managed edutech like one to one deployments of chromebooks, or worse iPads, compared to forcing the students to wrestling with obsolete poorly managed systems in order to hand in computer typeset term papers.
It might be that the economic constraints imposed on the former USSR states by their failed experiment with reagonomics is in fact themselves the reason why they produce more programmers and fewer failed athletes and actors then America.
The secret ingredient is a culture of cheating. Its absolutely fine to cheat on any level of exam (unless you get caught, obviously). This makes students think about the weak points of any system, gives them a chance to train their skills etc.
Sorry, what? They are better at math because they cheat at exams, and thus they "train" their minds?
That's really confusing. And although I love HN, I find the term "hacker" to refer to any sort of programmer or software developer to be increasingly idealistic (bordering on lame), especially when there are very real and very destructive hackers out here.
I, and I think many here, find the media's insistence that all hackers are cybercriminals far more disturbing. To hack has meant to create long before the popular consensus tried to demonize it. Pretending the only interesting thing you can do with a computer is criminal activity is part of the reason why the US is so far behind in the space.
For me too. When I heard term hacking in relation to pprograming, it always meant "unmaintennable mess full of dirty tricks holding together with duck tape". Not positive.
It's heavily context-dependent for me. Based on the situation, I'd expect it to be:
- A network intrusion
- A cool, clever piece of programming, without any other expectation of quality besides "it works"
- A "clever" (in a bad way), ugly, and (hopefully) temporary mess, done knowingly because of time constraints
- A program, usually put together quickly, to do a specific job
"Hacked into" would imply the first meaning, the others could be differentiated with further adjectives "clean", "dirty", "ugly", "cool", "quick", etc. Whether it's positive or negative really depends on the situation.
I grew up the eldest sibling of a struggling single Mom. We didn't have very much. We had to make every penny count. She spent every spare penny we had one year on our first computer to teach herself to program to get herself a better job so we could have an easier life. I was 8. It was a Sinclair ZX Spectrum 48K. She had to sacrifice a lot to afford that computer. In comparison, I was surrounded by the friends, the majority of whom had what seemed like a cushy life compared to what I knew. That computer was the start of my career. I scoured the manuals and the programming books my Mom bought and taught myself everything I could about it. I took it apart, I tried to understand the hardware.
The town I grew up in had a university that was heavily interested in computer science. When I was a teenager, my girlfriend's mother and father had programmed the university computer systems with punch cards. All my friends had home computers. Amstrad CPC64, Commodore 64, BBC Micro, Acorn Electron. Even with the accessibility I had to a community that were into computers with friends who were into computing and programming, it was hard to find information. The internet hadn't yet been made publicly accessible. You had to beg, borrow and steal books and manuals to try and make progress and share with your friends. This made you dig into things and probe them to understand them.
There is no clear delineation between being a hacker and not being a hacker. You either have the mindset to leverage everything you know to achieve your goals or you don't. It can be learned, sure, but most people don't look beyond the surface of anything. Relationships. Life. Computer systems.
A hacker cares very little about the surface. They want to understand every little nuance. They want to understand how it works, why it works the way it does. Their exploration to extend their understanding uncovers bugs. Most people stop at understanding the features and finding bugs. The hacker wants to understand the bugs too. Why does it occur? When does it occur? What conditions trigger it? What are the implications of it? They want to understand everything.
One thing I've found lacking in the psyche of most of the North Americans I know (not to exclude all of them by any means) is that they don't tend to look under the surface of well, anything. They see the system for what it is and they think about it in the manner in which it was designed to be used. They apply the right tool for the right job.
A hacker is more like a farmer who doesn't have an unending budget to buy the exact right tool for every little job they need done. "I've gotta get this job done, I don't have the right tools for the job, but I do have this other pile of junk over here. How can I use that to do what I have to do?" and hack something together, warts and all.
When you grow up in a situation with pretty much an unending ability to do whatever you desire and the only person standing in your way is yourself, you don't tend to need to think much like a hacker. You just go buy the right tool for the job and get the job done. No more thought is given to it than that.
Conversely, when you grow up with nothing, you figure out how to make do with what you can get your hands on. You develop a hacker mindset. The USSR for all the years I was a kid seemed to have nothing. They learned to get by with and exploit what they could get their hands on. They developed a hacker mindset.
This is just my experience with the people I know. I'm not tarring all of the U.S. with this by any means.
> A hacker cares very little about the surface. They want to understand every little nuance. They want to understand how it works, why it works the way it does. Their exploration to extend their understanding uncovers bugs. Most people stop at understanding the features and finding bugs. The hacker wants to understand the bugs too. Why does it occur? When does it occur? What conditions trigger it? What are the implications of it? They want to understand everything.
It is important to remember that we don't have unlimited time. While the hacker mindset is very good for understanding things, we also need to have the wisdom to pick which one is worth deep diving into. We need to learn which ones to leave or delegate.
Indeed. This is something that comes with experience though. Frequently you don't learn this until you really find your feet and start seeing the patterns between what separates the good tools from the bad... or even the implications of one toolset over another. Sometimes the stupidest most brain dead tool turns out to have implications nobody else ever gave thought to until the light bulb fires in your head and you get that "Wait a minute..." Eureka moment.
You mean like State sponsored hacking? Sure... I don't know I would say that it's something else entirely.
The core mindset still comes from the same place. Understanding everything. Understanding the implications of bugs and features of known systems, using that for grand exploitation to achieve things they weren't designed for.
What inspired them to start hacking in the first place may or may not have come from a place of not having everything. Perhaps their trigger of interest were movies or TV shows: War Games, Hackers... or James Bond or the nerdy guy from NCIS, 24, Bourne Identity, MI5 or countless other TV shows and movies where hacking is glamorized.
The start of that career path is the same, regardless of what brought you there - a need to understand your tools, deeply.
At many colleges the CS program is watered down, similar to how watered down the math curriculum is in high school. You barely need a half a year of Algebra to graduate and when you get to college you're doing HTML and very simple C++ (well, C using cout/cin) programs that you're really just copying from the other students.
I think the question we should really be asking ourselves is why so many valuable tech companies hail from the US, specifically the bay area. Having grown up in the Bay Area, there weren't any more special focus on mathematics / computer science in school, in fact we were encouraged to pursue whatever we wanted to pursue. If we felt like we were bad at math, we weren't forced into it, we should only pursue math if we really liked it. Most of my friends never made it past pre-calc, yet top tech talent from Russia come to the US, and end up working at wall street / silicon valley. Sergey Brin comes to mind. I don't think we should really focus on improving our mathematician/hacker pipeline, we should make sure we're cultivating a culture of freedom where people can explore and pursue different fields of academics, and make sure there's no barrier to talent working for us.
The origins of Silicon Valley being a technological hub go back all the way to WWII and the economy of the early computer industry. So, I feel the USA being an economic and military superpower is a pretty easy explanation for why 'Silicon Valley' exists in the bay area today and not somewhere else. Obviously, there have been many years and many technological revolutions since those early days but there are pretty clear trails of people, and money leading all the way back.
As far as trying to answer why so many other countries consistently beat America in math and technology I think a small answer can be gleaned from your statement: "we were encouraged to pursue whatever we wanted to pursue." That is not all that common in many countries and cultures in the world. I think a lot of it has to do with economic or political desperation. I have worked with people who learned how to code because they didn't even have running water in their village in India and programming was a way out. Or more relevant to this story, they lived in a Russian town and got a PhD in engineering so they could come to America and be an engineer. These types of stories are very, very common in the Bay Area. Looking at the education systems is helpful, but I think you need a real driving force to get most people motivated to learn difficult things.
I'm not sure I could attribute the technology hub we see to WWII. Most technology advancement in America was happening in Bell Labs during WWII (The lab was located in New Jersey).
In 1973 a female teacher (I think a teacher) at my high school got funding to start a computer science (i.e. programming) class in my high school. We learned to code in Basic and Fortran(interpreted!) on a teletype machine with a paper tape reader, connected to some time sharing system, plus got industry visitors and some field trips. Today I am a programmer because of this. If someone can put that together back then you can do it now.
Lots of talent (technical universities, emphasis on science and maths in general), undercompensation at local companies, and inability for international police reach (extradition from RU for "cyber" crimes is not routine).
So a nice opportunity for hackers so long as they don't bother the local state and act outwardly.
I always thought it was because smart people who will become good programmers are guaranteed to get a nice cushy job. (In the US) In Eastern Europe and especially in Russia that isn't the case. Great cushy jobs are hard to come by.
However, there's virtually unlimited opportunity doing shady things or hacking for profit. I once even talked to a Russian developer about this in great length. He came to the US for one such cushy job. I was pretty shocked about how freely he talked about past "shady" jobs. He told me, yes he _could_ make more money but he also didn't like being so unethical. So he came here to be "legit".
Russian-American here: in Russia you don't get to choose what to study, mostly. Certainly not in middle or high school -- everyone studies the exact same set of subjects. In college you don't get to choose individual subjects, you choose the profession, and that comes with a set of courses already baked in, some of which you'd never take on your own.
Whether you're good or not at something, that's something you cant discover until you're pretty decent at it (see the Suzuki method), so you get exposure to a pretty broad array of subjects, one of which is informatics. I have no doubt this plays a role in exposing more kids to programming. I do not know whether any of the kids make it to the top percentile of "talent". For me (although this is 20+ years in the past) and the majority of my classmates, high school informatics didn't do anything. I already knew vastly more than the teacher, and had a computer of my own, a really shitty one, but it was a computer. The teacher knew it too, so I was allowed not to come to the class, and got "5"s (Russian version of "A"s) automatically.
One thing that definitely does help is that kids who suck at school are kicked out after 9th (8th back then) grade, and are expected to get vocational education, whereas those headed for college get 2 years of uninterrupted focus on their math and science at a much higher level than the dumb kids could handle. At least that's how it was with me. A group of us have (illegally) hired our math and physics teachers to (get this!) study advanced material on the weekends.
Now that I have a kid of my own, it's hard to even imagine that he would take this kind of concern in his own affairs. He has everything, so he will probably amount to nothing. There's no incentive. It's not "either you get good at something, or you'll clean pig manure for the rest of your life" dichotomy. It's more of a "play computer games all day, and then shake down your parents for cash when you turn 18". Vastly different environment.
I would also like to point out, that top engineers almost invariably end up in the West. Russia has the "oil curse" and the "management curse". The oil curse is because in a country so rich with natural resources the taxation and business environment are geared towards those wildly profitable companies, and doing anything else doesn't make sense. The management curse is that managers in Russia typically demand unconditional respect for authority and think they should be much better compensated than an engineer. Both of those things are something a top hacker will almost certainly have problems with. In the West, you're more likely to be listened to and treated as an equal.
I have a kid as well, and have the same exact thoughts about his future and incentives - only I grew up in rural New England where it was, "get good at something" or "become a logger for the papermill nearby that will probably close in the next decade or so."
I would love for the US to have a viable vocational education path. So many students in high school prepping for college who don't want to be there.
Too much emphasis on education and college in this article. Hacking requires 'thinking outside the box'; often called lateral thinking[0]. Formal education in the subject of hacking is nice, but doesn't allow for the creative mind to fully explore systems. There's a phrase:
Don't Learn to Hack - Hack to Learn
In terms of earning money from hacking, there are tradeoffs made in both whitehat and blackhat hacking. One noticeable tradeoff in blackhat hacking is having no boss, and penetrating a system on your own terms. Whitehat hacking might pay more and be more respectful and a nice little haven where you can avoid jail, but it's often riddled with a rigid framework for getting into systems and doesn't encourage the lateral thinking I previously mentioned. Instead it's a corporate cubicle job where hacking is often automated and routine.
On the other hand, there is grey hat hacking which many fall into at some stage to strike a balance, and often balance criminality with a respectful whitehat job that pays well.
desire/poverty + descent education system (especially in classic sciences) + long history of political 'experimentation' in the area might explain the phainomenon
The article mentions an "AP Computer Science" curriculum that it claims does not cover programming and is not actually APCS, but is instead AP Computer Science Principles, an "intro to computers" for less stem-oriented students that was introduced last year. The actual APCS curriculum mostly involves learning basic programming constructs and some Java APIs, and is done solely in Java.
Also, there used to be AP Computer Science B covering basic algorithms and data structures, but CollegeBoard killed it because barely anyone took it.
What is striking to me is that the table of AP tests taken (2016) in the article clearly states:
Calculus AB 302,532
Calculus BC 118,707
for a total of 421,239 students taking this demanding technical subject and exam in 2016 (one year). Undoubtedly, in this day and age of cheap readily available computers with more power than a 1980's Cray supercomputer, most of these students both have computers and have undoubtedly done lots of programming whether they have taken AP Computer Science or not.
As for Microsoft, they have announced numerous layoffs of tens of thousands of highly skilled engineers in the last few years, for example:
As a STEM person, I like the STEM-makes-you-a-hacker angle of this piece, but I think a more likely causation factor is the need for software piracy.
Most computer users in Eastern Europe do not pay for Windows. They download a pre-cracked installed, or use a serial, or a crack or something. For an entire generation or two, before you'd get access to a computer, you'd have to know how to install a pirated OS on it. Same for all software and media. Piracy, yes, piracy. Terrible, I know, but very motivating. If you learn how to use a computer, you'll have access to stuff. If you don't, then no stuff.
But worry not, the Eastern Block is not about to take over the internet. The stupefying site with the blue header has taken over mind share and now nobody is learning anything about anything anymore, anywhere around the world, equally.
> although there currently are just over 42,000 high schools in the United States, only 2,100 of them were certified to teach the AP computer science course in 2011.
This boggles my mind. Only 5% of high schools are even certified to teach CS?
I wonder if this could be addressed at the state level. Why couldn't California mandate a more Russian style approach - perhaps even with an entirely new exam and curriculum since the CS AP exam doesn't appear to cut it.
Computer Science is just as important as language skills now, we need to start acting like it.
When I was in HS so many years ago, at a relatively affluent suburban high school, AP CS was not offered. We had 2 single semester classes, basic and advanced programming, taught in BASIC and C-style C++.
But they weren't AP certified classes, and frankly, I doubt they have the money to recruit and retain instructors. The guidance counselors pretty much told us not to take them back to back freshman year, because then you'd be out of classes to take. Most of the students seemed to know more about programming than the teacher, who was also responsible for teaching accounting.
Class period ends up being 10 minutes to do the day's programming assignment and 50 minutes fucking around pen-testing the IT setup trying to run Duke Nukem. One time the kid who's dad worked in district IT mentioned that "when you forget your name badge when you show up for work at Disneyland, they give you one that says 'Dale'. Browsing the global contact directory one day, I came across an account, first name Dale, last name missing. A few guesses later I discovered the password was di$ney, and Dale had quite a few drives mapped it probably shouldn't, like one with the staff directory including home addresses phone numbers and employee IDs.
So obviously the real reason Russia outdoes the US is that US targets are too easy to hack ^_^
I think the problem is that for most people qualified enough to teach AP CS, there are a lot more attractive jobs available to them outside of teaching (of course, if they love teaching, they might not take them). I've had former math teachers from HS who quit and did coding / data science programs so that they could effectively double their salaries.
A lot of schools don't have the budget for gym class.
Also, the AP CS program, unless it has gotten markedly better since the mid 2000s, is just a basic Java course. I got a 5 on it, and I don't remember anything more complicated than how to implement a singly-linked list.
Russian culture - especially in business - is a lot more cutthroat than the west. I would argue that it leads to more people picking up engineering skills as it's one of the safest paths.
I'm probably biased but the thought "my life might not matter much but at least my skills are in need" is pretty common here next to Russia's border.
I was going to guess it has something to do with Russia's youth's relationship with Video Games. thought they don't play lots of games or something. Then I looked at wikipedia, with 5 sources stating how the biggest issue with video games there is piracy[1]. Ethics aside, great way to learn your way around a computer!
I've seen occasional articles about quants on wall street and how a good number of them are Russian/Eastern European (this kind of thing - https://www.bloomberg.com/view/articles/2016-01-21/how-russi... ) and I feel this is another directly related element - having a strong math culture allows you to have a strong CS culture.
I've been happy to see that in the last decade, the US is starting to start bringing the pieces we need to get that kind of culture back - the popularity of startups and programming with the media that bring them to the attention of the average person. Space is cool again, and movies like "The Martian" are, imo, absolutely critical in making science/engineering something worth striving for. Hopefully we'll see some of this trickle down to our educational systems in the near future.