Computer Science in Vietnam
neil.fraser.name
neil.fraser.name
What I'm trying to say is that the story is pretty one sided. The school website[1] is currently down but I have found the school in the department website[2]. The school appears to be one of the first three national-standardized schools in Da Nang. It also focuses a lot in using IT for management and teaching.
Here's why I'm curious. If Vietnam's education system is producing students with such mastery of so foreign a language, that says something impressive about Vietnam's education system and, by extension, about Vietnam. In a roundabout way, it adds credibility to the OP as well.
About myself: I just read HN, join English communities like Reddit, Quora. I try to travel but nothing much.
Regarding OP, his experience is just an exception. There are many other good or bad things in our system. And if you ask me, I will say the education in the U.S. is superior tbh.
Not better, just closer to an arbitrary standard that has been held up as 'correct' by some subset of academics (who are not, by the way, linguists, as linguists are too knowledgeable about language to try and define what 'correct' means).
I've been involved with many high school and college exchange students from Vietnam over the past few years and some students I've been working with recently speak English at the same level as native speakers with no discernible accent. One of my current students scored over a 2200 on her SAT. It's really amazing. From my experience, and from what I've been told, the emphasis on English language studies has increased within even the last 5 years in Vietnam. Each year, the students that I work with here in the US speak better English than the students from the year before.
Those are international schools. Their tuition are usually very high, and way out of the price range for most families in Vietnam. Normal schools where I live (Hanoi) only teach in Vietnamese.
We do have English class once or twice a week where we learn the basics of the language. But it does not provide us enough exposure to the language. To improve our language skills, we usually have to take extra classes after school.
"School boards fight to keep CS out of schools, since every minute spent on CS is one less minute spent on core subjects like English and math. The students' test scores in these core subjects determine next year's funding, so CS is a threat."
School boards fighting to keep CS out of schools? Huh?
I followed the link, and found a story from 4 years ago about how kids can use the internet but don't know much about it. The most supportive paragraph I found is from a quote by Computer Science Teachers Association's Chris Stephenson "Stephenson said computer science classes might be an unintentional casualty in the push to increase academic standards. Computer science is not considered a core subject by the No Child Left Behind law, which influences school priorities and budgets."
Looks like the CSTA were the ones pitching the piece to the Post, but who knows.
What I do know is that we need more Computer Science taught in schools, and the U.S. is definitely falling behind. But what I don't know is this idea that school boards are actively fighting CS in the schools. Not until somebody can show me something better than he did. (I'd also caution against stories about one school district here or there being extrapolated into some kind of a national disease.)
Please pardon the nit-picking -- this was a really good article all-around -- but this is an important subject in the states. The conversation over here is not advanced by throw-away accusations from left field.
Why?
It might not seem like it when you work entirely with computers but it just isn't that big a part of what most people do day to day. A computer is a tool, no different than a hammer in most peoples jobs. They read their email, browse some websites and do what ever specific thing in whatever specific application their jobs tell them to. They don't need to know anything about what the computer is doing and they don't care to know. Cars make more of an impact of peoples lives than their computers do but we don't have someone constantly saying how we need to make everyone a mechanic. Eating is more important to life but we don't have a movement to make everyone a chef.
Knowledge of how a computer works or how you make it do something someone else hasn't written an app for is just not at the same level that reading, writing and arithmetic are. Step back from what you do all day and actually watch what people do. Knowledge of why stuff happens on the devices they use just isn't that important. They know what button to hit and that's all they need to know to be productive in what they are doing.
But, sure, you can be productive without understanding computation. I should have said "maximally productive". Even a chef benefits from understanding how recipes mimic algorithms.
Actually I have seen many care enthusiasts who criticize people that don't change their own oil and spark plugs.
We had one class called "Web development" that was nothing more than playing with a WYSIWIG editor. One student was kicked out for creating their webpage in Notepad, because the teacher thought it was "hacking". This was discouraging.
I enrolled in the local community college during high school and took a "Programming 101" class. We learned how to use if statements, variables, functions, simple loops, and almost made it to arrays after _3 months_. 102 and 103 weren't much better. This was also discouraging.
The head of the CS department eventually told me not to waste my time taking the CS classes there, that they were worthless and won't transfer, and I should wait until I get to a university.
Is this what we want?
Whatever you measure, that's what you get more of, sometimes in a way that is not at all what you were expecting, and often at the expense of things that aren't measured.
We've all seen management-by-measuring go sideways in the business world, why should schools be different?
And yes, I can confirm these education is true. However, the level of the last problem was taught to very few chosen gifted student in a very limited selected school. I do remember me learning about matrix, dynamic programing, graph theory, various pascal optimization for quicker run. The rule was, if you program run more than 1s, you're out(except stated otherwise).
I'm waiting for the person to pipe up saying they are going to outsource their development to Vietnam after reading this article. Stuff will happen, the hype will be replaced with reality and there will be lots of work cleaning up the mess.
I have worked on two rails projects that were done by two different teams over there. Both were so bad that the only real answer was to rewrite from scratch.
Are there good developers over there...yes. Those developers will be the exception like they are everywhere in the world.....and won't be the $10 an hour guys. A good educational system helps, but at the end of the day even if you are really good at solving academic problems (which a lot of engineers worldwide are not), unless those skills are combined with discipline such as TDD, the ability to interface with a client and understand the domain....... a lot can break down.
I have no doubt that what the author saw at this one school was true. But what if you went to one of the best elementary, high schools and colleges in the US.....which happened to be clustered in the same area....and then said that the US system is awesome after having visited a really advanced magnet school and the Stanford computer science department....both on guided tours by the administration where they are going to put their best foot forward and only show the gifted classes.
After all, the quality of the Stanford CS courses must be representative of all American schools such as ITT Tech and your run of the mill 2 years party schools.
That's got to feel good.
However, there're some points which I don't agree with you:
1. This school seems to be a good one in a great city in Vietnam. No way they're lack of money to hire enough CS teachers to teach their students. No offense, your help's great. But I just don't agree with the reason they (the school) told you.
2. Broadband Internet connection is cheap and popular in cities nowadays. A lot of Vietnamese students have ADSL or Fibre connection at home, so I don't think the school "can't afford a reliable internet connection". There're even educational service plans with much cheaper price.
3. The CS program you mentioned in your article is the advanced one.
Again, I love your work. Thank you ;)
The level of bureaucracy is unmeasurable. Money leaks.
What the OP was seeing is probably a special class in a high school for gifted students. Since winning national and international student competition is kind of a big deal in Vietnam, most major cities and provinces have such a school, but it's not easy to apply to them. All schools require applicants to take some tough and competitive entrance test that may have math problems harder than those in SAT or even GRE. As a result, the students who get in are usually the best of their ages, and they will be trained rigorously and restlessly for three years with the sole goal of winning a major programming contest such as IOI. That means they are the exception, not the norm. Most high school and even university students in the country can't tell what a loop is, let alone solving algorithmic problems.
Regarding the part where author said "Vietnam is a 100% Windows XP monoculture" is not quite true. Especially in the recent years. Many people have adopted Windows 7 and even Windows 8, and stuff like Android smartphones or iPhone are getting more and more prevalent. I guess what happened is that schools don't have the budget to upgrade both software and hardware. That will take some time.
Grades K-1 (Lincoln, NE): Messing around and playing with Apple eMacs (think stuff like Kid Pix Studio)
Grades 1-2 (Fremont, CA): Pretty much nothing
Grades 2-3 (La Habra, CA): Pretty much nothing
Grades 3-5 (Palo Alto, CA): Using some older Apple hardware, by this point we were doing written assignments in Word.
Grade 5-6 (Irvine, CA-stayed here through high school): A dedicated "Computer" class (met maybe once a week) where we learned the Office suite and practiced touch typing. I learned from friends that they had actually been practicing touch typing from a very early age, so it was probably standard to be at about 50 wpm in Grade 5) This was the first time I recalled having very large computer labs in school.
Grade 7: A daily class period (for one trimester) where we learned very very basic html (FRONTPAGE - LOL) and other things. As a kid who had a budding interest in computers at this point, I felt this class to be unbearably slow paced and rudimentary. So slow paced in fact, that I don't even remember what else was covered because I didn't learn anything new.
Grade 8, 9, 12: Nothing, but basic computer literacy was necessary for things like writing papers and presentations.
Grade 11: Took AP Computer Science, which in my opinion condenses much of the "early start" CS the author mentions into a single year later on. I'm not sure which is better, but I'm pointing out that if you have an AP CS course, it's likely going to cover all of the rudimentary stuff very quickly anyway. For those unfamiliar with AP CS, it covers the rudiments of OOP (inheritance, polymorphism, etc.) as well as some of your basic sorting algorithms and easy recursion. Also took a C++ class during this time at a local community college (transferable units), which in my opinion, was even LESS rigorous than AP CS.
-> using Turbo-C++ for DOS (to learn pre-1998 C++) at university
The main problem here is that the teachers themselves aren't up to date and don't really know what they're teaching that well.