Sign in to follow this  
sitdownson

Deciding to switch majors to computer programming/science

Recommended Posts

I am in my first semester of college right now. Currently I am majoring in accounting, I did it just because my dad and uncle do it so they kind of persuaded me to do it. I hear it is extremely boring and thats just not really what I want to do. I am really interested in computer programming and eventually becoming a video game programmer. I am wondering how realistic of a job is this and are there any jobs out there for programmers??? Another problem is that I really have no experience with programming, I never really took the initiative to understand or even try to learn it. How much of a disadvantage would I be trying to switch majors to computer science / programming if I know nothing about it yet?? I really do want to do this since I have been wanting to be in this field for years but never really thought it was a reality.

Thanks!

Share this post


Link to post
Share on other sites
Why don't you give it a try? Luckily you're only in your first semester, I can't imagine it would be too difficult to switch if that's really what you want to do.

I don't think it would be a problem if you don't have any experience, not that many do when they start out in college. The only thing I could think of that might be an issue is if your college doesn't offer the entry level classes in the second semester (first semester is programming I, second semester is programming II).

Quote:

I never really took the initiative to understand or even try to learn it.


Why not start today? You can grab a free IDE and start making a pong game or something, this board is filled with hundreds of people teaching themselves all the basics. Then by the time to sign up for classes next semester you can have some idea if you find it fun or if you hate it.

Finally I'd be slightly cautious if you ONLY want to be a video game programmer and would not be satisfied with other types of software work. There's millions of programming jobs out there, but only a percentage of them are in the games industry and it is quite a competitive field, so not everyone can get the dream job they are imagining. Do you think you be satisfied doing programming in other capacities as well? (Banking software, medical devices, web applications, business utilities, etc etc etc...) You may want to consider that as well before you start down a career path.

Share this post


Link to post
Share on other sites
It is very realistic to get a job as a programmer and there are bunches of jobs if you're good. I didn't start really learning programming until college (though my dad did expose me to Basic on the Atari 800 when I was a kid). The market obviously sucks for everyone now, but CS jobs are generally in demand.

Though I would ask, if you have no experience with it yet, how do you know that's what you want to switch your major to? Take a CS course as an elective and try it out first. It's super hard and maddening, but that's why I like it. It is definitely not for everyone.

But certainly experiment with different things if you know you don't like accounting. There is nothing worse than doing something you dislike.

-me

Share this post


Link to post
Share on other sites
Thanks for the input guys, I have looking around the past few days and I have decided that I will try out some programming stuff by teaching myself and possibly using the forums. I think I am going to start with C++, I heard it may be hard for beginners but I'm willing to work and try....Anyone have any places where I can go to download it, I heard there are free places but all I see are trials. Any info to helping me get started would be greatly appreciated but ill be reading tutorials and stuff....

Thanks

Share this post


Link to post
Share on other sites
Code::Blocks is free. So are many other IDEs. You shouldn't have to pay for anything until you get into serious development.

But C++ definitely is not a good idea to start with if you've never done any programming before. Why not try Python?

Share this post


Link to post
Share on other sites
Visual Studio VC++ Express 2010 I think is generally regarded as the best around here, and I'll recommend it as well.

I don't think you can say that c++ is 'definitely' not a good language for beginners. It may be your personal opinion to prefer something else, but it's certainly not a settled fact :)

It's really not that difficult, just start simple and pick up more concepts as you go.

Share this post


Link to post
Share on other sites
Quote:
Original post by sitdownson
Thanks for the input guys, I have looking around the past few days and I have decided that I will try out some programming stuff by teaching myself and possibly using the forums.


Why wouldn't you just take the Intro CS course at your college? Having the structure of a classroom and a group of peers with whom you can interact in real life is a resource that would be silly to pass up. Sure you can learn to program by yourself, but it's so much better when you have a teacher and TAs and other students to go to for help.

That way you also start acquiring credits should you actually wish to enter the major. Personally I also find that taking a course I already know is the most frustrating thing imaginable. If you do switch majors later it's unlikely that you'd be able to place out of the intro course.

There is obviously no harm in getting started before next semester starts.

-me

Share this post


Link to post
Share on other sites
Quote:
Original post by sitdownson
Any info to helping me get started would be greatly appreciated but ill be reading tutorials and stuff....


