How bad is Scotland's Computer Science Exam?


Oh noes! The computer science exams taken by 16 year olds may contain errors!

As a professional computerist, I was intrigued to see what our fine young minds are being tested on. My memories of "computing" at school was being taught MS Word Version 2 (yes, I am that old). So, let's take a look at the paper - and its criticisms.

The original paper is available to download as a PDF. As a small disclaimer, I've not studied for this exam, and haven't been taught in a school for many years. The answers are how I would answer - without reference to a search engine.

1 Convert the decimal value 227 into the equivalent 8-bit binary number.

Bit of a tough start! For only one point? Good to get the fundamentals in early though.

Do they have a calculator? Hmmm, my conversion is a little rusty.
It'll be 128 + 64 + 32, that gets us to 224. So add 3.

00000011
00100000
01000000
10000000
=
11100011

2 Explain why it is important that program code is readable.

Frankly, anyone who can answer this question - and then apply it to real life - is doing better than most professionals. I'm answering "It makes it easier for others to understand what you are trying to accomplish."

3 Explain why a database should not be stored in ROM memory.

I'm assuming the answer is "ROM means Read Only Memory. This means your can't update your database." Not the last "trivia" style question.

4 Give one reason of using this type of selection.

radio buttons

You can argue whether UI elements are computer "science" - but it's a fair question for a single mark. Radio buttons allow you to select one - and only one - answer from a list.

5 State the function of a processor’s registers.

Whoa! OK! Bit of a departure from the last question. Off the top of my head I'd say something like "Extremely short term memory built into the processor where numbers are directly manipulated." Is that right? Damn...

6 Anti-virus software may be included in a security suite.
State two other types of software which should be included in a security suite.

Again, computer science vs ICT raises its head. Incidentally, "Firewall" is the first thing that jumped to my head. And then... Errr... Spam filter? That feels like a weak answer.

7 Criminals can steal your identity by using keylogger programs. State two other ways in which identity theft can be carried out.

Little bit of infosec here! I'm going to say "shoulder surfing" and "Man-in-the-middle attacks".

8 A novice is one type of user of an information system. State one other type of user.

Errr.... "Expert"? Bit bemused as to why this question is here. Seems out of place with the others.

9 This code design monitors the temperature of food as it is reheated.

Line 1 RECEIVE temperature FROM (REAL) 
Line 2 WHILE temperature < 82 DO
Line 3   SEND “temperature too low: continue to reheat” TO DISPLAY
Line 4   RECEIVE temperature FROM (REAL) 
Line 5 END WHILE

Explain what will happen in lines 2 to 5 if the sensor detects 63°.

OK, so this is pseudo-code. Probably a good idea - unless the entire syllabus has standardised on a specific language.

I suppose the answer is "Because the temperature is lower than the condition, the instructions on the inner loop will be carried out. If the temperature stays at 64, the loop is never ended.

10 Lucy is looking for a summer holiday on-line. She wishes to leave on 22nd July from her local airport, and early in the afternoon.
State which database operation is being carried out as she uses the website.

I'm not sure Lucy cares about the back-end system, but let's see. As there's only one line of space, and one point, I'd answer "A search". Although perhaps "An SQL SELECT ... WHERE search" is better?

11 Translators are used to convert high level languages into machine code. Identify each type of translator.

This translator program reports errors at the end of translation.
This translator needs to be present in memory each time the program is executed.

Compiler and Run Time. Useful to know, glad to see this is being taught.

12 A running group has 16 members. They are taking part in a marathon.
Using pseudocode or a programming language of your choice, write the code which will take in each runner’s time for the marathon.

Do I get bonus points if I write this in Assembler?

This is a slightly weird question. How are the times being entered? Should there be any error checking? Should the data be stored?

Anyway

for ($x == 0; $x <= 15; $x++)
{
   $time = get_input("Please enter the runner's time");
   insert_into_database($x, $time);
}

That'll take in 16 times and do something with them.

Writing pseudocode is a useful skill. I'd like to have seen a bit more of it in this paper. Or at least on a more challenging problem.

