First, quickly read through the entire exam paper to get an idea of what each question is about. Note how many points each is worth and which ones you feel confident of. Then, decide roughly how much time to allocate to each question. This should ensure that you have time to at least try answering all of the questions. Remember, the aim of the exam is to find out the extent to which you understand and can apply certain concepts, so stay calm and just do whatever you can. Perhaps start with some of those you feel most comfortable about, so as to gain confidence. Most importantly, read the question, that is, read what is written on the page, not what you think is written. Each word is generally there for a reason and will give you a clue as to the solution of the problem. Remember, I can only spend a few minutes trying to understand what you have done. Do not give multiple answers to a problem (I will either refuse to grade them or choose the worst answer, so cross it out!) Also, I will not search for an answer. I expect it to be clearly visible in the space provided. If it is elsewhere (on an extra sheet, for example), make sure that there is a reference to it. Remember, it is up to you to demonstrate your ability (and communication is a key part of that.) If I cannot read or follow what you have written you will lose out! So, think and write clearly and neatly. And, don't forget to check (debug) your work. It is surprising how many silly/stupid little mistakes you can avoid if you properly check over your answers (again, read what you wrote, not what you think you wrote!) Remember, your objective in writing a program is to have it function "right-first-time." Most of the techniques for achieving that are common to all engineering endeavours, and to taking exams!