Followers 0

# CS Degree - Is it worth it?

## 54 posts in this topic

I'm curious to know if I should spend 3 years of my life to get a CS degree. I'm 17 years old, turning 18, in my last year of high school (grade 12) and willing to apply to a university. I already know how to program, in various languages (here's my GitHub and BitBucket if you want to look at some of my code [I haven't finished/update some projects as of yet]). Obviously, I don't know everything about programming*, but I would say I know quite a lot. Would I be "twiddling my thumbs" for the first couple of years whilst doing a CS degree (i.e. be bored, not learn anything new)?

I'm considering between choosing CS/CS(Advanced), Bachelor of Engineering (Electrical and Electronic) with Bachelor of Mathematical and Computer Sciences, and Bachelor of Engineering (Computer Systems) with Bachelor of Mathematical and Computer Sciences. I'm not sure if the last two degrees would have all the content as a CS degree (it's a double degree; yet it has three degrees(?)).

Can I get opinions on why getting a CS degree would be beneficial to me? The only reasons I can think of is: (1) More knowledge, (2) Good environment for learning at uni (topics I'm unsure/inexperienced in or don't know about*) and (3) Looks good on a resume. Also, could I get a job (programming related) whilst studying for my CS degree?

*Here's the topics I do not currently know (there is more than likely more, but here's the main ones I think I should learn and seem interesting):

• Assembly programming
• Operating Systems

Here's the languages I know:

• C
• C++
• C#
• Java
• JavaScript
• Anything really C-like
• VB (and TI-Basic)
• Had some little experience with Lua
• HTML/CSS (Not sure if these really count, but I still know them)
Edited by pinebanana
1

##### Share on other sites

I very liked my studies time (physics), great time so I would say that university is good (if you have money - the main problem) I would also advice to chose serious university instead of weaker one (second problem could be that it may be hard to pass the exams)

Personally I wanted to work at programming till the age of 13 but chose physics becouse it seemed to me more ambitious and this was not bad choice I think (was good choice and was a great time i am missing now) - but it appeard after the studies when I began to work as a programmer that many of my colegues at work (which was studiing informatics) know a lot more about programming than I knew -  so about three years or more i was behind them and was trying to learn to improve - now yet more than five years l8er I stil do not know enough to be good (i consider myself moderately xperienced)

Edited by fir
1

##### Share on other sites

Being "worth it" is also a bit subjective.

Where do you live? Some regions of the world don't really care about education. Other regions of the world will require a BS degree in Computer Science just as a simple test to prune the number of applicants coming from HR.

What is the cost of the degree? Some schools are cheap, others are very expensive. I have relatives in schools that cost just over $1000 USD per semester. Sometimes on the board we discuss people who entered schools costing$10,000 USD per semester or more. I do not believe the quality of education between the schools is a 10x difference. Shopping around is important.

What is taught? Just like the cost varies, the content also varies. Some schools focus on rigorous theory with little practical content. Some schools are little more than trade schools with just enough theory to get by. As you shop around you should consider both the cost and content.

A bachelors degree in Computer Science is the typical requirement in games programming. It is not absolutely required, but you do not exist in a vacuum. If you have a portfolio, but the other person as a portfolio and a degree, which one is more likely to be hired?

I live in Australia. The university I'm wanting to apply to is apparently in the top 1% of the world. They seem to teach everything from algorithms, to computer systems, OOP, lower lever/system programming, AI, CG and operating systems, etc.

I believe I can pay for my university when I start working (they take a proportion of my pay), or I can pay up-front (which won't happen, because I don't have the money for that). So I don't think money is really an issue, apart from working it off in the future.

A CS degree is about more than just programming. Or at least, a good one is supposed to be. There will undoubtedly be CS departments that will just try to teach you just enough to be a Java code monkey or whatever, avoid those. Especially since you already have the programming knowledge. A good CS degree is going to teach you about algorithms. And calculus. And big O notation. And about NP problems. And all of the other details that teach you why to do something, not just how. You need the math, because quaternions are math. Physics systems are math. Graphics programming is math. You don't need a lot of math to make a game, but it really helps if you want to work on the advanced, cutting edge programming problems.