13 Before launching the website below, it is tested. The testers complain about the effectiveness of the website’s navigation.

A screenshot of a badly designed website

Identify two examples of poor navigation, stating what could be done to improve the situation.

No worse than some of the production websites I've seen 😉 Also, no real way to know if alt tags have been used, ARIA etc.

I count...

  • Nav bar at top doesn't have understandable text. Should be in Enlish.
  • Login box doesn't say what should be entered in each field. Placeholder text should say what each field is for (username, password, pin, etc).
  • Down arrow has no context. Should have text explaining where it will take the user.
  • Radio buttons and check boxes have inconsistent designs. Make them recognisable.
  • Radio buttons and check boxes are visually indistinct. Use a unified design.

A good exercise for anyone interested in web design. Keeping a critical eye is crucial.

14 State the type of network which has no centralised storage.

Eh? What? Bit of a curve ball... Ummm.... Dare I utter the words "Blockchain"? Wait, is that technically a network? Errr... I don't know what they're getting at here. I vaguely remember network topology from university. Token Ring? Surely they're not teaching that obscure piece of tech?

I'll go out on a limb and say "Star Network". It's good to teach about different network types - but this question really needs something more to test the student's knowledge.

15 FlightCrazy is a new company offering a flight booking service to business customers. They want to set up a database to store flight details. A researcher starts to gather information from airport timetables about available flight times.

A flat file containing data about flights

Oooh! A good clutch of Database questions.

(a) If the full database is created as a flat file, explain why “RouteID” is not a suitable primary key for the table.

Primary keys should be unique.

(b) Describe two problems in creating this as a flat file database.

Hmmm... Are they asking for problems with flat files specifically or in the way this has been created?

I'll punt with "Flat files can't be optimised for searching". And inconsistencies in naming - for example "Monday" and "Mon".

(c) FlightCrazy decide that using a flat file database is not suitable. State a more suitable type of database.

Relational? I mean, I'm guessing they don't want NoSQL?

(d) State the field type that should be used for “Aircraft Code”.

Integer... No! Wait! There are some strings in there. VARCHAR(3)? But what if later codes have more than 3 characters. Let's settle for String.

And the questions keep on coming!

(e) During the development of this database the following input form is created.

An input form with dropdowns, radio buttons, and free text fields.png

(i) State one suitable type of validation for the Departure Airport field.

I'm stumped by what they're asking here. Is it as simple as "if exists"?

(ii) Complete the table below to show suitable data values to test the Number of travellers field.

Type of test data Test data
Exceptional
Extreme

Say what now? I've never heard of exceptional and extreme data.

I assume "exceptional" means something like typing text into a numeric field.

I also assume that "extreme" means trying an SQL injection.

(f) During the testing of the completed database all the flights from Glasgow to all airports in London on the 8th June were found. The following output was produced.

Results of a database search

Describe how the above results have been sorted.

Oooh! A good one. Naively you could say "by price" - but how are the duplicate prices sorted? It's not by airline. It's not by Journey time. It's not by Destination. It looks like it's "First by price, then by time."

Might have been a good idea to ask how the SQL query should have been formed.

And that's the end of the Database section. Some fairly good questions for a 16 year old audience there. Nothing too taxing, although I'm confused by some of the terminology (which may well be my outdated learning).

Now it gets tougher!

16 A Maths game is designed for primary school pupils to test number ordering. In the game the pupil is asked to enter two integer numbers. A third integer number is then randomly generated and shown to the user.
The user must then state if the random number is:

  • lower (l) than the two entered numbers
  • higher (h) than the two entered numbers
  • in the middle (m) of the two entered numbers.

A design for the code is shown below.




SEND randNum TO DISPLAY
GET guess FROM (CHARACTER) KEYBOARD
IF guess = “l” AND randNum < numOne THEN
   SEND “Correct it is lower” TO DISPLAY
   SET score TO score + 1
END IF
IF guess = “m” AND randNum >= numOne AND randNum <= numTwo
   SEND “Correct it is in the middle” TO DISPLAY
   SET score TO score + 1