Well, my advice is to get a book on the subject. There are numerous C++ books in GameDev's books section which seem to be worth reading for a newbie. To learn programming reading a book is essential. They're written by professionals and they go through the theory in quite verbose manner, making sure that you actually understand what you're doing. Knowing isn't enough. :)

Just remember the three important words; never give up. If you really feel that you can't accomplish something, try something easier. Eventually you WILL get through it. Good luck!

Share this post


Link to post
Share on other sites
Here is something to remember as you feel you may have gotten in over your head with programming. All the games created now all boil down to the same basic items. loops, arithmetic operators, if then statements (when in high performance computing sometimes best to try to avoid but still useful).

So regardless of what you are programming in, learn how to manipulate loops and the common ways to break out of a loop and such. Then will come how to write functions which is just wrapping loops, if statements and math into a single name that you can use IE in pseudo code.

main
x,y;
x = 4;
y =32;
PrintLarger(x,y); //Comment call PrintLarger sending it x and y
endmain

PrintLarger(a,b)
if(a > b)
print a
else if(a < b)
print b
else
print "They are equal"
endPrintLarger


Now I used a,b in PrintLarger because its to show that variables DO NOT HAVE TO BE NAMED THE EXACT SAME NAME. They have to be the same datatype typically, but you can call PrintLarger with the variables x and y. Then PrintLarger will see x as a, and y as b.

Thats essentially what programming becomes with items layered on top of this foundation. Learn to manipulate those and things will become a ton easier.

Share this post


Link to post
Share on other sites
Quote:
I am really interested in computer programming
How do you know that?

Quote:
I really do want to do this since I have been wanting to be in this field for years but never really thought it was a reality.
What do programmers do? What do video game programmers do?

Quote:
I hear it is extremely boring and thats just not really what I want to do
Do you know what accountants do?

Share this post


Link to post
Share on other sites
Quote:
Original post by Palidine
Quote:
Original post by sitdownson
Thanks for the input guys, I have looking around the past few days and I have decided that I will try out some programming stuff by teaching myself and possibly using the forums.


Why wouldn't you just take the Intro CS course at your college? Having the structure of a classroom and a group of peers with whom you can interact in real life is a resource that would be silly to pass up. Sure you can learn to program by yourself, but it's so much better when you have a teacher and TAs and other students to go to for help.

That way you also start acquiring credits should you actually wish to enter the major. Personally I also find that taking a course I already know is the most frustrating thing imaginable. If you do switch majors later it's unlikely that you'd be able to place out of the intro course.

There is obviously no harm in getting started before next semester starts.

-me


I am definitely going to take that next semester, I cant just jump into a class now so i am just saying that I am going to try it out by trying to teach myself now but next semester im definitely going to check out some computer science / intro to programming courses

Share this post


Link to post
Share on other sites
Quote:
Original post by Antheus
Quote:
I am really interested in computer programming
How do you know that?

Well I am a huge video game fan, as everyone is, I would just love the satisfaction of making all these codes and see an end result even if it is a simple pong game...

Quote:
I really do want to do this since I have been wanting to be in this field for years but never really thought it was a reality.
What do programmers do? What do video game programmers do?

Take what designers, artists, and such create and actually put the code in to make the game a possibility

Quote:
I hear it is extremely boring and thats just not really what I want to do
Do you know what accountants do?


Do audits on companies and make sure all their transactions and financial stuff is in order... Or forensic accounting is investigating fraud and stuff like that.

Share this post


Link to post
Share on other sites
Quote:
Original post by sitdownson
I am in my first semester of college right now. Currently I am majoring in accounting, I did it just because my dad and uncle do it so they kind of persuaded me to do it. I hear it is extremely boring and thats just not really what I want to do. I am really interested in computer programming and eventually becoming a video game programmer.


I hate to dampen your enthusiasm, but I feel I should wheel out the good ol' greener grass adage.

You may have heard accounting can be extremely boring, but then again so can programming. Any job will involve boring tasks and any job can turn into something you don't want to do if it's repetitive enough or if working conditions either burn or bore you out. You also might want to consider if programming video games is actually something you want to do for a living. There's a major difference between making and playing games of course, but there's also a major difference between making your dream game and having to work on the xth iteration of 2nd grade outsourced shovelware IP, at which point it turns into a (probably not very fun) job like any other.

