I think the main issue with Computer Science is that it's considered an Academic study, while 99% of work is very much dynamic, quickly evolving and hands-on.

I think all forms of (higher) education should be part time, starting at 4:1 college/work, gradually moving towards the opposite.

Currently, combining work and study is only done for "lower level" education, at least in my country: For example a car mechanic needs to work on actual cars, and barbers need to cut actual hair.

To me, it makes sense if engineers work on actual software, during their education.

It also feeds back into the education itself, when companies are paying for courses and the course doesn't teach practicalities, there's a lot more feedback to the colleges on how to adjust their material.

  • 6
    Rather than a failing of the whole programme I would say this is a failing of education. I did a CS degree and I could have gotten through it with only one exam on basic sorting algorithms and no other experience in programming. If they did it properly and included practical parts it would be a lot better.
  • 6
    In Germany there are universities of applied sciences where courses are less theoretical. The courses are usually slightly different as well, instead of universities' "computer sciences" those have "applied informatics" or similar, depending on the UA (mine has "IT security and mobile systems" and "application development and media informatics"). I think the Netherlands does have UAs as well.
    Although historically degrees from an UA were seen as "less worth" compared to a (regular) university degree, in surveys employers found degrees from UAs more useful.

    Additionally combining work and study is not uncommon here ("dual studies"), sometimes doing a "lesser" nonacademic degree (Ausbildung) in parallel.
    Those nonacademic degrees can also be done alone or before studying and consist of 50% school and 50% practical work.
  • 7

    Yeah it might very well be that it's more of a culture problem.

    My employer hired some CS graduates from a prestigious university and was surprised that all they did was muse about super formalized architectural patterns, and got zero practical work done except from the suggestion "we need to start from scratch and write everything in Scala".

    I think there's actually good use for theoretical CS at the high end —nVidia needs their ML researchers to work on water flow simulations, YouTube needs algorithm tweakers, and what not.

    The culture problem might be employers thinking that CS graduates with a master degree will build a REST API faster instead of slower than the average Associate or even basement-self-educated medior.
  • 2
    @bittersweet I very much agree with your proposal to combine work with the study. Only in a work environment we can learn invaluable lessons, be it in communication skills, organizing your shit or how to use some software to be productive.
  • 2
    here we have mandatory internships, can't get a diploma otherwise. it's a pain documentation wise but it's as hands on as it gets
  • 5
    which is exactly why in my country we actually have two uni study programs related to IT.

    One is called Computer Science, and it's the theoretical, research, principles-focused thing.

    The other is called "Applied Informatics", and it's the practical "how to be a skilled paid programmer of whatever programs are being made as products".
  • 1
    @Midnight-shcode but you know which degree recruiters are looking for? Hint it’s not the one that would make sense
  • 2
    @sbiewald yeah I teach at a Dutch UAS. Our study is literally called IT and has three specializations: software engineering, data science and business consultancy.
    We teach theoretical courses 2 days a week, and the students work real life projects from actual clients in the region for the other 3 days. In the last year (4th year of the study), they do so in teams that combine the three specializations. It gains them some basic understanding of what different people want from the same project.

    It's not always perfect and it's really client depended but the student keep amazing me with their products.

    Do they miss out on information that most people consider fundamental, i.e. sorting algorithms, normal forms in databases, functional programming? Definitely.
    Can they program a decent piece of software that's actually mostly maintainable when they leave school and enter junior positions? Most definitely.
  • 0
Add Comment