END IF
IF guess = “h” AND randNum > numTwo
   SEND “Correct it is higher” TO DISPLAY
   SET score TO score + 1
END IF

Youch! That's a lot more info than any previous question. Here we go!

(a) When the two numbers are entered the program should ensure that numTwo is always a higher number than numOne.
Using pseudocode or a programming language of your choice, write several lines to represent this input validation for line 2.

Hmmm... Are we assuming an integer, or something else?

IF (numTwo.type == number AND numTwo > numOne)
   (continue)
ELSE
   SEND "Second number is less than first number" TO DISPLAY

Is that enough?

(b) When the pupil enters their answer it is stored in a variable called “guess”. State the data type stored by the variable “guess”.

Again, tricky. I want to say take it in as a string, then turn into a float.

(c) The program is run with the following data. State the output from the program.

Variables Values
numOne 7
numTwo 15
randNum 10
guess m

Correct. 10 is between both. Useful to see if people can step through program code.

(d) The program will have to make use of a pre-defined function.
State the pre-defined function used and describe its purpose.

The only thing I can think of is the random number generator. Am I missing something? Would we count comparison operators? Probably not.

(e) Using line numbers, describe how the code could be adapted, allowing the user to play the game 10 times using the same values for numOne and numTwo but a different random number each time.

Well, between line 2 and 3 we want to insert a WHILE loop which counts up from 0. And an incrementing counter at the end.

17 John has been asked to design a website to promote an event being held to raise money for charity.
The organisers of the event provide this diagram showing the pages required and how they should be organised.

A tree diagram of a website

(a) What type of navigation structure is required for the website?

Tree. I think... I've never really had to think about it.

(b) State a design notation that John could use to design the layout of the pages.

I'd usually just use path-names. Is it that simple? Or do they mean a notation like UML?

(c) The homepage contains hyperlinks. Describe the function of a hyperlink.

A communist plot by TIMBL to enslave the western world!

To be fair, you could write a decent essay on all the uses of a link - semantics, usability, data structures. But as this is a one-point question, I think they just mean "to allow a user to easily navigate to another web destination."

(d) John begins to build the website and stores all the files and resources on his hard disk. Here is the file structure for the website.

A screenshot of a computer folder structure

(i) State the type of data you would expect to be stored in the dance.avi file.

Bah! I hate these style of question. Besides, .AVI is such an ancient format. It's a container for video and audio.

(ii) State the relative address John should enter on the display.htm page to link to dunk.gif.

resources/dunk.gif - note the lack of / at the start. I suppose an alternative might be /activities/resources/dunk.gif. Might have been a good idea to ask why /resources.. wouldn't work.

(e) John wants to include an external link to the charity and asks the event organisers to find out the URL.
(i) Explain what is meant by an external link.

A link which will navigate the user away from the domain they are currently on.

(ii) State what the letters URL stand for.

Poor question IMO, IDK when I last needed to know what it meant.

The words "Uniform Resource Locator" is a silly phrase.

(iii) The organisers give John a photograph file from the charity which measures 5 inches by 7 inches with a resolution of 600dpi and 24-bit colour depth. Calculate the storage required for the photograph.
State your answer using appropriate units. Show all your working.

MATHS! FINALLY! Bit of a cumbersome way of phrasing it, but let's give it a go.

Total number of pixels = (5*600)*(7*600) = 12,600,000 pixels.

Total number of bits = 12600000*24 = 302,400,000 bits.

Bytes = 302400000 / 8 = 37,800,000B

KB = 37800000 / 1024 = 36914KB

MB = 36914 / 1024 = 36MB

I'd expect to see something here about lossy vs lossless encoding. Or why this filesize is problematic for use on the web.

18 A software development company decide to review staff knowledge of computer related legislation.
Mikal is asked to create an app covering a range of legal issues.
(a) When Mikal records an introduction using audio software, he is prompted to select the sample rate.
Select sampling rate:

  • 22050 Hz
  • 44100 Hz
  • 96000 Hz

    (i) Describe the effect on the size of the sound file if the highest sample rate is selected.

I've no idea what this has to do with legal issues. The higher the sample rate the larger the file.

