Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: Minor vs Major in CS
6 points by MaxGabriel on Aug 28, 2011 | hide | past | favorite | 5 comments
I hear all the time on HN about people succeeding in programming without a CS degree, but that's only recently become a reality for me. I realized I wanted to major in CS in my sophomore year, and I've been taking CS courses since then. Unfortunately, because of the lack of course offerings and prerequisites, the only courses available have been Introduction to Programming and CS 1 (and CS2 this semester). Because of this, finishing a major in CS in by the end of my senior year will be almost, if not entirely, impossible (not from a difficulty standpoint--the classes just won't be offered), which is when my four-year debate full ride runs out.

Should I stay an extra year/semester and get a major in CS, or get a minor in CS instead?

If my fifth year was free as well, should I finish the major?



Any company worth working for will value material, real-world experience over an academic degree. You'd be much more likely to get a job at that kind of company if you dedicated your 'fifth year' to working on an established open-source project, rather than finishing up a major in CS. After a year of working on an open-source project, you'd have a trail of patches and bug reports demonstrating your programming competence, and hopefully you'd also have established enough rapport with one or two of the project leads to use them as references (and probably also for job leads).

If your fifth year at school really is free, and you're enjoying the college experience, then there's no harm in spending another year there. You will learn a few things in your upper-level CS classes that you'll use at some point in your programming career. But there's nothing you can learn in any of your CS classes that you can't learn on your own outside of the classroom. The only real value of a CS education at a brick-and-motor university is a) being immersed in a community of academic pursuit and discourse, and b) the alumni connections. And you don't get much value from those things just by attending classes -- you have to go out and pursue those relationships with your professors, classmates, and alumni.


It really depends on your work ethic and mentality towards doing extra work. In order to become fully prepared after college, you need to have a) a deep passion for programming (i.e. personal programming projects), b) great work ethic to continually learn new things (i.e. tools, languages, etc), and c) the ability to search out fellow programmers and get help. If you're confident in the things I've mentioned before, then regardless of what degree you graduate with you'll be fine.

However, if you're not sure which industry you want to work in, not mature enough to learn and program on your own, or even if you're unsure about whether you can handle the class workload, I say bite the bullet and take the 5th year. I graduated class of 2010 after 5 years, and I have to say that if it wasn't for that extra 5th year I wouldn't have matured enough and been prepared mentally or emotionally for those job interviews and the working lifestyle after college.

Additionally, all the classes definitely provide some value to you, even though it's not obvious at first. For example, I took a compiler class in my 5th year because I was interested in how a language is constructed and then broken down into low level code. Although I never work on low level programming (I do server engineering with Ruby on Rails), the exposure of compilers and language grammar helped me understand how Ruby conceptually differs from other languages and why Ruby is better (or worse) than other languages in certain situations.

So in conclusion, if you're determined and know where you want to be 3 years from now, don't worry about whether you graduate in 4 years or not. However, if you're unsure about the things mentioned above, consider the 5th year without worrying yourself about the money. As a programmer, you'll do just fine financially.


All depends on how you plan to get that first job. If you already have a company lined up, are planning on joining a startup, or are using the alumni network at your university, you should be fine. But, if you're going through your university's placement office or planning to resume-apply, the lack of a full major will really hurt your job chances.

If it was free, definitely stay and do it. You will learn the most interesting things in that last year, particularly if you fill your CS electives by volunteering to work on a professor's research project.

It sounds like you are going to do so anyway, but strongly consider asking the scholarship provider for an extension. If you have a reason, many of them have a relatively simple form and approval process (at least, the corporate one I'm most familiar with -- MSFT's 4-year full ride had basically a rubber-stamp extension).


For me personally, I found the first two years of my computer science degree to be focused on the "how" of computer science. Getting the basics down so we could move on to the "why." Years three and four was where I truly came to appreciate computer science. Algorithms, discrete math and lots of applied theory are the cornerstones of what I use today, all of which came in the later years. With that said, if you can front load most of the later classes earlier, a minor could prove just as valuable.


Do a 5th year. Study/Major in Computer Science. Maybe you can do honors?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: