Universities, especially French ones, are far worse for teaching programmming, for several reasons:
- they are highly theoretical and biased against people who are not good at math; I studied CS, and I had to take more electrical engineering and math courses in my first two years than programming-related classes. This is very demotivating for someone who goes to university to learn programming, rather than physics or advanced mathematics
- they take too long and are full of useless classes (useless for getting a job, not in general)
- although the courses are free, it is very expensive to support yourself for the 3-4 years it takes to finish university, and you also need to buy books and other materials
- the most difficult courses are usually not programming related, but science; so you could invest 4 years of your life and end up without a diploma because you couldn't pass Advanced Physics or Calculus 3, despite being a good programmer.
they are highly theoretical and biased against people who are not good at math
Maybe it has changed but it's certainly not the case currently.
I studied CS, and I had to take more electrical engineering and math courses in my first two years than programming-related classes.
Nowadays, most of the classes are CS related. There are still some (basic) maths because they are relevant to so many branches of CS.
are full of useless classes
Well, that may be true. There will always be useless classes because there are many different career paths.
But I think you shouldn't underestimate the value of more foundational classes.
To give you an example, when I was an undergraduate 20 years ago, I was taught OCaml (many people complained it was a useless academic language), as well as tons of maths. Recently, I decided to learn myself some machine learning and Spark. It was a breeze as I already knew most of the maths and the functional programming model. It would have been much more difficult otherwise.
The USA is similar. If you go for a bachelor's degree in CS you take a ton of mathematics ("hard" cs concentration) or a ton of business classes ("information sytems" concentration) to backfill your degree.
Alternately you can bypass most of that by going to a technical vocational school. They focus entirely on occupational values and send you out in half the time.
Downsides to vocational school: The "idea" behind higher education is that you continue to learn to be a well-rounded person. If you never took physics/literature/calculus/art/Latin/... (because you went to vocational classes that focused on practical business value), it's a hard, high mountain to climb between changing diapers, chauffering to soccer class, etc. ;-)
Comments
Universities, especially French ones, are far worse for teaching programmming, for several reasons:
- they are highly theoretical and biased against people who are not good at math; I studied CS, and I had to take more electrical engineering and math courses in my first two years than programming-related classes. This is very demotivating for someone who goes to university to learn programming, rather than physics or advanced mathematics
- they take too long and are full of useless classes (useless for getting a job, not in general)
- although the courses are free, it is very expensive to support yourself for the 3-4 years it takes to finish university, and you also need to buy books and other materials
- the most difficult courses are usually not programming related, but science; so you could invest 4 years of your life and end up without a diploma because you couldn't pass Advanced Physics or Calculus 3, despite being a good programmer.
Maybe it has changed but it's certainly not the case currently.
Nowadays, most of the classes are CS related. There are still some (basic) maths because they are relevant to so many branches of CS.
Well, that may be true. There will always be useless classes because there are many different career paths.
But I think you shouldn't underestimate the value of more foundational classes.
To give you an example, when I was an undergraduate 20 years ago, I was taught OCaml (many people complained it was a useless academic language), as well as tons of maths. Recently, I decided to learn myself some machine learning and Spark. It was a breeze as I already knew most of the maths and the functional programming model. It would have been much more difficult otherwise.
Each university is different. So, your experience will vary from the other person's experience.
At my (American) university, we do take more non-CS-related courses than CS-courses in our first two years.
The USA is similar. If you go for a bachelor's degree in CS you take a ton of mathematics ("hard" cs concentration) or a ton of business classes ("information sytems" concentration) to backfill your degree.
Alternately you can bypass most of that by going to a technical vocational school. They focus entirely on occupational values and send you out in half the time.
Downsides to vocational school: The "idea" behind higher education is that you continue to learn to be a well-rounded person. If you never took physics/literature/calculus/art/Latin/... (because you went to vocational classes that focused on practical business value), it's a hard, high mountain to climb between changing diapers, chauffering to soccer class, etc. ;-)