(ii) After recording, Mikal exports the file as a compressed file. State a suitable standard file format he may have used.

I'd write .MP3 on here - I'd be worried that they wouldn't know what FLAC, OGG, or any other esoteric codec was.

(b) Mikal develops an interactive quiz for the app to test the staff’s knowledge of legislation. The first question is about this recent article from a newspaper.
News article about an office worker using another employee's password without permission
(i) State the offence that has been committed under the Computer Misuse Act in this article.

OK! Now this is a legal issue! But which specific offence? I've no idea. I'm guessing "Unlawful access" - which is a bit question begging. I hope they're not looking for the exact reference!

(ii) Describe another offence under the terms of this Act.

Proper little Wikileaks going on here. This is taxing my knowledge. My first thought is "changing data without permission" - but that's too similar to the above. I'll go with "intentionally disrupting the performance of a computer without permission" - for example sending a DDoS.

I love that kids are being taught about the law. Excellent idea.

(c) The next question that Mikal creates for the quiz is about another article.
"A man was arrested after he cloned his neighbour's phone."
Name the law which may have been broken in this case.

WTF? OK, learning the law is good - but this isn't computer science. I've zero idea which specific law is broken.

(d) In line with Health and Safety legislation, the company provides adjustable seating and guidelines on maintaining good posture.
Mikal finds graphics on a website that he can use to illustrate his next quiz question.
(i) Explain why he might need to seek permission to use the graphics legally.

Actually, talking about posture might be good on a CS exam. Physical issues are a real pain to deal with.

Anyway, let's go with "The copyright owner of the image may sue for misuse of their intellectual property." Incidentally, I hope my critique of this paper falls under fair use!

(ii) Mikal uses the graphics to create question 3 for the app.
Question: 3 Total Score: 2

Using pseudocode or a programming language of your choice, write
the code to show how the total score is calculated when the user answers question 3 correctly.

Errrr.... This is one of those questions that people complained about. How many points is each correct answer worth?

$answer3 = get_input();
if ($answer3 == "A")
   score++

(e) When the staff member takes the finished quiz, the app sends their details and their total score to a database file.
State two rights that the staff member has under the Data Protection Act with regard to their own data.

Another rapid switch! I mean, it is great that the DPA is being mentioned, but a bit weird to do it here.

I'm going with "Right to examine the data held about them" and "Right to correct any mistakes."

Blimey! Still not at the end of the paper. I'm not sure I'd have got this far in the allotted 90 minutes.

WARNING This is one of the questions which attracted a lot of complaints. See if you can work out why!

19 Gillian designs a program to calculate how much it costs to get her dog Penny groomed. The design is shown below.

SET total = 0
DECLARE all costs INITIALLY [35.00, 36.00, 40.00,35.00,42.50]
FOR EACH cost FROM all costs DUE
   SET total=total+cost
END FOR EACH
SEND “The total cost = £“&total TO DISPLAY

OK, that program is a bit weird - but it is pseudocode, we don't expect syntactic brilliance.

(a) Describe the data structure that has been used to store the individual costs.

It's an array.

(b) Gillian writes and tests her program. It works perfectly calculating a correct total of 188.50.
(i) With reference to line numbers, explain how the program calculates the final total.

Line 1 initialises a variable and sets it to zero.
Line 3 loops through the array of costs and adds each to the variable.

There are three points available, so I think I've missed something.

(ii) Describe how the contents of the variable total would be stored in the computer’s memory.

WHAT? I don't care! I'll let the compiler take care of that. It is good to get some low-level stuff in the exam. For two points, I'm guessing... "A block of memory of a specific size is reserved for the variable."

(iii) Gillian edits the program with the following data:

[35.00,36.00,40.00,35.00,42.50,45.00]

The output is still 188.50.
A Explain why the output is still 188.50.
B State how this error could be corrected.

Debugging is a vital skill - but I really can't see what's going wrong here. Perhaps DUE should be DO? I don't know.

(c) Concatenation has been used in line 6. State the purpose of concatenation.

