In my opinion, this being the only option has had a lasting negative impact on the IT culture in Spain, with many people who worked their way through (i.e. suffered their way through) getting their Computer Engineering degree feeling defensive about "professional intrusion" from people who work in the field without having taken Computer Engineering at university. However, being as I am one of those intruders, I am of course biased.
There was “ingeniería informatica”, which was kind of CS, but focused highly on software (databases were a significant part of the curriculum).
Then there was “licenciatura informatica”, although it was rarer to find and a lot of colleges woudn’t offer it. It should be the CS equivalent, but it was generally seen as very heavily related to math, and computation was seen in “general terms”. There were 2 or 3 programming courses at best, with most of the curriculum being similar to pure maths degrees.
Then, if you wanted to focus on hardware (like I did), your best path was “ingenieria de telecomunicaciones” (telecom engineering?) and then do a 2 year “superior engineering in electronics” (which just meant you need a previous engineering to acces).
Nowadays the scheme is similar, but instead of 3 and 5 year plans, they’re 4 or 5.
They already filter out a lot in terms of admissions (you need quite good grades in high school to be able to attend the first year) so I'd wager if the purpose was to train as many people that are capable of being trained in programming we'd see a lot more students graduating every year.
It's a fair point that CS is not the same as "programming vocational school" but seeing what companies use as criteria for hiring junior programmers you can't really blame the students.
True. I don't regret attending (and passing!) all those math+physics lectures to be honest. All the stuff I missed in uni regarding software engineering and programming I learnt them quite fast and easy in my own time (e.g., at least for me after passing an exam full of Cauchy-Riemann Equations and friends, it was quite easy for me to learn Java or to go through books like TCP/IP Illustrated or The Art of Unix Programming in my own time).
Another example is that in my education I think of analysis as being the “pure” thing with a first course consisting of 0. epsilon-delta; 1. sequences, series, limits; 2. Continuity, limits; 3. differentiation, Riemann integration. And calculus is the application of integration and differentiation and probably involves physics and integration by parts and things like Stokes’ law or Green’s theorem and maybe differential equations (unless they go in a separate course). But I understand that at other universities these might all be called calculus.
You need this? Damn the students who could trough through this must be good. IMO only real analysis and complex analysis in that list are real math that deal with a lot of proofs.
I remember really enjoying designing the circuits, then writing machine code for them and seeing it all work at such a low level.
- first year: Mathematics I, Mathematics II, Mathematics III, Electronics I, Electronics II, Digital Circuits, Statistics I, Physics I. The rest was about software and programming (at least!)
- second year: Mathematics IV, Statistics II, Physics II. The rest was about software and programming (nice!)
- third year: software and programming only (very nice!)
So, about 80% of the students didn't pass the first year because of its heavy mathematics + physics content.
Extra:
- mathematics I = logic, Boolen algebra
- mathematics II = calculus
- matehmatics III = Multivariable calculus and something else I don't remember
- mathematics IV = Complex analysis/complex variable calculus
- physics I and II = electromagnetism and friends