Final year CS student in a British University here.
I can certainly see where the author's coming from, although I don't find the situation this dire. I'm not British so I don't know that much about how Universities worked and were perceived in society in the past and I guess I might have a slightly different mindset. Anyway, let me explain myself.
We have this modular course structure at my school. Yes, you can pick courses varying from "Developing web applications with Java" to hard CS stuff like compiler design and advanced algorithms. As far as I can tell, no course has been dropped because it was too hard - because students like challenges and take them. The same goes for final year projects, I've seen a student saying that she won't be doing any programming for her project (yeah, WTF), but I also know of more serious engineering projects (like a guy refreshing the electronics and more importantly, the software of a popular home-build 3D printer - and using the capabilities to do some stuff I'd really like to have on my 3d printer), or more experimental projects like mining Twitter for medical drug information (like perceived effectiveness, side-effects, usage patterns, etc).
What I'm trying to say is that there might be some easy paths you could take, but the students which always pick the easiest choice are usually the ones who end failing or dropping out. Sure, some of them graduate and I have mixed feelings about having the same degree as some of my fellow students. The author says that ' By pre-1990 standards about 20% of the students should have been failed.'. Well, in my school about 20% of the students are failed - each year.
Another topic is grade scaling. Yes, most lab and coursework grades are scaled in the first year and some in the second year. Exams are never scaled! But here's the thing, scaling is always down. It can be argued that labs are too easy if you need to scale the grades down and it is frustrating to do a perfect job and end up with a 70 something percent mark. But grades are never scaled up to 'turn a fail into a II'.
Finally, some people argue that a formal CS education is useless and out of touch with reality. I definitely don't agree. Knowing algorithms and data structures can give you an edge even for simple programs, knowing that some research areas and approaches even exist helps you avoid a lot of easy mistakes, labs will help you design better and faster because you sort of develop your own process and you get to know common pitfalls, reports and presentations train you to communicate better and using the proper domain language, having a clear image of how computers work from the grounds up is great when you're debugging.
TL;DR: Formal CS education still useful, just more chances to shoot yourself in the foot. (Yes, I consider getting a first without learning too much to be shooting yourself in the foot.) Study the fundamentals and the hard stuff and you should be better off than a self-taught person.
It's more than 20 years since I graduated with a CS degree and I think my advice these days to anyone considering the subject would be to avoid CS unless you want to go on and do research level work in academia or industry. Of course, that's what I wanted to do before going to University and I did end up working as a researcher in academia for six years before co-founding a startup.
People keep thinking that a CS degree is a vocational training program for developers - they didn't used to be and if that's what they have turned into then it's no wonder that they are doing a terrible job.
Then what do you suggest wantrepreneurs should study,if anything?I think this argument whether CS school is useless has been debated far too much.I do see value in developing the way of thinking and surrounding yourself with top people,considering you do manage to get in a top college.And this whole debate about the very high prices of the colleges is ridiculous,because even for a person coming from a really poor family like me,there are enough possibilities to get free or very cheap education in most of the world's top 20 CS schools,if they do believe you're worthy enough candidate.
Personally, if you can get into one of the very top universities that have a track record for being the places where succesful startups come from then I'd strongly recommend it.
Would you mind sharing which in Europe are those?Because I've read quite a lot of founder stories and the only college I'd put on that list is Stanford.UIUC also seems to have a lot of tech entrepreneur and VC alumni.
I'm not sure if there are any in Europe! [NB I'm in the UK]
Note that I'd love to be corrected on this point - I graduated in '88 and co-founded a startup after working in academia for 6 years and the help we got from the University we worked for was laughable (they asked if we wanted to lease a building!). However, we did meet our first angel investor through the university - he had done the same CS degree as me about 20 years earlier.
I can certainly see where the author's coming from, although I don't find the situation this dire. I'm not British so I don't know that much about how Universities worked and were perceived in society in the past and I guess I might have a slightly different mindset. Anyway, let me explain myself.
We have this modular course structure at my school. Yes, you can pick courses varying from "Developing web applications with Java" to hard CS stuff like compiler design and advanced algorithms. As far as I can tell, no course has been dropped because it was too hard - because students like challenges and take them. The same goes for final year projects, I've seen a student saying that she won't be doing any programming for her project (yeah, WTF), but I also know of more serious engineering projects (like a guy refreshing the electronics and more importantly, the software of a popular home-build 3D printer - and using the capabilities to do some stuff I'd really like to have on my 3d printer), or more experimental projects like mining Twitter for medical drug information (like perceived effectiveness, side-effects, usage patterns, etc).
What I'm trying to say is that there might be some easy paths you could take, but the students which always pick the easiest choice are usually the ones who end failing or dropping out. Sure, some of them graduate and I have mixed feelings about having the same degree as some of my fellow students. The author says that ' By pre-1990 standards about 20% of the students should have been failed.'. Well, in my school about 20% of the students are failed - each year.
Another topic is grade scaling. Yes, most lab and coursework grades are scaled in the first year and some in the second year. Exams are never scaled! But here's the thing, scaling is always down. It can be argued that labs are too easy if you need to scale the grades down and it is frustrating to do a perfect job and end up with a 70 something percent mark. But grades are never scaled up to 'turn a fail into a II'.
Finally, some people argue that a formal CS education is useless and out of touch with reality. I definitely don't agree. Knowing algorithms and data structures can give you an edge even for simple programs, knowing that some research areas and approaches even exist helps you avoid a lot of easy mistakes, labs will help you design better and faster because you sort of develop your own process and you get to know common pitfalls, reports and presentations train you to communicate better and using the proper domain language, having a clear image of how computers work from the grounds up is great when you're debugging.
TL;DR: Formal CS education still useful, just more chances to shoot yourself in the foot. (Yes, I consider getting a first without learning too much to be shooting yourself in the foot.) Study the fundamentals and the hard stuff and you should be better off than a self-taught person.