Do you need a CS degree? Strictly speaking, you don't need it to program. You can teach yourself anything, eventually. But the degree gives you a focus that is hard to get otherwise, and helps you prove to other people that you can do it. And it lets you work with people who are interested in similar things, which should not be underestimated.

I am very interested in programming in general, not just games programming. I don't think I'd lose interest in it just like that. So I think I will pursue in taking this decision and doing a computer science course. As if I want to do it for the rest of my life I think I should take the time to learn as much as possible (such as the low-level nitty gritty). The only thing is I'm not 100% sure if I want to do a double degree or not.

0

##### Share on other sites

I am in the exact situation that you are in. I am 18 and I have been programming since I was 10. This year I have got an internship at a company programming for them over the summer and now they have decided they want to keep me. So what I am doing is taking the year off and deciding what I want to do for school. In this time I think I will program another game or two and release them and see if that kicks off...I would really like to be able to make it as an indie developer. Anyway I think I have decided to go into school and take some classes in business cause if you are as experienced as it sounds then you will not get that much out of computer science anyways...I mean I am constantly debugging the other programmers slow code at my work to make our software actually run nicely.

0

##### Share on other sites

A CS degree will certainly open doors. Especially if you want to program in the game industry. That said, there are many people that can still make it without a CS degree (like myself, I went to art school) but it does make getting certain positions a lot more difficult. I think that alone would make the degree worth it.

0

##### Share on other sites

I was in exactly the same boat--I knew how to program, and had great experience with multiple programming languages--especially Python and C++. Not only this, I had reverse engineered many graphics algorithms (I had implemented, for example, a GPU cloth simulation based on GLSL and FBOs before I ever even applied anywhere).

Basically, I didn't take any of the introductory classes, and I started immediately on higher level coursework (I took, for example, the graduate course in graphics algorithms my first semester). Especially at a big university, there's always more to learn about your field. I quickly learned about functional programming languages, asymptotic analysis, and design patterns. I was constantly learning things, and I eventually realized I wanted to double major in abstract mathematics just to get the most out of my future coursework.

The point is, universities will teach you. That's kindof what they do. As others have mentioned, a CS degree is not just about programming--if that's all you can do, you're a software engineer, not a computer scientist. And there's a huge difference.

Plus, being at a university is wonderful in its own right. Basically everyone has a triple digit IQ (which for me was a refreshing change from high school) and by and large you can learn whatever you want. There's almost always core requirements, but you have much much much more leeway in choosing.

Edited by Geometrian
1

##### Share on other sites

In the first 2 years of my degree, that means 12 courses, around 4 were about programming.

The progression was:

learning algorithms and control structures -> learning basic data structures and pseudocode ->
learning advanced data structures and put all of that in a programming language -> shift to object oriented programming and patterns.

So the "programming" part isn't that intensive at all, and you lightly touch over programming languages. Its pretty much the big elephant in the room that you're supposed to learn to progress anyway.

Now the other 8 courses dealt with algebra, function analysis, statistics, logic and boolean algebra, assembly, logic gates and low level workings of CPUs, system/organization analysis and database design and normalization.

And still all of those subjects are pretty much introductory, you're not going to skillfully use SSE intrinsics in your codebase after an assembly course, you're not going to understand everything inside the CPU after a few classes on logic gates and basic circuits, you're not going to properly make a big database after just learning small normalization and what a schema is. It is a very "broadener" of knowledge, it can open your mind to many, many applications that computing in general can have.

I consider it a good experience.

Edited by TheChubu
0

##### Share on other sites

