What courses would I need to take in college to become a computer programmer and a...

What courses would I need to take in college to become a computer programmer and a CG freelancer(creating 3d models/animations/rigging/etc)? Computer science and…?

For programming I would recommend software development and maths that includes Algebra or even Calculus. Courses in C++ are advised also.

Out of interest as a non American:
I understand that after highschool your optional higher education starts.
I also know you either go to college or university and it’ll cost you dearly.

In simple terms, what is the difference between graduating a college and a university?
Yes, I am too lazy on a Sunday afternoon to research it on my own, and I am certain someone already has the answer for me:)

Is it similar to to the German “Fachhochschule” and “Universität”?
Both yield quite similar graduation titles (in Austria), however prior one is more business oriented, preparing people for the workforce more directly, while latter generates “researchers” so to speak, highly specialized theoreticians for fundamental research? Although that’s quite a generalization.

University degree course Schemes that’d fit this here in Austria would be:
Computer science/Informatics
Software development and buisiness management
Telematics

And at “Fachhochschule” we have master degrees for instance in:
Communication, media, sound and interaction design.

It’s really a question what you want to focus on, there’s no general study for what you want as far as I am aware.
If you are already good in programming and weak in content creation you can:
a) master programming and keep content creation hobby-ish
b) rely on your programmings skills and start to master content creation.
c) start to master both

Same goes the other way round.

But unless you’re going to found your own startup, or go indie or freelance it’s highly doubtful you’ll work as this kind of generalist.
You’re either a programmer or a content creator. Or one of the rare folks developing plugins and scripts for content creation developing inhouse tools.

I’d suggest that you spend a lot of time working with Blender, exposing yourself to as many aspects of this product as possible, because this product … even though it costs you nothing … does incorporate the workflows and methods and software techniques that are used (elsewhere) in the industry.

(In time, yes, you will need to introduce yourself to other tools – but there’s no real reason to do that “right out of the gate.” Learn, first, how the technology works … how it is applied to the ultimate goal of producing graphic images. Blender, by itself, can teach you that – and can produce professional-grade results.)

I suggest that you should make one of your goals to create, say, a one-and-a-half minute complete, animated show, including sound. And that you should do it in a realistic way: with a deadline, with “customers” who must approve the finished work (and who must be given meaningful in-progress review points), and with consideration of the technical attributes that are necessary in the finished product for its successful use in broadcast television and/or a small-theater digital projection setting.

To do that, you’re going to have to do some research. And, “learning how to do research” is a big part of what college ought to teach you. Learning how to plan, execute, and finish a substantial project is also what college ought to teach you.

If you’re interested in computer programming, start by developing some serious Python script add-ins. Learn about the Python API. De-construct every single one of the existing Python scripts that ship with Blender, and learn how each one of them works. (And, if that really lights your fire, you can dive into the C/C++ guts of the thing later, participating in Blender Development after earning your way into that community.)

And, oh yeah … go to college. Start with a community college, general education. (They’re accredited just like everyone else is.) Don’t buy the kool-aid that says that a college has to be “expensive” to be good. What matters most is this: resolve to come out of that school with a 4.0 GPA or as close to that mark as you can possibly get. Nothing less than this should be acceptable to you.

If you can do that, then academic doors and industry doors will open for you, because you’ve proved that you can and will work your a*s off, and that you will succeed in doing so. If you go to college “knowing that you have a job to do,” and do it, then you’ll do the same thing “on the job.” Believe me: “what exactly you did” is much less important than “how you did it.”

By the time you finish schooling, the world of computer graphics will have (once again) completely re-invented itself, as it will continue to do over-and-over throughout your career wherever your career may take you. But, if you have the self-discipline, you will surf every wave that comes and stay on top of it.

A university is more flexible,extensive, and expensive. Taken from https://answers.yahoo.com/question/index?qid=20070819045731AALILcO

Thanks for the advice! It cleared up a few things for me. :slight_smile:
However I’m having a problem with finding a suitable college/university. I’m trying to find a college in NYC due to a personal situation that prohibits me from traveling to another state. I’ve tried to find a college with computer science and computer animation degrees but I can only find a college with one or the other but not both. I also want to learn to compose music. Would taking a college course for this be better or would the internet suffice? I’d like to keep composing music as a hobby but I think that a college course would teach me things that an education from the internet cannot.
So I’m stuck with a dilemma. I’m not sure if I should just settle with a computer science degree and make computer animation a hobby or vice versa.

Is there a programming language that is the easiest to learn or are they all about the same? From my experience in dabbling in minor scripts, it’s seems like many programs are simply combinations of If… Then statements/booleans/etc. I’d like to actually get my foot in the door but I keep procrastinating because it always seems like I’m going nowhere with programming.

I suggest that you are blessed with living in a State with a superb state-run educational system. Start by signing-up at a local community college, where in the next two years you can complete primarily a general-education curriculum … which of course will be accredited and therefore transferable anywhere. It really doesn’t matter too much what your major is. Computer science, if you have to choose, probably is a good choice.

