Date | November 2021 | Marks available | 2 | Reference code | 21N.1.SL.TZ0.5 |
Level | SL | Paper | 1 | Time zone | no time zone |
Command term | Outline | Question number | 5 | Adapted from | N/A |
Question
A group of programmers are involved in creating a new software product. They create many new sub-programs but also use existing sub-programs within the product.
Outline why a sub-program is considered an example of abstraction.
Evaluate the use of designing and developing different parts of software products concurrently.
Outline one way in which users can be informed of software updates.
Markscheme
Award [2 max]
A sub-program is a named section of code that performs a specific task (in a program) / can be called by name / referred by the identifier when needed;
without knowing the details (of code and data structures) as these are wrapped / hidden within the sub-program;
Award [3 max]
different stages (of programming) (Accept examples!) run simultaneously (rather than consecutively);
this decreases product development time / decreases the time to market;
leading to improved productivity/reduces costs;
however, it requires more resources/more software developers;
Award [2 max]
A message can be sent to the user (When the software is installed and registered, the user provides an email address / phone number);
With a link to the update;
notifications/alerts are sent to the computer (a cookie is placed on the user's computer which communicates with the software developer);
about automatic updates;
(when the program is run) it queries a URL the program developer has built in to check whether the current version matches the latest version;
if not, notifications/alerts are sent;
Examiners report
Many candidates gave answers to this question that stated benefits of sub-programs or why sub-programs may be used rather than why a sub-program is considered an example of abstraction, such as 'a sub-program is a named section of code that can be called by name to perform a specific task when needed'.
Most candidates recognized that if different parts of software were designed and developed concurrently, it means these stages would be carried out at the same time, thus decreasing product development time. Many of these candidates also offered a further expansion and achieved the third mark.
The vast majority of candidates were able to outline how users may be informed of software updates, with a high proportion of candidates achieving both marks.