Studying for a CS final

You'll find that to study effectively for computer science you may have to adopt new approaches.

Prepping for exams: it's not a last minute activity

In most computer science exams you'll be required to solve problems you've never encountered before, and you'll be required to understand programs you've never looked at before.

As a result, you simply cannot cram for a CS exam:

Crunch time isn't when you should be learning the material, it's when you should be fine tuning your understanding of the nuances, and refreshing yourself on things you haven't used in awhile.

Recommended study approach

Go back over all your old notes, labs, and code and ask yourself the following questions:

The importance of word problems

For a software developer, nearly every problem they ever encounter begins as a word problem: someone describes to them what they want (or what they think they want) and the designers/developers have to figure out how to arrive at a solution that will satisfy the client.

Being able to comprehend word problems, and the different ways in which people phrase them, may be the single most valuable skill a developer can posses.

Closely related to this, a developer needs to be able to express their own designs and ideas in ways that are clear to others - both verbally and in written documents. If you can't express complex ideas in a clear and understandable form then it is almost impossible to work effectively in a team, and almost impossible to discover in advance if your design ideas will actually satisfy the client.