I don’t know who the author of the following article is. I tried to find out, But couldn’t. Who ever the author is, he has missed 5th point. So I added mine. Hope you enjoy it.
- Math is More Important Than You Think
- You’ll Need To Write More Than Just Code
- Don’t Procrastinate
- Don’t Over complicate Things
- Read, Read and Read More
- Impress Your Instructors, But Not Too Much
- Flow-charting Early and Often
- Make Sure This is What You Want to Do
- Use All Your Resources (Most importantly Internet)
- Become a Well Rounded Programmer.
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.
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.
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.
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 800×600 monitor view. If you comment well, a little larger is acceptable.
One main draw back of CS industry is that it is constantly changing. To keep up with you have to keep yourself updated. Internet is the key. You can follow blogs, join discussion forums or subscribe to feeds. Other than that you can also subscribe to magazines and periodicals. Apart from this fins persons with similar interest and hang out with them often. Debate and discuss about latest tech updates. Share what you know and learn from them.
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.
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 pseudo code, 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.
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.
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 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.
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.