It... it sticks strings together...? Err... Let's try "It allows a variable to inserted into a string which can then be displayed."

20 Sue uses a website called “Check your Defences!” to learn more about keeping her computer and data safe.
Internet Explorer 6 showing a poorly designed website

aside I totally love the retro browser screenshot!

(a) Explain the purpose of a firewall.

Keep the Wildlings out of King's Landing? No! That's an ice wall.

A firewall detects whether a connection to or from the network is authorised.

(b) Explain how encryption can help keep data safe.

More Wikileaks! Encryption ensures that only people with the decryption key will be able to view the data. Modern encryption is resistant to brute-force attacks.

I'd have expected a bit more of a technical question - this seems rather basic.

When Sue tries to download the mobile app onto her tablet PC, she gets the following message:
"This app is incompatible with your device - Check your Defences!
System requirements Android 4∙4 or higher, 1∙6 Ghz, 2Gb RAM, 32Gb"

(Gb? Gigabits? A genuine mistake, or designed to trip us up.)

She checks the specification for her tablet PC.

  • Size: 267 x 187 x 8 mm
  • Weight: 65 kg
  • 1∙83Ghz/2GB RAM/16GB
  • Battery life: up to 8 hours
  • Display: 8∙3” full HD, 10 point multi-touch
  • Operating system: Android 4∙1
  • USB 3, micro HDMI, microSD card slot 3∙5 MP camera
  • Microphone
  • Stereo speakers
  • Headphone jack
  • Wi-Fi

(WHOA! A 65KG tablet. Not exactly portable!)

(c) (i) Sue’s tablet has a range of input and output devices. Identify one of each of these items on Sue’s tablet.

Inputs could be the touch screen, the camera, the mic. Theoretically you could transmit some data back via HDMI, but I would class that as a "showing off" answer.
Outputs are the display, the speakers, the headphone jack.

This is back to the basic ICT questions which I hoped we'd left behind. Not very encouraging.

(ii) Identify one interface type on Sue’s tablet.

Again, I'm left in confusion as to what's being asked here. The Universal Serial Bus is an interface - but so is the touch screen...

(iii) Describe one function of an interface.

What? This seems poorly worded. I think they want me to say "To allow data to be exchanged from one device to another."

(iv) Give two reasons why the app is incompatible with Sue’s tablet PC.

Her tablet has a lower version of the operating system.
I assume that the 32Gb on the requirements means storage space - but her tablet has 16GB. To my mind sixteen gigabytes is a lot more than 32 gigabits... But I think I'd take a punt and assume there's a mistake in the question.

(d) Sue’s friend Jack views the website on his smart phone but the home screen looks different to the desktop version Sue had been using.

Describe one reason why the user interface on the smartphone version is designed differently to the version Sue had used on her desktop.

There's only one point on offer here. Pity, this would be an excellent chance to write about progressive enhancement, media queries, responsive design.

I'll stick with "Mobile users interact using a finger, this is a less precise interaction than using a mouse, so link targets should be bigger."

LAST QUESTION ALERT!

21 A software developer is creating an online booking system for a bowling alley. Customers can book a bowling lane for a maximum of 4 people playing a maximum of 3 games.
The developer has used a flow chart to produce the program design. Part of the design is shown below.

a) (i) State one benefit of using the design notation shown above instead of pseudocode.

Flowcharts! Yay! I might be going delirious at this point...

"Flowcharts allow people to easily visualise how a program works and, hopefully, spot any mistakes."

(ii) Name the algorithm illustrated in the bowling alley program design.

Grrr... More trivia! And, frankly, it is hardly an algorithm. Frankly, I've no idea what they want as an answer. Nor why it is relevant.

Using pseudocode or a programming language of your choice, complete the conditional statement at Line 3 below to implement this section of the design.

__________  numPlayers __________  and numGames  _______
SEND “Booking Accepted” TO DISPLAY

This is VERY CONFUSING!

Perhaps IF numbPlayers <= 4 and numGames <= 3?

(c) The program is tested using a set of test data.
(i) Complete the table below to show three examples of test data types and the expected result for each type.