It really depends on you: how you learn, and what you want to do in life (I'm going to assume that you are indeed talented at programming).

You get out of college what you put into it - if you aren't well suited to college (either the learning style or the life style), then you may be better off not going to college. A talented individual can always wrangle one's way into an internship, and with a little work experience under the belt, many of the same doors open up.

If on the other hand you thrive in college, it is absolutely invaluable. A computer science degree will make you a better engineer, and above all, a broad liberal arts education will help you become a better human being. And the mo0ney you spend obtaining that degree is a small amount in the long run of engineering salaries...

2

##### Share on other sites

I am in the exact situation that you are in. I am 18 and I have been programming since I was 10. This year I have got an internship at a company programming for them over the summer and now they have decided they want to keep me. So what I am doing is taking the year off and deciding what I want to do for school. In this time I think I will program another game or two and release them and see if that kicks off...I would really like to be able to make it as an indie developer. Anyway I think I have decided to go into school and take some classes in business cause if you are as experienced as it sounds then you will not get that much out of computer science anyways...I mean I am constantly debugging the other programmers slow code at my work to make our software actually run nicely.

I actually think you will learn something from it as now you are just going on past experience but you can't scientifically justify why an algorithm works the way it does. This is something a CS degree should teach you. Other than that learning about proper data structure and algorithm design is extremely useful.

It's the things besides programming that a uni teaches you that can help you out, I had hardware logic designs as part of my first year program. This seemed completely useless at first up untill you reach the course operating systems and all of that stuff becomes important again as it explained how memory worked in hardware, how addressing of memory works in hardware.

0

##### Share on other sites

Philip Greenspun is an MIT professor of software engineering / computer science and electrical engineering.  He has many good ideas about what an excellent engineering and computer science program should contain.  I really wish I knew about his advice before I entered college.  While I did receive a good education, I really thought it could have been better.

Here is a link to his software engineering teaching page:   http://philip.greenspun.com/teaching/  Check the links under the 'Background' section.

It's pretty good advice for when/if you look for a college/university program.  One thing that really struck me with his approach is that theory is something really left to the student (not to say that it won't be covered).  It's more or less something you'll pick up in the course of doing project after project.  And that's really the basis for his argument:  the workforce expects you to complete, from beginning to end, projects.  Getting requirements, continuous and clear communication with all parties involved, knowledge of tools and usage, et. al.  He feels a good education will have you completing your >20 or 30 projects, so that by the time you enter the workforce, instead of having only a few, if any, under your belt this very next project is number 21 or 31.

He also has a biting commentary about his attendance at a "typical" non-project, theory only course.  That's worth a read.  I also really like his ideas about having no summer breaks.  You aim to complete your degree in 3 years or less.  Think about it.  College is pretty expensive!  You want to be able to start paying off loans ASAP.  Why wait 4 years?

Anyways, I could go on!

My junior and senior years at college did have a decent mix of hands on projects under a non-Philip Greenspun curriculum.  I had to make an OS, an Ada compiler, a motherboard computer system with small OS using a Motorola 68000 (yes, showing my age) -- that was with wire-wrapping no less, yeesh!

Edited by Cosmic314
0

##### Share on other sites

As a skilled programmer without a degree (yet), let me say in no uncertain terms: get a degree.

Even if you can _do_ the job, getting that first job is tons easier with a degree. HR departments (and most hiring managers) will hire a candidate with a degree over one without. And even when you do get a job, you'll get paid far less than a "more qualified" candidate.

And really, why would you *choose* to slave away 40 hours a week rather than spending 4 years hanging out with uninhibited coeds?

Uninhibited coeds tend to have an inverse financial effect when compared to employment.

0

##### Share on other sites

As a skilled programmer without a degree (yet), let me say in no uncertain terms: get a degree.
Even if you can _do_ the job, getting that first job is tons easier with a degree. HR departments (and most hiring managers) will hire a candidate with a degree over one without. And even when you do get a job, you'll get paid far less than a "more qualified" candidate.
And really, why would you *choose* to slave away 40 hours a week rather than spending 4 years hanging out with uninhibited coeds?

