CS 3358 (Data Structures and Algorithms) by Lee S. Koh

Psychological Aspects of Working in CS
Quoted from "Introduction to Computer Science with C++," Second Edition
by Kenneth A. Lambert, Douglas W. Nance, and Thomas L. Naps.


Studying computer science can cause a significant amount of frustration for these reasons:
Planning is a critical issue. First, you must plan to develop instructions to solve your problem and then you should plan to translate those instructions into code before you sit down at the keyboard. You should not attempt to type in code "off the top of your head."
Time is a major problem. You cannot expect to complete a programming assignment by staying up late the night before it is due. You must begin early and expect to make several revisions before your final version is ready.
Successful problem solving and programming require extreme precision. Generally, concepts in computer science are not difficult; however, implementation of these concepts allows no room for error. For example, one misplaced word in a 1000-line program could prevent the program from working.

In other words, you must be prepared to plan well, start early, be patient, handle frustration, and work hard to succeed in software development. If you cannot do this, you will probably not enjoy software development or be successful at it.