Test data Test data type Expected Result
numPlayers = 3
numGames = 2
Normal Booking accepted
numPlayers = 4
numGames = 3
____ Booking accepted
numPlayers = 6
numGames = 3
____ ____

ARGH! Back to testing. I mean, yay testing, but what are the test data types again? Extreme and Abnormal?

The last one has a result of Booking rejected. But I've no idea what the data types are. I'm guessing "normal" and "abnormal"?

(ii) The character “£” is entered as a test value for the number of players. This causes the program to crash. State the type of error that would cause this crash.

Depends on the language. I'd say "Type exception" maybe "Cast exception"?

(d) Error detection and correction in a program is easier if the code is readable. State one technique that can be used to ensure readability of code.

And we're back where we started! I'd go with "Clear variable names which don't use abbreviations." I wonder if they'd value an extended discourse on tabs vs spaces?

And Breathe!

That was a lot tougher than I expected. I wasn't doing it in exam conditions, but I felt the pressure.

The obvious mistakes didn't help my nerves but, guess what, the real world isn't perfect either. Computer Science is the art of trying to fit the messy analogue world into a pure state of binary bliss.

Conclusion

I think that's a pretty good computer science paper - especially for students who may only have studied it for a couple of years.

I think it leans slightly too far towards ICT but I'm pleased with the mentions of usability, good design, security, and the law.

There are a few "Trivia" questions. The "What is this thing called" style - I'm not a big fan of them. Far better to test the understanding of the design, not the name. Similarly, the legal questions veer into the obscure.

Some of the technology is a little out of date - but it's such a fast moving space, talking about file-formats which have only recently become popular might disadvantage people without the time to keep up.

So, are the mistakes "a disgrace"?

There should be spaces between array elements - but part of computer science is reading poorly written code.

Some of the pseudocode is typed incorrectly - but that's the nature of pseudocode.

The unit confusion is annoying, and could trip up someone with an eye for detail. That's a shame, but not a showstopper.

I'm not a teacher - and I have no idea what is on the syllabus. All that said, I've met Computer Science graduates who would struggle with some aspects of this paper.

I think us geeks often over-estimate how much we knew when we were kids. When I was 16, I thought I was 1337 (back when that meant something). I wasn't. I couldn't have passed a paper of similar complexity.

I think this represents an excellent foundation for anyone wanting to studying computing.

My Score

You can read the marking instructions online as a PDF

I scored... 59/90. Yikes!

Most of the dropped points were where I over-thought the question, and a few where I was missing basic knowledge (mantissa!). Perhaps I'd have picked up a few points if the marker knew the subject well.

Some, I just screwed up the answers. I wasn't specific enough in saying that the database results had been sorted in descending order.

Based on the published grade boundaries, I think I just about scraped an A.

How did you do?

