Computer Science question.

soar

Junior Member
Sep 15, 2008
2
0
0
Well, when I head into college I'm thinking bout doing a computer science program or something similar. IF I Was going into computer science, what would be good stuff to read/do? Also, what books would be good to read/what subjects?
 

KIAman

Diamond Member
Mar 7, 2001
3,342
23
81
I might be going out on a limb but I doubt you meant to put this in Highly Technical.

Also, as a computer science graduate, myself, if you don't have a good grasp on what to read up on already, you are in for a world of pain.
 

soar

Junior Member
Sep 15, 2008
2
0
0
Didn't know where else to put it. And I'm a quick learner, so it's all good. I have ideas. I still have like a year and a half left of school anyways, and I'm 18. I guess that's what you get for dropping out for a year and slacking. Wish I didn't, lol.
 

dinkumthinkum

Senior member
Jul 3, 2008
203
0
0
This is serious computer science stuff. Not lame javaschool bullshit. If you're really into computer science, and not looking to just be a code-monkey, this is the way to start.

Structure and Interpretation of Computer Programs, free online http://mitpress.mit.edu/sicp/
meant for entering freshman in CS.

textbooks (should be able to find fairly cheap used):

Sipser. Introduction to the Theory of Computation.

Pierce. Types and Programming Languages.

Kernighan & Ritchie. The C Programming Language.

That covers 3 major areas: theory, programming languages, and systems programming (sorta). Stuff that you might come across in a 2nd or third year CS curriculum.

Of course, some people have more fun diving into code and getting excited about hands-on projects. If you need to learn how to program, http://www.squeak.org/ is a nice fun GUI environment with a clean language. C is still a good way to get experience with systems-level memory grubbing, though it can be plenty frustrating to beginners. SICP introduces Scheme, which is a nice simple language designed to be easily teachable in a few lessons. If you want to take that style to a much slicker level, try Haskell, which has a great website and community for helping out newbies (but is much more involved than Scheme).

Avoid C++ or Java, whatever the other people in here say. It's just a ticket to code monkey hell. The important concepts are captured elsewhere without all the awful baggage those two carry.
 

irishScott

Lifer
Oct 10, 2006
21,562
3
0
C++ is a ticket to code monkey hell? Lol. Java? More likely, but still no.

I know for a fact that Java is used in some of the more modern submarine consoles. One of my internships also involved creating a custom garbage collector and diving into the Java source code (which is c++). Code monkey hell my ass.

OP: I'm a Junior Computer Engineering major. The route I went was CS followed by APCS Java in high school to learn basic programming techniques/OOP without having to worry about more technical concepts like manual memory management. (outside of the textbook anyways) (Java has automatic memory management and friendlier error messages). Then I "graduated" to c++ when I hit college, and I was far and ahead of most of my peers (I was working on pointers while they were still stuck on syntax).

If you really feel like diving in hardcore, then go with dinkumthinkum's suggestions. That said, you'll have to spend "mucho" time if you go that route. I'm assuming you don't have said time. If you want to actually learn how to program, I recommend finding a night course or take CS/APCS if your high school offers it. I've had to use several CS textbooks thus far, and I've read some of those that are supposedly designed to teach you how to program. All I know is that without at least basic experience and understanding of how to program, learning from those books is going to be hell.

There is nothing anywhere close to a good teacher/professor and experience when it comes to learning.
 

presidentender

Golden Member
Jan 23, 2008
1,166
0
76
The programming forum is over there.

You should pick up a programming language (the one your university of choice teaches its classes in) and make sure you're good at math. Use a teacher if you have one; online forums (like the programming forum on this site, or Sun's Java forums) if you don't.

The math part is important. You'll never use calculus as a programmer, but you'll be expected to take it in college, and if you can't get your head around it, chances are good you can't program either. Discrete math, if you have access to it, will be useful as a CS student and as a programmer.