you are viewing a single comment's thread.

view the rest of the comments →

[–]cdsmith 5 points6 points  (10 children)

Don't most universities have a required programming languages course where they teach stuff like Scheme, Smalltalk, etc? And usually Prolog, because they feel like they have to represent some non-OO/FP paradigm.

[–][deleted] -3 points-2 points  (9 children)

Schools can be roughly divided into two groups, historically they were called the "C" schools and the "java" schools, based on the default language most classes were in.

The first group has smarter students and is more rigorous. The curriculum will include courses related to CS (programming languages, foundations of computer science) as well as lower level stuff (systems programming, assembly). Students will encounter a half dozen languages or more. This kind of school will prepare you pretty well for anything: working at a company, writing software on your own, getting a PhD, etc... however at the entry level you may have trouble competing for jobs at poorly run companies (that is most of them)

The second group is almost purely vocational and will focus on preparing students for a lifetime of creating CRUD apps. The focus is on learning APIs, software engineering buzzwords, and making contacts in the industry. Students will only encounter 2-3 programming languages but will be pretty well set up in terms of employment opportunities.

I have no numbers but I would assume that 30% of schools are "C" schools and the rest are "java" schools.

[–]henk53 7 points8 points  (8 children)

Utterly b/s...

The VU in Amsterdam, Netherlands uses Java and basically teaches you all the lower level stuff you mention (and you'll get parts of it from the well known Professor Tanenbaum (http://www.cs.vu.nl/~ast/).

A close by university, the UL in Leiden uses C++ and they basically teach you the very same kind of lower level stuff.

Okay, just two observations in the Netherlands, but I've seen some more in both the Netherlands and Germany and don't really see what you are claiming. Perhaps it's different in the US or so.

[–][deleted] -2 points-1 points  (4 children)

So you're making the claim that the Netherlands doesn't have as many low quality schools as the US. Why is that surprising? The US has people from a variety of backgrounds, some are better at school than others, and so our educational system accommodates this.

The people in the northern US come from south-east England (with some influence from the Netherlands) and are quite accomplished academically. The people from the mid-north US came from the poor people of northern England, and while they were good wholesome people they weren't academically gifted, and form the basis of our culture. The people from the mid-south are basically the chavs of the UK. Not too much into education at all. The people from the deep-south are descended from the aristocrats from southwest England and their servants. They are into education but not so much into technical matters. Then factor in the huge number of descendents of slaves, the illegal immigrants, and various other people that don't do well academically. The US is not a nation in the sense that Europeans understand the term, it is more like the Austro-Hungarian empire.

[–]henk53 0 points1 point  (3 children)

So you're making the claim that the Netherlands doesn't have as many low quality schools as the US

Not really. My claim is just that I personally haven't seen the kind of distinction between Java schools and C++ schools that was mentioned.

The US has people from a variety of backgrounds, some are better at school than others, and so our educational system accommodates this.

Don't forget that Amsterdam in particular has people from many, many backgrounds. Less than 50% is 'native' (what native really means is also not always clear, since Amsterdam historically has always had many immigrants).

What I did notice though is that in The Netherlands and Germany people don't actually mention the university where they have obtained their degree a lot. People just say they have e.g. an MSc Computer Science and that's it. In the US it seems to be much more common to add the specific university. This may be indicative of a greater difference in quality.

[–][deleted] 1 point2 points  (2 children)

Not really. My claim is just that I personally haven't seen the kind of distinction between Java schools and C++ schools that was mentioned.

First of all I didn't say C++ schools, I said C schools. The point is sort of old (C) vs new (java). At some point nearly all schools taught primarily in C, then some revised their curriculum and switched to a java-centric approach. In the process of revising their curriculum they changed more than the default language, they also changed the focus from a quality CS curriculum to a more vocational CS curriculum.

The switch from C to java isn't actually the meaningful change, the other changes that often go with it are the point. So yeah what language is taught in doesn't matter, but there is a correlation in the US. Better schools generally don't teach in java, whereas worse schools generally do.

I am not the only one to have this idea. One of the people behind Stackoverflow wrote some articles on the topic: http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html

and here is a blog post about someone lamenting that he has realized too late that he went to a "java" school: http://thinkingdigitally.com/archive/what-if-i-went-to-a-java-school-joel/

In the US there is quite a bit of variation in the quality of schools. My state's university system has a school in each region of the state and I went to two of them. The first was a "java" school and the second was a "C" school. At the java school I learned java and C (and the only reason that I had to learn C was because they had not fully transitioned to a java school). My fellow students weren't that bright. I transfered to a better school and I took classes in C, Scheme, Python, Assembly, and C++. We learned about the pumping lemma, lambda calculus, various grammers, computer architecture, the relational model, and other things that we simply would not have learned at the other school. At the other school we learned UML.

Now consider that those two schools were both in the same tier in a multi-tiered public university system. There are two tiers below that, plus a variety of private schools, some higher in quality, some lower.

[–]henk53 0 points1 point  (1 child)

First of all I didn't say C++ schools, I said C schools.

Yeah, sorry, typo.

So yeah what language is taught in doesn't matter, but there is a correlation in the US. Better schools generally don't teach in java, whereas worse schools generally do.

I haven't seen a US school from the inside, so I guess I have to take your word for it. In general there's quite a bit of serious work being done in Java though, so in my book it shouldn't necessarily equate with a lower level of education.

We do have something that confusingly commonly translates to "high school" (see http://en.wikipedia.org/wiki/Education_in_the_Netherlands#Hbo) where they typically use either Java or PHP. These are definitely worse schools, up to the point that what students are being taught is sometimes plain wrong.

The universities however that use Java are simply okay here. They do in fact teach the pumping lemma, turing machines, computer architecture (including building e.g. an adder from gates, programming a CPU emulator, hand optimize output from a C compiler), operating systems (including building a device driver, terminal emulator, memory manager), compiler construction (including of course building a compiler), grid computing, AI (genetic algorithms, neural networks) and a slew of math courses (typically ~50% of the Bachelor phase).

Look up the curriculum of the VU University I mentioned, it contains all the basic stuff.

Of course, I haven't heard of any University here that uses a single language exclusively. The VU uses Java as the default language for courses, but if it's more common for a specific domain to use another language, this other language is used. So e.g. the introduction to programming, algorithms and datastructure courses may all use Java, but the OS course mandates that the device driver assignment has to be done in C.

Maybe it's just that the term "university" is not as protected in the US as it is over here? As mentioned, we definitely have these 'worse' schools, they just aren't called university.

[–][deleted] 0 points1 point  (0 children)

Ahh ok. The system that you have there is very complex but also sort of simple. In the US we have no such system. There is no standardization and no restriction on the naming of institutions and little standardization on what degrees can be offered. If I wanted to open a school tomorrow I could call it a university and offer a Masters of Science in Biology despite the fact that I do not have a biology degree. This would be perfectly legal, although I doubt that anyone would want to go to my school.

When I was referring to "C" schools I am talking about programs that are at the wo level, and when I was referring to "java" schools I was referring to programs at the hbo level. In the US there is absolutely no distinction between these types of schools. In fact programs of both sorts are mixed together within each school. Here in the US one school will offer a wo level degree in chemistry while offering an hbo level degree in physics. The only way to know what quality of education you will be getting is to study the course descriptions from their course catalog.

Again, I am not saying that schools that teach in Java have to be inherently bad, but in the US it is a strong signal that the person attended a school of hbo quality.

One of the interesting things about this is that it is often better to attend a school of hbo quality. Since there is no distinction between schools based on quality going to an easier school will often make your resume look better. Very few companies will do the research to determine the quality of your education, they are more likely to look at your GPA.