Xaprb

Stay curious!

What’s the value of a Computer Science education?

with 9 comments

I’ve been increasingly questioning the current model of university education in the US. Not only the value for the money, but just the entire notion that it’s a good way to learn. I got my Bachelor’s in Computer Science from UVA, which has been going through utter facepalm-worthy madness recently. It may be biasing my point of view.

A friend recently sent me this:

This shop was written up in the WSJ last week: http://devbootcamp.com My daughter is looking at it. What do you know about them, if anything? What do you think?

Here’s how I responded:

I don’t know any of them personally. That looks like a much better use of my time than the 5 years I spent getting my CS degree. The curriculum covers a lot of good material. Someone who goes into that with zero programming background will likely come out of it with enough knowledge and context to start doing something productive, but no awareness of deep underlying principles and fundamentals. That is the exact opposite of UVA’s CS curriculum. People often see someone do silly things due to lack of CS background, and say you should have the fundamentals first and then learn the specifics, but I’m not convinced that isn’t elitist BS. It strikes me that an apprenticeship model might actually be a better way to learn than the ivory-tower-then-someday-you-will-code way.

It’s only 9 weeks. What does she have to lose other than 9 weeks and some cash? She could stand to gain tremendously.

The current model of higher education in the US currently seems completely broken to me, and I’m really interested to see how some of the alternatives shake out. One thing is for sure: higher education, and the university model in particular, is about to get disrupted. Hard. Like being hit by a freight train.

Written by Xaprb

March 5th, 2013 at 6:06 pm

Posted in Commentary

9 Responses to 'What’s the value of a Computer Science education?'

Subscribe to comments with RSS

  1. I enjoyed Northeastern University’s co-op system: You take classes for a year or two, then have a 6-month co-op in industry. Repeat until graduation. It’s a good back-and-forth between theory and practice, and the internships help with the cash-flow problem slightly.

    However, I *still* feel that I overpaid for that degree.

    I really, really hope the higher education bubble pops soon and is replaced with a better model.

    Tim McCormack

    5 Mar 13 at 9:19 pm

  2. I guess it depends ou what you want your higher education system to be. Is it there for reasearch or to churn out *skilled* people for commercial companies?

    If you want both, it’s a compromise.

    Employers created the situation, to a large extent, by insisting on people having degrees in the first place, so then everybody want a degree.

    David

    6 Mar 13 at 6:27 am

  3. By the way the link:
    “going through utter facepalm-worthy madness recently”

    Didn’t work for me. I had to chop the Washington Post bit off and go to the artical manually.

    David

    6 Mar 13 at 6:31 am

  4. While interviewing for software devs, we come across quite a few who have done something similar (maybe not as hectic as botcamp) like a year-long self-study course via such ‘n such training institute. Being a B.Sc. myself (bias noted) many of these guys don’t have the depth and breadth required for careers that extend past junior programming and into solution architecture, etc. Things that a degree provide imo:
    -the ability to think and apply widely
    -perseverance (and proof of it)
    -fundamentals that are ‘hard’ to come by out in the real world but provide foundations for broad problem solving e.g. Algorithmics/Big O etc. – would I have learned this on my own? Probably not.
    -social context and development for natural introverts (albeit somewhat artifical)
    (slow-brewed, exta matured?)

    Having said that – after 4 years you have very little experience in real world programming environments, so add another 3-5 years to the mix and then you’re ready to be called intermediate.

    So while in favour of _good_ degreed CS education, a middle ground does seem to be necessary. Naturally there are notable exceptions with both systems.

    Adrian Smith

    6 Mar 13 at 6:39 am

  5. It’s not just a comp sci degree you’re receiving. About half your time is in general education courses too, which makes us well rounded students and less ignorant about the world around us. I wouldn’t give that part of my comp sci education up for specialized training alone. Yeah, some of the theory courses don’t always apply to my every development, but it does give me a better understanding of how things work.To support your argument, maybe Universities could give courses with the more specialized training, with a goal toward certifications and such.

    Carlos

    6 Mar 13 at 10:20 am

  6. In CS101 we learned about two’s complement binary arithmetic. In another class the next semester, the instructor said, “Some of you will have seen this in another class, but many of you haven’t. We’re going to cover two’s complement binary arithmetic.” This continued all the way into the 400 level courses. Some semesters I had two’s complement in more than one class simultaneously. At some point I took an inventory of the number of times I’d been subjected to a week’s worth of this topic, and found that I’d spent an entire semester on it.

    Was that a good value for my money? Did that make me more grounded in the fundamentals? When I complained to the department chair, I basically got shrugged off with “we have a mixture of students taking different courses, and it has to be covered, and we can’t assume they’ve had it already.”

    Xaprb

    7 Mar 13 at 10:34 am

  7. By the way, I have never needed to know two’s complement binary arithmetic for anything in the real world, nor has it been an important part of the fundamental background of anything I’ve done. Just for the record :-)

    I’m really in favor of an apprenticeship model for things that are real-world and practical, and universities for liberal arts and research focus. An apprenticeship, in the good old-fashioned sense, would not leave people without the background to understand what’s really going on in systems.

    Xaprb

    7 Mar 13 at 10:36 am

  8. Xaprb

    7 Mar 13 at 3:27 pm

  9. I am of two minds on this, but moving ever further away from a CS degree. While I do think there is potential that could be (and, in the past, has been) offered through academic CS programs, I am not convinced that value is present to the degree it ought to be, or once was. While academic programs are frequently touted as providing or cultivating the ability to think critically, I see ever less evidence of this as years pass. As to Carlos’ argument for gen-ed making students “well rounded …and less ignorant about the world around” them, I am unconvinced; I know of few individuals as bullheadedly ignorant as a third year undergrad with a few humanities courses under his belt, now convinced he knows so much more than the rubes back home, when in fact he has little more real experience with the world than an average high school student.

    On the other hand, I’ve been through an undergrad CS program and have an M.Sc. as well, so I am fully aware of the benefits this path can offer. Indeed, the underlying foundation in mathematics, logic, and basics of algorithms are unlikely to be offered even in abbreviated form in the “boot camp” approach; and certainly general education courses have the *potential* to provide additional valuable skills and knowledge in many areas, including communication and interpersonal skills.

    Perhaps a hybrid approach such as Carlos suggests might provide the best ROI and, ultimately, the best results. But given a choice between formal CS education via the current higher ed model, and intensive certification models, I tend to agree with you.

    mgd

    19 Mar 13 at 11:58 am

Leave a Reply