Computer Science Exam Technique

This article will help you to achieve your full potential in exams for any subject.

Have you ever been in an exam where you have read a question and your brain has just frozen?

You know topic you are being asked about, but you can’t begin to think how to squeeze that knowledge into the form needed for the question.

HELP — I’ve got brain freeze!

(In this article the phrase *brain freeze* is used metaphorically to refer to not being able to think effectively under pressure, rather than the painful experience of eating something too cold too fast.)

This article presents a strategy to help you get unstuck in these situations, so you can give the best answer you are capable of. When brain freeze happens there are two key components to consider:

  1. Inhibition
  2. Movement value

Inhibition

We are generally so conditioned culturally to be “error-averse” that we would often rather say nothing than to try and answer a question that we may get wrong. This habit can crystallise over time into a “freeze response.” Somehow you mind has got the message “if you don’t give me a perfect solution then don’t bother contributing.” This can be a serious impediment to the flow of thoughts and ideas, which is so desperately needed in a written exam.

As well as being a habit acquired over time, inhibition can be exacerbated by the pressure and anxiety felt under test conditions, which can negatively impact performance.

Movement Value

Edward de Bono is one of the pioneers of metacognition, which is an area whose importance has often been overlooked, although in recent years that is less the case than it was. Metacognition is basically the art and science of thinking, so it’s a pretty important subject, and is a skill which can be systematically developed.

One of the key points that de Bono Emphasises in his work is the importance of movement value. It is a mistake, he argues, to think that every step toward the solution of a problem must contribute directly to that solution. Movement in fact has great value for its own sake. The reason being that from any new angle, new information about the problem may be perceived, which can lead to new approaches and solutions. The movement can even be provided by a random word, and there are many other ways to achieve it described in his books.

The method presented here is my own creation and not from de Bono, but it does makes use of the principle that movement has value even if it does not take us directly to our destination. When we are experiencing brain freeze in the face of an exam question, we need to get our minds to contribute — to lose their inhibitions as described above, and start writing something which will move us towards the best answer we are capable of.

The Compucademy 4-Step Strategy for Getting Unstuck in an Exam

We are going to see how this approach can be applied to a question in a Computer Science exam. Don’t worry if this is not a subject you are studying though — the strategy can be applied to any topic. The strategy is mainly useful for exam questions where a written answer is required, but elements of it can be adapted for other situations.

You should have access to scrap paper or some area on your test paper where you can make notes which will not contribute to the final answer. If not, then it is certainly worth requesting some paper from whoever is overseeing the exam.

A Practical Example

We are going to look at an example question from an A-Level Computer Science exam, but as I wrote above, don’t think this is not relevant if you are not studying Computer Science— simply follow along and consider how you would apply the strategy to a question from your own subject.

A recursive procedure X is defined below:

def mystery_procedure(n):  
    if n < 2:  
        print(n)  
    else:  
        mystery_procedure(n // 2)  
        print(n % 2)

Explain how a stack is used during the execution of a recursive procedure.

Getting Unstuck Step 1 — List the Nouns

It is a lot easier to write a coherent answer to an exam question if you have the key ingredients to hand, so write down a list of key nouns and verbs relating to the topic of the question. Think of it as like gathering the ingredients for a meal before proceeding to cook.

One great source of nouns is the exam question itself, although you may need to add to the list from your existing knowledge. For Computer Science questions, you may even include keywords from any code your are given in the question.

E.g.:

  • recursion
  • execution
  • procedure
  • stack

In addition to the above, from your knowledge of recursive procedures and procedures in general, you could add the following terms:

  • call
  • local variables
  • base case
  • frame
  • push
  • pop

Getting Unstuck Step 2 — Select the Most Important Terms

From the palette you have now created, decide which are the most important terms and mark them with a ✔

  • recursion ✔
  • execution
  • procedure ✔
  • stack ✔
  • call ✔
  • local variables
  • base case ✔
  • frame ✔

Getting Unstuck Step 3 — Create a Prototype Answer

An important principle in many areas of work is:

Avoid premature optimization.

Also known as:

Perfect is the enemy of done.

We are often so focused on getting things right that we end up inhibiting our mental faculties, as discussed above.

The trick at this stage of the strategy is to remove you inner censor and just get something down that is vaguely in the right ballpark — a prototype answer. Don’t worry about getting it right at this stage! You just need to string together your terms in a vaguely coherent way.

  • recursion ✔
  • procedure ✔
  • stack ✔
  • call ✔
  • base case ✔
  • frame ✔

Go for it.

Here’s an example:

“In recursion, the procedure is called and frames are stored on a stack, until the base case is reached.”

Getting Unstuck Step 4 — Refine the Prototype

By this stage, the “brain freeze” you were initially experiencing should have subsided, as staring at the blank space on the question paper has been replaced with action which has moved you towards a final answer.

The final step is to take the new insight and preparation that this process has given you, and produce your best shot at a final answer, using your prototype answer as a starting point. You may well find this this stage is pleasingly easy, as your mental creative juices are now flowing freely.

Here is a plausible answer to the original question which should get you the marks you deserve, having prepared well for your exam.

“Each time a recursive procedure calls itself, a frame is placed on the call stack containing data about the current state, such as local variables. When returning for a procedure call, after the base case is reached, the variables for each call are reinstated.”

There you have the Compucademy Strategy for Getting Unstuck in an Exam.

It goes without saying that a strategy such as this is no substitute for sufficient preparation. You need to know you subject to perform well in an exam. However, this strategy can help to ensure that you do the best you are capable of and avoid wasting precious time not knowing what to do next.

I hope you find the strategy helpful, and good luck in your next exam!

Leave a Reply

Your email address will not be published. Required fields are marked

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

Join our mailing list

Join our mailing list to receive awesome articles about learning Python and Computer Science in a fun and accessible way, straight to your inbox.

 Learn Python Tkinter GUI Programming 
with a free demo application