Uninhibited coeds tend to have an inverse financial effect when compared to employment.

2

##### Share on other sites

Computer Science is problem solving. If you like that go for it, be expected to be pushed and commit some serious time into learning the material. You only really improve your understanding when you look at the material long enough. The lecture notes only acts as supplement. You need to use the lecture notes as leverage and go further beyond that to open your eyes and broaden your horizons.

P.S. Do the homework and make sure you understand it. Memorizing and brute-forcing it won't do any good in the long run once you get your degree.

0

##### Share on other sites

As a skilled programmer without a degree (yet), let me say in no uncertain terms: get a degree.
Even if you can _do_ the job, getting that first job is tons easier with a degree. HR departments (and most hiring managers) will hire a candidate with a degree over one without. And even when you do get a job, you'll get paid far less than a "more qualified" candidate.
And really, why would you *choose* to slave away 40 hours a week rather than spending 4 years hanging out with uninhibited coeds?

Uninhibited coeds tend to have an inverse financial effect when compared to employment.

I have lost somewhere around $25-30k *per year* over the past 15 years by making less than my degree'd peers. And that doesn't include the 15 months I spent unemployed because nobody would hire a non-degree'd computer programmer with no formal experience. Not getting a degree is absurdly more expensive than even today's universities. Obviously a degree pays more in the long term, or else nobody would get them. If you can't afford to eat then it's not a choice. The situation in the U.S. is pretty student friendly right now. You can get most or all of your education from loans and grants and live on food stamps, but you still need to pay rent and utilities. I'm just pointing out that some people don't have the choice, so if you do have the opportunity, don't waste it on trying to get laid. 0 #### Share this post ##### Link to post ##### Share on other sites As a skilled programmer without a degree (yet), let me say in no uncertain terms: get a degree. Even if you can _do_ the job, getting that first job is tons easier with a degree. HR departments (and most hiring managers) will hire a candidate with a degree over one without. And even when you do get a job, you'll get paid far less than a "more qualified" candidate. And really, why would you *choose* to slave away 40 hours a week rather than spending 4 years hanging out with uninhibited coeds? Uninhibited coeds tend to have an inverse financial effect when compared to employment. I have lost somewhere around$25-30k *per year* over the past 15 years by making less than my degree'd peers. And that doesn't include the 15 months I spent unemployed because nobody would hire a non-degree'd computer programmer with no formal experience.

Not getting a degree is absurdly more expensive than even today's universities.

Obviously a degree pays more in the long term, or else nobody would get them. If you can't afford to eat then it's not a choice. The situation in the U.S. is pretty student friendly right now. You can get most or all of your education from loans and grants and live on food stamps, but you still need to pay rent and utilities. I'm just pointing out that some people don't have the choice, so if you do have the opportunity, don't waste it on trying to get laid.

Millions of dollars in grants go to waste every year simply because people don't bother to apply for them, and that's just the normal every day "I'm poor" grants. We're not even talking about grants for those with learning disabilities, minority races, religious groups, etc. There is a great deal of money out there if you're willing to sit down, do the research, and apply.

You don't have to take out loans, and most student loans can be applied TOWARDS living costs. In addition, financial aid can be obtained (if you're over 23 its pretty easy to get, otherwise you're dependent upon your parents income bracket).

You can also get a job. I worked through college, I PAID my way through Berkeley. Yeah, I came out of it with a decent amount of debt, but as it was all student loans I could defer payment on them by simply taking a few classes every year. Guess what: YOU SHOULD BE DOING THAT ANYWAYS. There is a ton of stuff to learn and most companies will PAY for training. Any that don't or won't... you probably shouldn't work for.

0

##### Share on other sites

My major in university is also about programming,I have learned most of subjects what you have learned.but I think it's really hard to learn well.

0

## Create an account

Register a new account