Computer Programming Aptitude Test
Aptitude tests for computing jobs broadly fall into three groups:
 A standard battery of tests assessing competencies such as numerical reasoning, logical reasoning and nonverbal reasoning which are required in technical computing jobs.
 A hybrid test comprising of elements involving logical reasoning, numerical problem solving, pattern recognition, ability to follow complex procedures and attention to detail. Neither of these first two types of test require any knowledge of programming
 A programming simulation involving pseudocode, control structures (e.g. loops), lookup tables, sets, arrays, boolean true/false, looping and other programming structures. These are given to experienced programmers to assess their competence.
The test given here is a hybrid test (type 2 above). Hybrid tests involve:
 Logical thinking and problem solving.
Numerical problem solving is analogous to the trouble shooting required in programming  Pattern and syntax recognition. Involves recognising similarities and differences in strings of characters and numbers, understanding graphical representations of procedures and symbols, finding which element does not match the corresponding elements and information checking and attention to detail: a single misplaced semicolon or bracket can crash a program.
 Ability to follow complex procedures. Involves following coded instructions and rules, sequencing events into a logical order, sorting and manipulating lists of items according to specific instructions, deciding how one set of instructions affects another and interpreting flow diagrams.
Other attributes required by programmers and other computing professionals
 Time management
 Creativity
 Teamwork
 Determination
 Clear, concise documentation: software development involves writing things down and looking them up again.
 Ability to quickly learn new skills and update existing ones by teaching yourself.
Also a receptivity to new ideas: computing is a fast changing environment!  Programmers also need to be reasonably quick coders, although accuracy is more important than speed.
 For more information about this click on the programming tests tab on our psychometric tests page
The test has 26 questions and you will have 40 minutes to do them. At the end of the test (when 40 minutes have elapsed), you will be given a score. Please use SCRAP PAPER and a CALCULATOR for working out answers. Please note that this is quite a demanding test.
The test will start with three easy example questions which will not be marked or timed. Now click on the "Go to First Example" button below to begin. Click on the radio button next to your answer to answer it. You can change your answer by clicking on another button.You can also go back to the previous question, by clicking on the previous question button. If you are certain you have finished the test you can click on "Get Your Score".
As mentioned before, this test is for practice only, so you should not regard your result as of importance chiefly because the test was not taken under proper test conditions e.g. in a silent room with no disturbances. Your performance can also be distorted if you have a cold, or have not slept well. Also, evidence shows that international students or those from ethnic minorities may be disadvantaged in this type of test, due to language and cultural differences. If your first language is not English, your score is likely to be lower on such tests than native English speakers. Mature students may also sometimes be disadvantaged and you should remember that your degree subject may change your performance  for example scientists are likely to do better on mathematical tests and Humanities students on verbal tests. Even your ability to use a mouse may influence your score! Having said all this it is still natural for you to want some feedback on your performance.
Score
For more information about programming tests click on the programming tests tab on our psychometric tests page
 19 or above. This is an above average score for graduates. See our computing careers page or our computing for noncomputing graduates page. The next step might be to try some programming simulations Open.kattis.com has several of these you can try.
 13  18. This is in the average group compared to other graduates. Whilst this test is only a rough guide, if you scored in this bracket, it suggests you may not find it easy to do well in technical computing jobs such as programming and software engineering, but may be fine in less technical IT roles.
 12 or below. This is below the typical score of graduates but remember that a number of factors may have distorted your score  see above for some of these factors. You may wish to discuss your results with a careers adviser. See our page on ways to improve your computing skills
Answers
Question  Answers 
Example answers plus working 

1  4  Grace thought of a number, added 7, multiplied by 3, took away 5 and divided by 4 to give an answer of 7. What was the starting number? 

2  10 


3  None of these  Multiply A1 by B2. Put the answer in E1. 

Question  Answers 
Test answers plus working 

1  2  Above are 6 rows containing two identical sets of characters, but in one row, one character in the two sets is different. Which row has the difference? 2) iqtgiwegasdio iqtgiyegasdio These first three questions involve basic syntax checking. 

2  5  Above are 6 rows containing two identical sets of characters, but in one row, one character in the two sets is different. Which row has the difference? 5) dsNvn(Pos\o;l\md;) dsNvn(Pos\e;l\md;) 

3  6  Above are 6 rows containing two identical sets of characters, but in one row, one character in the two sets is different. Which row has the difference? 6) ladnl:vdlne,842tybqi\m ladnl:avdlne;842tybqi\m 

4  3  Alan thinks of a number. He squares it, then takes away 5, next multiplies it by 4, takes away 7, divides it by 3 and finally adds 6. His answer is 9. What number did he start with? Working backwards from the answer. 9  6 = 3 x 3 = 9 +7 = 16 /4 = 4 + 5 = 9. Square root of 9 = 3 

5  150  If the hour hand of a clock is turned anticlockwise from 2 pm to 9 am, through how many degrees will it have turned? The clock hand moves through 5 hours. Each hour division subtends 30 degrees (360 / 12). Therefore the hand will have turned 5 x 30 degrees = 150 degrees in total. 

6  63% 
What percentage of this shape is blue (to nearest percent)? 

