• TalkBass has been independent since 1998. Add your voice.
    Create a free account to reply to discussions, view embedded media, and browse with fewer display ads.
    Join freeLog in
    Want zero display ads or expanded classifieds tools? Compare plans.

Considering Computer Science Major...

Hey TB, I'm starting to think about what I'd like to study in college- Computer Science has always interested me as a prospective major, and I'd like to know some of what it encompasses as far as studies, skills, etc. I'm a junior in high school now, and this time next year I'll be applying to colleges. What should I start learning to prepare myself for it?
 
I agree with both of the other posters, math is important. If you haven't already learned a programming language I suggest you start now. If you have an idea what colleges you're going to apply to, find out what languages they use in their undergrad programs. When I was an undergrad it was assumed you knew C. If not you needed to learn it fast. My guess is most colleges use Java now but see if you can find out what your perspective schools use.
 
At my university (U of Nebraska), you automatically get a math minor with a CS major. All you have to do is declare it.

Get your math classes. Calc and maybe even some AP math will get you a head start.

Have you tried to program for fun? Most "real" OO coders have the ability to teach themselves a new OO language pretty much on the fly. Venture into java, C, .net , etc and see how you like it.
 
I got my Associate's Degree in Computer Science.

Math. Math. More Math. Make sure your foundation in Algebra is strong. You'll need it. The Pre-calc I took in High School was pretty much the same as the first half year of college Calculus. My Algebra skills were not strong enough - I failed my second quarter of 5 hour Calc. I re-took Algebra then went back to Calc and finished just fine.

For my two year Associates, the second year I took Multivariable Calculus, Differential Equations, and Linear Algebra. Two of those courses are third year courses at the University where I completed my Bachelor's degree.

I started to like the advanced math once I got to Differential Equations.

It's a great course of study. Highly recommended.

Most important class I ever took was Binary Algebra. Having a good foundation in basic logic circuits is absolutely critical.

Comp. Sci. Is VERY technical and is a very difficult field of study, but you can do well with it, and it's interesting. I always have done very well, salary-wise, even from soon after graduation with just an AS in Comp. Sci.
 
Thanks for the responses so far everyone! I do not know a programming language yet; I'd like to know which language those of you in the profession would reccomend for a complete novice... Should I just learn Visual Basic for now or try for something more complex like C/C++ or Java? Also, once I decide on a language how do I go about learning it/using it?
 
There are many languages being used in the industry today but IMO Java woud be the way to go. Not only is it an industry standard but many colleges use it as their teaching language. Having said that C/C++ are still popular as well as being the language used in many colleges.

IMO, OO is the way to go so pick an OO language and start learning OO concepts now.

There are a lot of great online resources available to learn a language. As well as books. If you head the Java route Dietel and Dietel wrote a great Java book. Check out java.sun.com for online Java tutorials, probably some oracle URL now but java.sun.com should redirect.

If you go the C route the Kernihan and Ritchie book is still one of the best C books. For C++ Bjarne Stroustraps's book is good.

If you'd like more info or more details feel free to PM me and I'd be happy to share more resources. Comp Sci is a great area of study and a sure way to ensure job security in the future. Good choice :-).
 
Pick up one of those C++ for dummies books, maybe learn how a computer's inner workings function.

Our degree here is about 50/50 math and computers. Classes include things like numeric analysis, discrete math, calculus, and linear algebra. I think it ends up being like one class away from having a minor in it, so if you can handle the extra class or two, the minor/second major will be worth it.

The computer half of the degree encompasses everything from programming, to data management, servers, OS's, AI, etc. There are something like 5 areas to concentrate in.
 
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."

-- Edsger W.Dijkstra, Burroughs Research Fellow, 1975

I keep this quote on the wall outside my cubicle, because I program exclusively in BASIC unless I'm writing code for embedded systems, in which case, straight C. But I'm also not a professional programmer. Rather, I use programming to solve short term problems for myself and for people in my immediate vicinity. If one of my algorithms ends up in a product, it gets translated into a modern C variant by one of our programmers.

I suggested BASIC to a student a few days ago, and now realize it's a bad idea, literally because it's too easy, and you get into the habit of doing things the easy way rather than the way that's the currently accepted practice. Folks of my generation who got good at procedural programming had a devil of a time learning OOP.

Now a point about the math. Don't consider it to be merely a hurdle to overcome. Hopefully you're majoring in CS because you actually like math. Also, instead of learning a language per se, you could also try something fun like finding out what it takes to write a simple program for your cell phone. In the process you will learn a lot of the basics.
 
Thanks for the responses so far everyone! I do not know a programming language yet; I'd like to know which language those of you in the profession would reccomend for a complete novice... Should I just learn Visual Basic for now or try for something more complex like C/C++ or Java? Also, once I decide on a language how do I go about learning it/using it?

I'm studying CSE (Computer Sciences and Engineering),they don't offer CS or CE as saperate courses in Turkey.Man this is hard.

As for math goes,basic calculus is a must.Lineer Algebra is very important.You should understand how matrices work as you'll use them from software design to coding.

As stated above:
Having a good foundation in basic logic circuits is absolutely critical.

If you want to start by yourself,I can recommend starting from "C".One of those DEITEL books would be a solid foundation.Learning to the end of Structures/Pointers would be enough till you start your degree I assume.

I said start from C because beginner Java is just like C.C is just simpler,if you get the foundation strong you can build on it solidly.Learn to play in the pocket,solos will follow.;)

ps:I'm not familiar with your education system,correct any mistakes I have made please.