News for hackers. Stuff that matters.
Re:A Parable by Dijkstra (1973) by AnimalMuppet on Monday July 16, 2018 @12:28AM (#17538779)
Depends on what you think you're teaching. Are you teaching computer science, or are you teaching software engineering?

Hint: Of your graduates, probably 95% will work as software engineers, and only 5% will be computer scientists. But CS departments think they're computer science departments, even though they mostly are located in the college of engineering. (I accidentally typed "enginerring", which I thought was amusing...)

Re:A Parable by Dijkstra (1973) by TeMPOraL on Monday July 16, 2018 @12:59AM (#17538874)
> Depends on what you think you're teaching. Are you teaching computer science, or are you teaching software engineering?

> But CS departments think they're computer science departments, even though they mostly are located in the college of engineering.

I used to think this is true in the form you presented, but now I feel it's really a more relaxed form that's true - CS departments in universities think they're still in universities, not in glorified vocational schools. They try to teach you more than the immediate needs of your likely job, so that you understand the context of what you're working with, and are exposed to more powerful ways of thinking.

(I mean, 99% of the time, your typical JavaScript-slinger doesn't need to know what an "algorithm" is and what can be solved with one. These days, a popular language, StackOverflow and open-source libraries are enough to do acceptable levels of work. However, some extra theoretical knowledge will help tackle more complicated problems, solve them better, and will enable one to do something more challenging if they want to leave the web/CRUDsphere.)

Related: we now have "vocational schools" for programming too. They're called "bootcamps", for some reason.

Tangential: there's a feedback loop between workers, universities and employees in every industry. Progress of the "industry standard" must come from somewhere. If all the new people are being exposed to is Java(Script), the industry will forever keep being stuck on Java(Script). So I feel it's good that at least some people in some universities try to teach above the level required by the industry.

Re:A Parable by Dijkstra (1973) by majewsky on Monday July 16, 2018 @05:17AM (#17539809)
> Related: we now have "vocational schools" for programming too. They're called "bootcamps", for some reason.

Bootcamps are a joke. Germany has had proper vocational schools for programmers for decades. After high school, you can spend three years to become a Fachinformatiker (it's difficult to translate, but basically means "applied computer specialist"). There are two subflavors, Anwendungsentwicklung (application developer) and Systemintegration (systems integrator, this curriculum combines sysadmin and development tasks).

All that is entirely separate from CS courses at university, which is an alternate path that one can take (and one that has a higher entry barrier since you need to have at least 8 years in secondary education, i.e. until 12th or 13th grade). In the vocational training, you alternate between weeks at school and weeks at your employer where you work on actual projects under supervision of a qualified mentor.

Re:A Parable by Dijkstra (1973) by Sharlin on Monday July 16, 2018 @05:58AM (#17539972)
In Finland we have three tiers of formal programming education. There's vocational secondary school awarding "technician" level degrees, an alternative to more academic Gymnasium type secondary education (grades 10 to 12). The learning is very hands-on and practicality oriented.

Then there's "vocational" or "applied science" colleges you can enrol in after either vocational or academic secondary school. They offer four-year bachelor-level degree programs in various fields from healthcare to engineering. The education attempts to mix theory and practice (with varying success).

Finally there's the "real" universities, offering primarily five-to-seven-year BSc+MSc programs (before the Bologna Process you used to go straight to master's; these days the steps are somewhat more discrete), and of course PhD programs for those wishing to pursue an even higher level of education.

Re:A Parable by Dijkstra (1973) by majewsky on Monday July 16, 2018 @06:05AM (#17540014)
Ah yes, we have "applied science" colleges as well. What you describe sounds pretty much identical to the German system.
Re:A Parable by Dijkstra (1973) by lr4444lr on Monday July 16, 2018 @06:55AM (#17540248)
The real problem here in the US is that we have gotten away from tracking students at all levels, and we were never even doing it much compared with most of Europe or Asia to begin with. It's dragging down the whole system. But I don't want to totally derail this thread, so I'll just leave it there.
Re:A Parable by Dijkstra (1973) by TeMPOraL on Tuesday July 17, 2018 @01:43AM (#17547552)
US has lots of its specific problems, but here we're really talking about an issue which affects universities worldwide almost universally - that university degrees became a differentiator on the job market. The vast majority of undergrads these days are not seeking advanced education or trying to push the state of the art forward - they attend universities to get a piece of paper and some skills that'll land them a better job. As universities compete for students and are (indirectly) graded by how well they prepare them for jobs, a feedback loop has formed that slowly but surely turns undergraduate education into vocational one, usually to great dismay of the professors.
Re:A Parable by Dijkstra (1973) by commandlinefan on Monday July 16, 2018 @10:55AM (#17541744)
> They try to teach you more than the immediate needs of your likely job

I would actually take that even one step further - they specifically teach you the things that you're probably not going to encounter in your likely job. I've lost count of how many people I see complain that they never encountered SQL, version control or build management while in school and my response is - that's a good thing! You're going to learn all you need to know about those things when you need them, and they're veryamenable to learning on the job, a little bit at a time. Calculus, statistics, push-down automata, context-free grammars, and all the other "esoteric" stuff you encounter in a CS degree are not.

Re:A Parable by Dijkstra (1973) by zBard on Monday July 16, 2018 @03:06AM (#17539321)
Software engineers should know and start from Computer Science, why not ? Mechanical and Electrical engineers have to learn Physics, Control dynamics and Differential equations the first couple of years.
Re:A Parable by Dijkstra (1973) by sevensor on Monday July 16, 2018 @10:45AM (#17541647)
I have some university degrees in (non-software) engineering. Engineering school is pretty far from a vocational program, but engineering students often mistake it for one. When I was in industry, it was easy to spot the people who'd made that mistake -- they couldn't engineer their way out of a wet paper bag. Engineering is applied science, and if you don't understand the science, you're going to have a heck of a time trying to apply it. The difference between engineers and scientists is that scientists know how to make new science, and engineers know how to make new things using science.
Re:A Parable by Dijkstra (1973) by AnimalMuppet on Monday July 16, 2018 @12:30PM (#17542579)
Yes, exactly. Chemical engineers needs to know chemistry, but they need to know more. They need to know "how do we make this stuff, efficiently, at scale, without blowing up the plant." They're not going to get that from the chemistry department.

So, does a software engineer need to know some computer science? Absolutely, but they need to know more than that. They need to know how to efficiently produce working software at scale.

And, to return to my previous post, starting with Haskell could still get you to a software engineering education, as opposed to a computer science education. But it feels to me like the initial direction is aiming at a CS education, not at a software engineering education.

Re:A Parable by Dijkstra (1973) by throwawayjava on Monday July 16, 2018 @04:06AM (#17539550)
> Depends on what you think you're teaching. Are you teaching computer science, or are you teaching software engineering?

Either one. But certainly not "Java Programming".

Good thing, too -- I doubt many of the UT Austin students Dijkstra was teaching back in the day ended their careers still pounding out punch cards...