1.) Math is More Important Than You Think
Math is all over Computer Science in many different ways. Software
Engineers will use discrete math when working out algorithm complexity
and efficiency, in graph theory, and recursion. People who work more
directly with hardware will use discrete math in designing logical
circuits and use automata theory for making finite state machines. At
that level you are also working with the large amount of math inherent
with electrical engineering. In research aspects you will be using
probability and statistics for performance measurements and comparisons.
Even game programmers use a lot of math when creating 3D environments.
2.) You'll Need To Write More Than Just Code
At the base level you will be writing comments in your code. Those are
there for others to comprehend what you are trying to do, so explain
what you are doing well. In software engineering you may be writing
requirements, specifications, test plans, and more. There may be a time
later in your CS career where you may need to write a research paper,
that may get peer reviewed. Good writing skills will help you. Pay
attention in your business writing classes and learn good technical
writing skills now.
3) Don't Procrastinate
We know you've heard it a million times, but this is the worst possible
thing you can do in a programming class. When you get an assignment,
look it over and start on it right away. In the likely chance that you
can't work through an error or figure out the logic, you'll have time to
contact your instructor or use other available resources to solve the
problem.
4) Don't Over complicate Things
The smaller a block of code is, without being redundant of other code,
the better. When you break down algorithms which have nothing in common,
often there is a loop or operation which is not unique, other than the
parameters involved. A single method/function should not be longer, or
wider than a standard 800x600 monitor view. If you comment well, a
little larger is acceptable.
6) Impress Your Instructors, But Not Too Much
Your instructor can be your best friend, but don't be a suck up. Ask
questions and show your instructor you're interested but don't annoy the
rest of the class with constant questions and meaningless comments. If
you can get to know your instructor, you may be able to leverage that
relationship in the future for internships and recommendations.
7) Flow charting Early and Often
Any good programmer will tell you planning is the most important part of
any project. You'll have to flowchart when you get a real job, so get
good at it now. Planning a project out before you start, even if it's
just good pseudocode, can save you hours of frustration. Don't start
your project in the compiler, instead sit down with a piece of paper and
plan out your program.
8) Make Sure This is What You Want to Do
Many computer science students get into CS because they like games. Now
there are a lot of positions in Computer Game Design that do not require
you to be a programmer, so if you are not interested in the coding
aspect talk to someone who might direct you to a better path. Areas such
as Technical writing, Dramatic Writing, graphic arts, business
management, and many more might be better places to go. Use your
minor/electives to take computer oriented classes and get to know the CS
majors.
9) Use All Your Resources
Don't hit a road block and then panic. There are thousands of resources
online to help you work through a problem. From tutorials, to forums ,
to live help, you should be able to find the help you need. Just
remember it can take more than a few minutes for someone to help solve
your problem so don't wait till the last minute. Google is definitley
your friend and don't feel embarassed if you have to search for your
problem. Don't expect people to do the work for you though, you'll still
have to put forth some effort.
10) Become a Well Rounded Programmer
Programming is more than just C++ or Java. If you plan on programming
for a living, you'll need to learn the business side of programming.
This includes things like systems analysis, databases, security, and
documentation. Also realize that C++ isn't the only language out there,
you should be able to jump fairly quickly from language to language.
Don't get stuck in one language. Learn the basics of other languages
including web based. In addition to code, focus on your humanities.
Nobody wants to interact with a dull uncultured nerd. Take classes that
interest you and will provide you with a good non-technical education as
well.