7  6  If ADD = 9, BAD = 7 and CAD = 8 what is the value of ADA? 

8  40  If BAD = 10, DAC = 11, and CGI = 22 what is the value of OCCAM? 

9  40  If DATA = 52, CACHE = 40 and BIT = 62. What is the value of BABBAGE? Here each letter has double the value of its place in the alphabet. So A = 2, B= 4 and so forth. So BABBAGE = 4 + 2 + 4 + 4 + 2 + 14 + 10 = 40 

10  NW  You are facing North. Turn 90 degrees left = W 

11  bykR  Flight tickets for an airline are coded as follows: UK Destinations are coded A, Flights to Europe are coded B, Asian Destinations C, and the Americas D. If a flight takes place between 10 pm and 6 am the same code are used but with lower case letters (a,b,c, and d) Male passengers are coded X and female passengers are coded Y. Children are coded by the same letters in lower case (x.y) Meals are coded as follows: European meal G, Asian Meal H, Vegetarian Meal K. Children's meals coded by the same letters in lower case (g,h,k) First Class passengers are coded P, Business Class Q and economy R What would the code be for a flight to Paris at 5am for a vegetarian 8 year old girl travelling economy class? European Flight before 6 am = b. Female child = y, Vegetarian children's meal = k, Economy class= R Therefore code is bykR 

12  D,HP,V  Three computers were lined up in a row. The Dell was to the left of the Viglen but not necessarily next to it. The blue computer was to the right of the white computer. The black computer was to the left of the Hewlett Packard PC. The Hewlett Packard was to the left of the Viglen.


13  27  Tim was given a large bag of sweets and ate one third of the sweets before stopping as he was feeling sick. The next day he ate one third of the remaining sweets and the following day he ate one third of the remainder, before counting the sweets he had left which totaled eight. How many sweets was he given in the beginning? 

14  21  In a counting system used by intelligent apes. A banana = 1 6 is represented by an orange and 2 bananas An orange is worth half a mango What is the value of two mangos, an orange and a banana? Banana = 1 orange = 4 mango = 8 8 + 8 + 4 + 1 = 21 

15  Orange  What is two mangos and an orange, divided by an orange with a banana? An orange (8 + 8 + 4) / (4 + 1) = 4 = orange 

16  DCUKE  If the code for JAVA is LCXC what is the code for BASIC? 

17  None of these  If the code for FORTRAN is GMUPWUU what is the code for PASCAL? 

18  TUU  If the code for PHP is QLY. What is the code for SQL ? Here the change is +1, +4, +9 (square numbers) So applying the same process to SQL we get TUU 

19  7 
You start in square E6 facing East. Move 3 squares forward = H6 

20  H  You start in square E6 facing South West. Move three squares forward = B3 Facing SW 

21  135  What is the angle between the hands of a clock at 10.30? The minute hand will be at 6 o'clock = 180 degrees The hour hand will be half way between 10 and 11 o'clock. Each hour subtends 30 degrees so the hour hand will be at 30 x 10.5 degrees = 315 degrees. So the difference between the two hands is 315  180 = 135 degrees. 

22  58%  In a chocolate factory, a machine takes a 1 kg block of chocolate. It then divides this into rectangles each weighing 10g. These rectangles are then stamped into disks of chocolate each weighing 6g with the remaining chocolate discarded. These chocolate disks are then packed into bags of 4 which are sealed and finally packed into boxes, each containing 6 bags ready for dispatch to the shops. What weight of chocolate out of the original kilogram will be contained in COMPLETELY FILLED boxes (i.e. those containing a full 6 bags)? 1000 g of chocolate is made into 100 rectangles of chocolate each weighting 10g. These are then stamped into 100 disks of 6g each. 4 disks are packed into each bag and then 6 bags are placed into each box. Therefore there are 24 disks in each box. As there are 100 disks in total produced from the 1 Kg of chocolate, there will therefore be four boxes with 4 disks left over. These 4 boxes contain 96 disks each weighing 6g. So the total weight of chocolate in the boxes will be 96 x 6g = 576g. Converting to a percentage: 576/1000 X 100 = 57.6% which rounds to 58% 

23  26 
What is A4 multiplied by D3 divided by C2? 

24  None of these  Store the answer to B4 plus A2 in F1. Store the answer to A4 minus D2 in F3. Multiply F1 by F3. What is the final answer? 

25  405  STEP 1: Multiply C3 by D4 and store the result in F4 STEP 2: Multiply F4 by 3 then add 1 to E3. STEP 3: Repeat STEP 2 until the value of E3 equals 3 then stop. What is the value of F4? STEP 1: 5 x 3 = 15 = F4 STEP 2: 15 x 3 = F4 = 45 & E3 = 1. STEP 3: 45 x 3 = 135 & E3 = 2. 135 x 3 = 405 & E3 = 3. STOP. F4 now equals 405 

26  83  Add A1 + B3 + C4 + D2 and put the result in E2. Add A3 + B1 + C2 + D4 and place the result in E4. If the value of E4 is larger than E2 swop their contents, otherwise leave them as they are. Multiply E2 by D1, then take away A4 and place the result in F2. What is the value of F2? 
Back to our main Aptitude Tests page