Well, I'm probably doing your dad's job on keeping you on track of your accounting degree, so I'll stop right here. As others have pointed out, I'd get a feel for programming first before deciding switch. Ideally, I'd try and wrap up accounting and see about diversifying to computer science later; a broad base education can never hurt. And now I'll really stop giving away the advice I should probably take myself [smile]

Share this post


Link to post
Share on other sites
Quote:
Original post by remigius
Ideally, I'd try and wrap up accounting and see about diversifying to computer science later

I don't agree with that at all. If you don't like a subject, having studied it for one month shouldn't make you feel obligated to stick with it for four full years.

And it would be much, much easier to diversify from a computer science degree. Studying computer science is studying logic and computation, how to formulate problems and solutions. It's applicable to absolutely any field in the world. It's true that there are a lot of boring programming jobs out there, but if you look at any field of research or development (or even art) that you might possibly be interested in in the future, you'll find a way of applying CS there.

Share this post


Link to post
Share on other sites
Depending on your university, there's usually nothing preventing you from attending classes you're not enrolled in. It might be educational to visit CS101 this semester to get a better idea of what you're in for, even if you can't get into the class.

All that said, I'll throw out my common advice that you not start learning with C++. It's not so much that it's hard as that it throws random roadblocks in your way for no real benefit. Learning with a more modern, better designed language will allow you to focus on learning, not fighting the language.

Share this post


Link to post
Share on other sites
Quote:
Original post by MoundS
And it would be much, much easier to diversify from a computer science degree.
It is easy to switch to anything freshman year. Aftyer that, the only subject which is easy to switch to (read: has significant course overlap) from Computer Science is Mathematics.
Quote:
Studying computer science is studying logic and computation, how to formulate problems and solutions.
Really? Most places computer science is about learning Maths. Logic and problem solving are across campus, in the Philosophy department.

The one thing I can say with any surety, is that Computer Science definitely *isn't* about programming - that you have to mostly learn on your own.
Quote:
It's applicable to absolutely any field in the world. It's true that there are a lot of boring programming jobs out there, but if you look at any field of research or development (or even art) that you might possibly be interested in in the future, you'll find a way of applying CS there.
That is very debatable. First year python, perhaps, but a Computer Science degree is overkill for your average programming career, let alone a different field.

Share this post


Link to post
Share on other sites
Quote:
Original post by swiftcoder
It is easy to switch to anything freshman year. Aftyer that, the only subject which is easy to switch to (read: has significant course overlap) from Computer Science is Mathematics.
Well, I didn't mean to imply that CS has great overlap with every other major in terms of required classes. I just meant that CS is generally useful in other fields, so if you do decide to switch, and you end up with, say, a minor in CS, it will still be very useful, more so than accounting, I suspect.

Quote:
Really? Most places computer science is about learning Maths. Logic and problem solving are across campus, in the Philosophy department.
Logic isn't limited to philosophical logic...

http://en.wikipedia.org/wiki/Mathematical_logic

A lot of that stuff is at the foundation of computer science, and at least where I went, all of that was taught in the math and CS departments, not philosophy.

Quote:
a Computer Science degree is overkill for your average programming career
That's like saying a college degree is overkill for the average person. It's true that most people get by without college degrees, but that doesn't mean that they're not useful or that they don't open up new opportunities.

I don't want to come off too strong here. I'm not saying "everyone should get a CS degree because it's the best and you can get any job with it." I'm saying try it out, and if you like it, don't worry about people saying that game programming is overrated or that business programming is boring, cause you can apply it to anything, and you're sure to find something that interests you. And if you suddenly discover that you have a second passion later in life, there's a pretty good chance that it will synergize well with CS, and having a background in CS will probably make it easier to get into that field.

My work involves using high energy protons to treat cancer. There are basically three backgrounds that can get you into this field: high energy physics, medicine, or CS. The first two are obviously relevant from my brief description of the field. CS is relevant because it's relevant to everything. :-)

Share this post


Link to post
Share on other sites
Quote:
Original post by sitdownson
Quote:
Original post by Antheus
Quote:
I hear it is extremely boring and thats just not really what I want to do
Do you know what accountants do?


Do audits on companies and make sure all their transactions and financial stuff is in order... Or forensic accounting is investigating fraud and stuff like that.

Close. :-)

Any job can be fun or boring based on lots of factors.

What is the field? Accounting for a large bank will be different than a CPA doing government tax forms. A fraud investigator will have a very different job than a tax auditor.