Maintain your interest in, and your self-education in, both computer animation and music … even as you “blow the doors off,” grade-wise, the college of your choice. As I said, come out of there with a 4.0 GPA or as close to that as you can manage, and you will find that doors will open wide for you everywhere else you want to go. Colleges will admit you, and financial backers will offer you scholarships. Sign up at SUNY for your 4-year degree with a New York 2-year degree “in the can” and stellar grades. “Open sesame.”

Today, you do have ready access to professional-grade tools in both computer graphics and music. If you have self-discipline, you can go a long way in self-education in both. Basically, “never stop learning.”

A little secret about college: most of the benefit of going there comes from going there, and from doing what it takes (see above …) to do well there, academically. The courses, no matter what they are, in these subjects will be “dated,” but they’re valuable anyway. Your major won’t dictate what you can or can’t do during the rest of your life. But your academic performance – your GPA – will speak volumes. It will speak to your future academic endeavors, and it will speak to your employers. As I said, “someone who goes to <<college | work>> with a job to do, and does it,” is a bankable asset: “self disciplined.”

For programming it’s rather the paradigms that count.
The two major ones are procedural programming (aka imperative programming) and object oriented programming.

For procedural programming most likely the best known languages are Cobol, Fortran, Basic and C.
For object orientated programming they are C++, C# and Java.

There are a lots of other paradigms too, it strongly depends on your field of work.
Logic, statistics, web development, embeded development, very large scale integration, business and economics, games, frontend, backend… you name it. And pretty much every field has it’s language.

Generally, especially for game development OOP (object oriented programming) is the way to go.
On the “PC” you mostly have C# (.net framework) and C++, as well as Java.
On OSX/iOS you additionally have Objective C, which is somewhat similar to C#
On Android you got Java using the Android SDK.

You should also never neglect procedural programming. Blender for instance is mostly made from C. So is Linux, so it’s widely used and although it’s uncomfy to use at times it has it’s benefits, especially to train your way of thinking and developing.

The paradigms don’t really change, what changes is the language, the frameworks, the APIs, and just like with real languages you got to use the right Semantic and Grammar and that is what’s different.

You can use OpenGL with all those languages, as OpenGL is an API.
You can use QT or wxWidgets for your user interface in all of them too.

Personally I’d recommend to learn as many languages as possible and use them whenever you can. You don’t really learn a language, you practice it, just like a spoken language.
You can learn all vocabulary and grammar of a language but still will have a hard time expressing yourself unless you regularly talk, learn phrases and can properly convey your thoughts.

As an artistic person with interest in programming or the other way round I’d recommend to look into processing:

It’s quite nice. It builds upon Java, so learning it is quite beneficial, but it’s a lot easier and focuses on visuals. You can prototype stuff very fast, has a lots of ready to use methods and libraries (easy to install with one click) and lots of online documentation.

Thanks for the detailed reply! I think that your advice applies to many aspects of life.
I have a lot of planning to do :slight_smile:

Thanks for the info and the link. :slight_smile:
I don’t think I’ve ever dealt with or heard of procedural programming. I guess I have a lot to learn about programming. So many things to choose from and very little time to properly accomplish much…

Either “programming is your thing,” or-r-r-r … it isn’t. And in any case, you don’t have to be the one to write the stuff.

Fortunately, you actually have time to think about such things. The first couple years in any college program are – or can be – general education, anyway. Get in there and experiment. You might surprise yourself and wind up in theater or music. Don’t declare a major until you have to. There are lots of ways to make money in this world and to be fulfilled in dong it, and, in the end, that’s the name of the game.

I’m interested in programming because it allows you to have more artistic freedom. I also think that it’s a bit ridiculous to not have an inkling of how the things we use work.

I’ve thought long and hard about trying other things but I feel that making art is the only thing that will truly make me happy. I’ve often been unable to fully express myself at home/school and I find that bringing concepts and worlds to life is a liberating and empowering experience. My parents and I often don’t see eye to eye…it usually leads to a regrettable misunderstanding(At least that’s how I see it).

TL : DR - I’ve been quite depressed for the last several years…

Sorry for not replying sooner - been on holiday this week.

If you are new to programming then its going to be hard no matter what language you choose. However, if you have a road map then its going to be a lot easier on you…

Your first goal should be to gain some familiarity with programming. Give yourself about six months learning a language and the bare basics of programming. So six months down the road you will have more confidence than you do now. From my experience of programming, I recommend C as your first language. There of course better languages that perform certain tasks better than C, but none are as fundamental. Learn C and you’ll have a great stepping stone to other languages - especially C++ and Java.

Also, keep in mind that by learning C first, you’ll be in a much better position to appreciate what other languages offer to you as a programmer. For example, languages such as Python or Mel Script will provide easier syntax, and reduce the amount of code you need to write to do simple things, whilst OOP in Java and C++ will allow you build far more complex programs in a clean and efficient manner.

To be honest, if you have to start college using a different language, then that is cool beans - all experience in programming is worth the effort. However, if you would like to learn C on the side, and feel you need help in getting started then feel free to send me a PM.