The following are the 10 tips for Computer Science / Applications Students:
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 will 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 overcomplicate 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 or function should not be longer, or wider than a standard 800x600 monitor view. If you comment well, a little larger is acceptable.
5. 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.
6. Flowcharting 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.
7. 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.
8. 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 books to tutorials, forum (like http://bca-tnc.blogspot.com/), 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 definitely your friend and don't feel embarrassed 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.
9. 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.
10. Interact 2 Innovate:
Well, you cannot learn everything from books or online. Even if you learning online you either directly or indirectly interact with some website being maintained by some administrator who is sharing various informations on his website or forum (like http://bca-tnc.blogspot.com/). Hence, if you would like to excel in all spheres then you must interact with someone with your problems to get an innovative solution! This is why I call or say everytime - Interact 2 Innovate
-Chief Administrative Officer.