7 thoughts on “How bad is Scotland's Computer Science Exam?

  1. MS Word V2.0? Phew! That is pretty state of the art compared to my first programming exercises at school - these were coded (in BASIC), then sent by post to County Hall where they were punched up on cards to be run on the County mainframe. We then had to wait two weeks for the printed output (and stack of cards) to be returned to school.... Ah - the pace of life was so much more dignified in those days....

  2. And - I find it totally incredible that in our connected world even basic IP networking is not included in the syllabus....

  3. Couple of notes, as requested as a comment: (I haven't read the grading paper yet).

    Question 11: Compiler and Run Time, I think they're probably looking for compiler and interpreter there.

    Question 13: the thing that stands out to me is that there are two navigation elements, one on the left, and one along the top.

    Question 14: I suspect they are looking for a peer to peer network as the answer here. It's possible they are looking for something more like a distributed network, or DHT's or something, but going with the easy simple answer, it's probably peer to peer.

    Question 15: e: i: I suspect the validation they are looking for is, is exists, is string, is in the Airports table?
    Part 2 is where it gets interesting, I've never used the term exceptional and extreme, but for this case, (input a number), i'd read exceptional to mean things like "a", i.e. totally the wrong type, and extreme to mean "9999", i.e. out of range but the right type.

    Question 16: It's asking you about line 2, so it's just a case of get number 2, and check it's greater than number 1. They've not shown any view on the type system, so I'd skip that, it's probably overthinking. The same for b, I think the data type is probably number or integer.

    Question 16: b) I think they're asking about nagivation, so the design might be a tree menu, on the left that unfolds? I'm not sure what langauge they'd use to describe that though. Tree navigation?

    Question 18 d ii) I think you are overthinking it, that question scores 2 points, so I think they are looking for score = score + 2 as psuedocode.

    Question 19: I think they are trying to understand if students understand vairables. So the extra points here are about explaining that SET total=total+cost is going to read the current total, add cost to it, and then store it back in the memory location pointed at by total.
    Part iii, I'm also totally stuck on. I thought at first it was a trick question, if she's changed the array data, after the code has run, she needs to re-run the code. That's the best I could come up with.

    Quesiton 21 c - I think the missing one is edge case here. The number of players 4, games 3, is the boundary condition, so it's one of the ones that's likely to have a bug (off by 1 errors are common). I think the number of players 6 is abnormal, but they might mean extreme, who knows.

    I'm off to read the marking criteria to work out whether I'm right as well 🙂

  4. I'd like to think I was reasonably comfortable with the law in this area but, for a number of these questions, it's not clear I would have got the mark (despite my answers being correct if the standard is "under English law" rather than "according to the marking schedule")!

    18(b)(i): most likely s1 (not clear that this would have got me the mark!)

    18(b)(iii): e.g. Unauthorised acts with intent to impair (s3), or making/supplying articles for use in a non-s2 offence (neither of which are on the list of answers, despite it being a different offence to s1, so not sure I would have got the mark)

    18(c): question is too imprecise, as there is no legal definition of "clone". If Mikal reflashed a phone with the IMEI of the target's device, he committed an offence under s1 Mobile Telephones (Re-programming) Act 2002. If it was the purposes of intercept, he may also commit an inchoate offence such as attempt, even if he never gets to carry out the interception, or if it wouldn't work.

    (I am reasonably familiar with the law in this area, but I would not have written "Communications Act" as my answer, as I can't immediately think of the offence! So I probably wouldn't have got the mark there either.)

  5. I'm a tenth grade student in India. They start teaching us computer science in 11th grade, and we are taught coding in TurboC++. That um... IDE? Compiler? Doesn't even run on modern operating systems, we either use DOS or DOSBOX. The last stable release was in 2006, but we use the version from 1990. That's more than a quarter of a century old. That's a *loooooong* time in the tech field.

    I began coding in 6th grade because I've always be passionate about computers, but apparently I will have to use outdated standards and software for development next year, because the teachers refuse to move on to newer standards. This is why if we ever need help for coding and robotics competitions, we cannot rely on our teachers to help us. This is also why students from India hardly ever win international coding competitions... What we're taught isn't even valid code now-a-days. A few days ago, a senior of mine invited a person who works at an organisation which promotes online programming competitions. When he came, he told our teachers to switch to newer standards, but our teachers did nothing because they couldn't be bothered to make an effort.

    During examinations, we are made to write code by hand, and aren't given a computer to test our code out. I really don't think that we're ever going to face a situation in real life where we have to write code but cannot test it out first. If I use any features that were added to the C++ standard in the last 26 years, I get my answer wrong, even though the code technically works and is more efficient.
    A few days ago I tried to get my teachers to switch to DevC++, but none of my arguments worked. *They just don't care*.

    Unfortunately, the situation is not much better even at the premier computer institutes of our country. Take a look at http://stackoverflow.com/questions/1961828/why-not-to-use-turbo-c - That question was asked by a student at one of the top universities in our country.

    At least the students in the rest of the world are taught *something*...

  6. @Rahul. Lol I faced the same situation a few years ago. Oftentimes during exams, we were tasked to code a program on a sheet of paper and it was hard considering that if you miss a few semicolons or what and the program wouldn't run. It isn't realistic knowing that it's impossible to face that kind of situation knowing that after coding a program, we usually test it out first to find errors.

Leave a Reply

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