Even within the small business bookkeeper accounting, working for a small doctor's office is going to be a very different job than an accountant for a small gym, or an accountant for a small construction company, or an accountant at a game company.

In each case the job of processing numbers is similar, but the job itself will be radically different.

The people you work with, the values of the group, the work conditions and dress codes, the salary levels, and many other factors will vary dramatically.


The same is true with programming. Programming at a small game studio is very different than at a large studio. Working in games is very different from working in business database software or business analysis software or military software or web development or rocket launching software or kitchen appliances software.

All of them write code, but the people, values, working conditions, dress codes, salary, and other factors are dramatically different.





Perhaps a better question is to figure out what you are passionate about. What is your own mission in life, and what do you want from it?

What fields interest you? What holds your interest? What can you bring yourself to complete, even after you have lost interest? What kind of people do you want to work with? What abilities and aptitudes do you have that you want to use in your career?

If you can't come up with answers, one excellent book is "What Color Is Your Parachute". Your library will have several copies, and the book is a must-read for many reasons. For now, skip to the end of the book. One appendix chapter is about finding your personal mission, another other is the flower diagram. Work through both.

People have left game development for lots of reasons. One former co-worker left to return to school for a music education career. Another co-worker left to start a flower shop. I have read about many others, one guy started an exotic vehicle rental company. Discovering that your passions are elsewhere is a very common event.

There is even a "mid-life crisis" where many people discover they need to re-evaluate their passions.


You are just beginning your college education. It won't hurt to finish your current semester as is. Find some mature folks who went through a mid-life crisis and are open to discussion; They can be an invaluable asset to help figure out what you actually want out of life.

Share this post


Link to post
Share on other sites

Quote:
Original post by MoundS
Quote:
Original post by remigius
Ideally, I'd try and wrap up accounting and see about diversifying to computer science later

I don't agree with that at all. If you don't like a subject, having studied it for one month shouldn't make you feel obligated to stick with it for four full years.


Perhaps this 'ideally' should have been 'personally', I certainly don't want to give the impression that this is somehow pure wisdom or in any way mandatory. My point mainly was that a broad education pretty much always pays off; you'll be more versatile for employers and you give yourself more options for your carreer. It's win-win.

Quote:
That's like saying a college degree is overkill for the average person. It's true that most people get by without college degrees, but that doesn't mean that they're not useful or that they don't open up new opportunities.


I'd say this is actually spot on. From my limited experience and knowledge, many people in pretty much all fields are over-educated for the jobs they hold. This doesn't mean college degrees aren't useful or open up new opportunities; they are (especially for creating the 'academic mindset') and they obviously do. But in day-to-day programming work I have been rarily called upon to employ some piece of specific knowledge I've obtained from any of the courses, or even much knowledge at all. I think this is what swiftcoder was meaning to point out.

Quote:
Discovering that your passions are elsewhere is a very common event.


I'd just like to reiterate this because it's so very true [smile]

Share this post


Link to post
Share on other sites
Quote:
Original post by MoundS
Quote:
Original post by swiftcoder
Really? Most places computer science is about learning Maths. Logic and problem solving are across campus, in the Philosophy department.
Logic isn't limited to philosophical logic...

http://en.wikipedia.org/wiki/Mathematical_logic

A lot of that stuff is at the foundation of computer science, and at least where I went, all of that was taught in the math and CS departments, not philosophy.
Sure, we had all of that in Mathematics courses, and a little bit (truth tables, karnaugh maps, etc.) in circuit design, and a bit more (set theory, recursion, proofs) in algorithms.

But I don't see that set theory and karnaugh maps are universally applicable in the way you suggest - whereas the formal logic we had in philosophy is.
Quote:
Quote:
a Computer Science degree is overkill for your average programming career
That's like saying a college degree is overkill for the average person.
Not really. it is more like saying that a degree in marketing is overkill for a secretarial position, or a degree in astrophysics is overkill for a pool shark.

A CS degree teaches you little to nothing about programming. If you don't know much programming going in to it, and you don't program fanatically on your own time throughout, you are going to be a terrible programmer when you graduate. A knowledgeable computer scientist perhaps, but a terrible programmer.

Programming is generally only explicitly taught in 1st year classes, and development process is almost never taught unless you have a software engineering course (which the CS faculty tend to view as 'impure').

If you have a really progressive school, they might even bring in industry types once in a while to extol the virtues of a career outside academia [smile]

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this