2017 Higher paper thoughts

  • Mr David Alford

    Hi folks,

    Just wondering what the reaction was to this years Higher paper? I thought it was tough but fair, a lot of the content that came up was content that I had recently revised with my pupils so I’m hoping they’ve lived up to their potential


    Michael Penny

    Thought that question 1 was rather poorly worded. Do they want how many numbers could be represented or the lowest and highest numbers possible?

    12 (b) was tricky and took 3 of us 5 mins to spot why the function would return an incorrect value.

    Alasdair Sharp

    I would agree with David on tough but fair.

    I thought the wording of question 8 would cause a bit of confusion between how a language is used (in terms of development tools) and the key features of that type of language, which is what I guess the question was after. I was also quite surprise by the amount of detail needed in question 15(b) over the cache given that it makes up such a tiny portion of the assessment spec .

    As with Michael, 12(b) took a bit of time to spot and I thought question 1 was a really mean way to start the paper (I would have gone with the upper and lower values).


    Enrico Vanni

    One cock-up in question 10(c).


    The question makes a presumption about how SQA Reference Language would handle type mismatches when Real data is assigned to an Integer variable.  No-one can say what the behaviour of the code would be as SQARL isn’t an executable language and there is no specification for it, but the question assumes a run-time error would occur and expects the candidate to accept this and say why, whereas using real world programming languages the candidates would have been  just as likely to see the program truncate the decimal part of the value and carry on (a potential logic error, but the question made no consideration for that possibility).


    Not a biggy, but still shoudn’t be happening.

    Enrico Vanni

    I have just tried out the program code from question 10(c) in Visual Basic and sure enough there’s no type mismatch reported and no runtime error.


    I’ve uploaded my work if any VB inclined folks want to check it for themselves 😉


    Other languages may behave differently, but seeing as SQARL cannot be tested to see if it actually behaves the way the questioner assumed there is enough doubt over this that IMO the markers have to give concessions to candidates who would have been confused by it.

    Mr David Alford

    In defence of the question setter, I feel the ambiguity is removed by stating that a runtime error has occurred in line 6 – candidates are not asked the type of error or where to find it, so I feel they should be able to use the information provided and their problem solving abilities / understanding code skills to reach the answer.


    Would such a scenario not be a compile time error? If the expression is capable of producing a real number value and then assigned to an integer the compiler would detect this. The question seems incorrect in the context of the reference language and unlikely in the experience of pupils using typical languages at higher. A confident pupil may be able to compensate by using the claims in the question. Maybe dealing with data type compatibility and explicit (and implicit) data type conversion should be considered in any updates to the higher course?

    Magnus Latona

    I thought 10(c) was a thoroughly naff question and horribly contrived. Who would put an average calculation inside the loop when it only needs to be executed once after the total has been accumulated. Oh wait …. perhaps someone who wanted to ask a dodgy question about a runtime error based on type declaration. How many schools are actually using a language which is NOT loosely typed and would generate such a runtime error. Enrico states it doesn’t cause a problem in VB and I know that Python certainly doesn’t. Surely a better question could have been asked from the scenario given. When I saw the algorithm I thought, “right now they’re gonna ask why the algorithm is not efficient”  i.e. performing the average calculation multiple times.

    And don’t even get me started on the vague question about object oriented languages – no specifics on what aspect(s) of OOLs to cover in a 2 mark answer – no context relating to why an OOL might be appropriate. CRAZY, scary and very frustrating.

    Ronnie Ross

    I didn’t like the OOP question, far too vague, it encourages people to simply regurgitate everything they know about it in the hope of hitting the right points.

    Lee Murray

    I’ve just received the paper (was away on Activities Week) and just scanning it, I have some issues:

    Q1 is amibguous, as previously mentioned.  The 2 marks implies they want a lower bound and upper bound, but still…

    Q2 is vague.  “Describe the analysis stage…” is such a poorly worded question.

    Q5: Tracking cookies are not a security risk.  At worst they are a privacy concern.

    Q8 is a horribly vague question.  “Describe how object-oriented languages are used to create software” could have so many possible correct answers that I dread to see the marking instructions.

    Q10c, I have the same concerns as others.

    Q11e, in the course assessment specification, only meta tags are mentioned in relation to search engine optimisation.  I wouldn’t expect pupils to know any other SEO techniques.

    Q11g, efficiency and loading times of web pages aren’t in the CAS.  I wouldn’t expect pupils to know this.

    Q14a, I feel like the question is implying that data stored on a public cloud is 100% secure.  It’s a bad question in my opinion.


    Everything else seemed reasonable and well worded.  I suppose 8 questions isn’t too bad compared to previous years, ha ha.


    10(c) Reference language for Computing Science question papers (September 2016, v 1.0) explicitly states Division, /, is integer division if both arguments are of type INTEGER. Therefore 41/4 = 10, no runtime error.
    Poor that this question made it through more rigorous QA. This is the cohort for whom the Nat5 question setters ignores published ref language last year.

    Line 5 could give a runtime (out of bounds) error on the 4th iteration if the actual parameter passed to calcAverage was an array of length 3.

Viewing 11 posts - 1 through 11 (of 11 total)

You must be logged in to reply to this topic.