VCE IT Lecture Notes by Mark Kelly

Software Development

VCAA Exam Post Mortem

2013

vceit.com post mortem

Post Mortem Notes

This is not a VCAA publication!
I do not speak for the VCAA, the IT examiners, or exam markers.
I was not involved in the setting or marking of this examination.
Extracts from exams are all Copyright © VCAA, and are used with permission. Thanks, VCAA!
Use these post mortems at your own risk.
I reserve the right to change my mind completely, at short notice, about anything I've said here.
Suggestions, discussions and corrections are welcome.
If any third-party copyrighted material has inadvertently been used, please let me know

Questions are in black.
My suggested answers are in blue.
My editorial ramblings about the exam are in blue italics.
Examiners' report comments are in red italics.
Purple shows the explanation of an answer.

Examiners' comments were published on 30 April 2014

warning NEW! 2013 - warning signs for badly-answered questions! warning

 

 

Other VCE IT Post Mortems to enjoy

ITA/Informatics - 2001 | 2002 | 2003 | 2004 | 2005 | 2006 | 2007 | 2008 | 2009 | 2010 | 2011 | 2012 | 2013 | 2014 | 2015 | 2016 | 2017


SD - 2006 | 2007 | 2008 | 2009 | 2010 | 2011 | 2012 | 2013 | 2014 | 2015 | 2016 | 2017

   

The Post Mortem Awards

The SCHMACKOS award is given to questions that are a complete dog's breakfast.

The Questions That Make You Sick As A Dog Award
Questions that are not totally wrong, but are just dumb, or are wrong in a way that does not jeopardise the answer.

Stamp of Approval

The Stamp of Approval for questions I like.

 

The exciting Illiteracy Award.

   

Written examination

Friday 15 November 2013

Reading time: 3.00 pm to 3:15 (15 minutes)

Writing time: 3:15 to 5:15 pm (2 hours)

Number of questions

Number of questions to be answered

Number of marks

A

20

20

20

B

6

6

20

C

15
15

60

Total 100

  • Students are permitted to bring into the examination room: pens, pencils, highlighters, erasers, sharpeners, rulers and one scientific calculator.
  • Students are NOT permitted to bring into the examination room: blank sheets of paper and/or white out liquid/tape.

Materials supplied

  • Question and answer book of 22 pages with a detachable insert containing a case study for Section C in the centrefold.
  • Answer sheet for multiple-choice questions.

Instructions

  • Remove the insert containing the case study during reading time.
  • Write your student number in the space provided above on this page.
  • Check that your name and student number as printed on your answer sheet for multiple-choice questions are correct, and sign your name in the space provided to verify this.
  • All written responses must be in English. At the end of the examination
  • Place the answer sheet for multiple-choice questions inside the front cover of this book.

Students are NOT permitted to bring mobile phones and/or any other unauthorised electronic devices into the examination room.

 

Examiners' report general comments

Students generally performed well on the multiple-choice section.
In Section B, students needed to provide detailed and accurate responses.
In Section C, it is important that responses are specifically applied to the case study.
During the examination, students should

  • use correct IT terminology
  • discuss all options when asked to justify a choice or compare one option to another
  • respond to key instructional terms in questions, such as ‘state’, ‘explain’, ‘justify’ and ‘describe’
  • re-read each question and their response to ensure that the question has been answered
  • remove the case study insert and refer to it when completing Section C
  • read the case study and questions carefully, and underline or highlight keywords
  • endeavour to write clearly and write in pen, rather than pencil
  • demonstrate their knowledge of the subject and apply that knowledge to the case study, as general responses often result in low or no marks; knowledgeable, clear and appropriate responses receive full marks.

SECTION A - Multiple-choice questions

Instructions for Section A

Answer all questions in pencil on the answer sheet provided for multiple-choice questions.
Choose the response that is correct or that best answers the question.
A correct answer scores 1, an incorrect answer scores 0.
Marks will not be deducted for incorrect answers.
No marks will be given if more than one Answer is completed for any question

Question 1

Question 1

In data flow diagrams, various symbols are used to represent different features.
Which one of the following is the symbol for a data store?

A1

Answer is D.
(A) is an external entity.
(B) is a data flow.
(C) is a process.

82% of the state got this right.
Most of the wrong answers were A.

Question 2

Question 2

A software project has been completed and the software solution has been running successfully for a few months. Simon is collecting all the documentation that was created during the project. In one of the documents he notices this statement: 'When executed, the program must occupy no more than 10 MB of main memory.'
During which stage of the problem-solving methodology was this statement most probably written?
A. design
B. analysis
C. evaluation
D. development

Answer is B. It's a (non-functional) solution requirement, and these are determined during analysis.

Note: I've been asked whether it might be an evaluation criterion, which would be determined during design. If it were, it would be evaluated over time after implementation (as reliability or profitability would be), which does not seem to fit in this case. The question stresses that the statement was found after implementation, but that does not mean it was written about evaluation - it could easily have been written during analysis or design.

A wise teacher, has suggested that the statement is a technical constraint and not a solution requirement nor an evaluation criterion, which sounds right to me. Peter deserves a virtual Schmacko.
In either case, the answer to A2 is still B.

Interesting question: how do you tell the difference between a solution's non-functional requirement (e.g. 'it must be easy to use') and a solution's evaluation criterion (e.g. 'it must be easy to use') ?

Could the statement have been written during either analysis or design, for different reasons?

50% of the state got this right.
32% chose A.

Question 3

Question 3

Frank rings his computer-repair person. He explains, 'I'd just finished using a new application program that I downloaded from the internet and my computer suddenly went crazy. I shut my computer down and, when I restarted it, I noticed that all my photos had been deleted'.
Based on his explanation, Frank has most likely fallen victim to
A. spyware.
B. a Trojan.
C. a hard-disk failure.
D. poor programming.

Answer is B. A Trojan is malicious software which could likely damage files, amongst other undesirable actions.
Spyware monitors a user's actions but is not designed to do damage.
A hard disk failure would not selectively delete files of one type (photos, for example).
Poor programming might cause a crash, but is unlikely to also happen to also delete every file of one type.

86% of the state got this right.

Question 4

Question 4

A program contains an object called person. The following line of code appears in the program.

person.clearAll

It causes all the data held by the object to be cleared.
The part of the code after the point, clearAll, is most commonly called a
A. control structure.
B. sequence.
C. method.
D. loop.

Answer is C. It's an action that can be applied to an object.

The expression in the line "The part of the code after the point, clearAll, is most commonly called a" is VERY confusing. Why not say, "The part of the code after the word 'person' is..." ?
And most kids nowadays would call it a 'dot', not a point.

Bad expression!

50% of the state got this right.
Wrong answers were evenly split between A and B.

Question 5

Question 5

 
 
 
 
 

A program contains a data structure that can be visualised as shown in the diagram above. The program enters the values 5, 9, 11, 12 into the data structure in that order. Later, the values are read from the data structure in this order: 12, 11, 9, 5.
The data structure is
A. a stack.
B. a queue.
C. an integer.
D. a 2-D array.

Answer is A. A stack returns values in the reverse order in which they were entered. (First in last out).
A queue would return values in the same order in which they were entered (First in first out - a special form of stack).
An integer is a data type, not a data structure.
It can't be a 2-D array because it's obviously only one-dimensional.

82% of the state got this right.
Nearly everyone else chose B .

Question 6

Question 6

A dictionary of computer terminology for secondary students has the following definition.
'A system that uses internet protocols to allow the sharing of information across an organisation's local area network. Usually only accessible from a computer within the local area network, it can be protected from unauthorised external access through the use of a network gateway or firewall.'
This is a definition for
A. an intranet.
B. the internet.
C. a virtual private network.
D. an organisation's website.

Answer is A. An intranet is a closed, private system using HTTP and TCP/IP to share data across a LAN.
It won't be (C) because it does not refer to authorised external access.
Their website would be open and very publicly visible, not constrained to their LAN.

76% of the state got this right
Most of the others chose A .

 

Use the following information to answer Questions 7 and 8.

Freya is writing a short program to calculate the circumference of a large number of circles. She knows the formula is C = 2 Pi r, where C is the circumference of the circle and r is the radius of the circle. She decides to name Pi as myPi and set Pi = 3.14, and use the variable names Circum for C and Rad for r.

A7-A8

Question 7

Question 7

For the program to be useful in all circumstances, Freya must ensure that the program treats
A. Rad as an integer and Circum as an integer.
B. Rad as an integer and Circum as a floating point number.
C. Rad as a floating point number and Circum as an integer.
D. Rad as a floating point number and Circum as a floating point number.

Answer is D. Since either number could contain fractional parts, both need to be floating point.

Instead of Pi, shouldn't she set myPi to 3.14 - after all, how can you set a constant, universal value Pi (Pi) to 3.14, unless Freya lived in Indiana, USA??

Or is this meant to be an error by Freya rather than by the examiners?

74% of the state got this right.

Question 8

warning

Question 8

Freya's program will read values for the radius from a file. It will write the answers to another file. Which one of the following algorithms appears to be the most efficient?

A.
While not end of file
     Read Rad from file
    myPi Assignment symbol 3.14
    Circum Assignment symbol 2 × myPi × Rad
    Write Circum to newFile
EndWhile

B.
myPi Assignment symbol 3.14
While not end of file
    Read Rad from file
    Circum Assignment symbol 2 × myPi × Rad
    Write Circum to newFile
EndWhile

C.
While not end of file
    Read Rad from file
    my2Pi Assignment symbol 6.28
    Circum Assignment symbol my2Pi × Rad
    Write Circum to newFile
EndWhile
D.
my2Pi Assignment symbol 6.28
While not end of file
    Read Rad from file
    Circum Assignment symbol my2Pi × Rad
    Write Circum to newFile
EndWhile

Answer is D.

This is a cunning question. I like it. Many smartypants out there might have seen (B) and gone "Bingo!" and leapt to the next question, thinking "What's this "6.28" rot going on in the other options?"

While all of the options would work, the best answer comes down to efficiency.

(A) is the least efficient since it contains an invariant statement - it repetitively assigns the same value to myPi on every loop even though the value never needs to change.
(B) is better, because it moves the invariant statement outside the loop so it is evaluated only once for the entire run of the program.
But if you look closely, there is yet another invariant statement - 2 * myPi in (A) and (B). That could be removed from the loop as well, saving one more unnecessary operation.
(C) shares the same efficiency problem as (A), so exclude that.
That leaves (D) - the most efficient (but slightly harder to read) alternative.

This dilemma between choosing tight code or readability has been with programmers for years. One strategy is to use simpler, verbose code while debugging, then optimise the code after it's working. The C family has often been criticised for the impenetrable nature of its code when its really tightly optimised.

Stamp of Approval

31% of the state got this right!
41% wrongly chose B and 20% chose A.

Question 9

warning

Question 9

Fast Ethernet is a local area networking technology. One of the standards it is based on is known as 100BASE-T, which specifies a 100 megabits per second transmission rate using multi-level signal encoding over a twisted pair cable.
From this description, which layer of the Open Systems Interconnections (OSI) model does 100BASE-T deal with?
A. the network layer
B. the data link layer
C. the physical layer
D. the transport layer

Answer is C. The study design says that the physical layer is really the only one you need to know, so the examiners will be unlikely to present a really specific question on any other OSI layer.

42% of the state got this right.

Question 10

Question 10

John is using a text editor to help write his program. A text editor is an example of a
A. file.
B. utility.
C. compiler.
D. programming language.

Answer is B.

A nice easy question for the kids who would soon be drawing pictures of Megadeth or pussy cats in the margins of their incomplete exam answer booklets.

A utility is an assistant program that helps with programming. Most programming environments are IDE (Integrated Development Environments) where the editor is built in with the compiler, linker and debugger as a unified whole.

75% of the state got this right.

Question 11

Question 11

The charts below provide some comparisons between wired and wireless networks.
a11

In the diagram
A. label (1) should read 'wired network' and label (3) should read 'wireless network'.
B. label (2) should read 'wired network' and label (4) should read 'wireless network'.
C. label (1) should read 'wired network' and label (4) should read 'wireless network'.
D. label (2) should read 'wired network' and label (3) should read 'wireless network'.

Answer is C. You are asked to judge 3 criteria: speed, mobility and reliability.

Wired networks will have higher speed than wireless, so eliminate options (B) and (D). Quick and easy.
Wireless is more mobile but less reliable than wired, so label 4 will be wireless, giving option (C).

Another nice, novel question. It's good to see some creative questioning.

Stamp of Approval

85% of the state got this right.

Question 12

Question 12

Pseudocode is used to represent
A. a set of logical steps for analysing a program.
B. a sequence of logical steps for solving a problem.
C. a sequence of steps for developing a programming language.
D. a set of program instructions written in a specific programming language that solves a problem.

Answer is B.
Pseudocode is not used during analysis (A).
It is used to solve problems in program logic. (B)
It would be occasionally used during the development of a new programming language (C), but that case would be pretty rare compared to the its use during the development of other programs.
It is definitely not the same as coding in a specific language. (D). Pseudocode is meant to be a universal, language-independent tool for logic design. It does use common constructs like LOOP, ENDWHILE, READ etc - but these are concepts used in all languages, although their names will vary.

55% of the state got this right.

 

Use the following information to answer Questions 13 and 14.

A company has just installed a new software solution and has provided training for its staff.
The company is also monitoring staff to see how quickly certain tasks are completed when using the new software.

Question 13

Question 13

By collecting data about how quickly certain tasks are completed, the company is evaluating
A. the efficiency and effectiveness of the solution.
B. the efficiency and effectiveness of the users.
C. the effectiveness of the software solution.
D. the efficiency of the software solution.

Answer is D. The traditional efficiency/effectiveness definition question. It wouldn't be Christmas without it.
Evaluating quickness (speed) is an efficiency criterion, so quickly eliminate all of the options referring to effectiveness. That leaves only (D).

Note: the users could be mangling every task they undertake, but the question is only concerned with how quickly they mangle them (efficiency) , not how much they mangle them (effectiveness).

80% of the state got this right.

Question 14

Question 14

Which one of the following is the best type of documentation to provide to users of this new software?
A. online help
B. an installation guide
C. internal documentation
D. network documentation

Answer is A. These questions can be difficult, since they often force students to choose between two quite appropriate forms of documentation with the silly assumption that only one could be used. This question avoids that pot hole.

Online help (A) would certainly help users.
Installation guides (B) would be for technicians, not users.
Internal documentation (C) is in source code, for the use of programmers. Users never see it.
Network documentation (D) is used by technicians to designs networks - completely irrelevant here.

67% of the state got this right.

Question 15

Question 15

A validation check used to ensure that entered data is a number is called
A. a type check.
B. a range check.
C. a character check.
D. an existence check.

Answer is A.

Thank Dog they didn't repeat what they did in the 2012 ITA paper (question A2) and call it a "a required field check," a non-standard validation term understood by no-one but the exam writer.

Well done, examiners

Pat on the back

78% of the state got this right.

Question 16

Question 16

An application is designed that will record a person's heart rate every 10 minutes and keep a record of the heart rate readings for a week. What would be the functional requirements for this software?
A. The application is reliable and stores the heart rates for a week.
B. The application records the heart rates and stores them for a week.
C. The application is easy to turn on and off, and keeps accurate readings.
D. The application records the heart rates and provides a user-friendly screen.

Answer is B.

Functional requirements are those that need to be specifically programmed into an application so it can achieve a particular task.

Non-functional requirements are qualities that the software must possess, but are not necessarily coded in. They could, for example, be achieved by effective design of an interface.

In short, remember if you can say "The program must be able to..." followed by a verb - it's a functional requirement.
If you can say, "The program must be..." followed by an adjective, it's a non-functional requirement.

In this case, reliability (A), ease of use (C), and being user friendly (D) are all non-functional requirement.

85% of the state got this right.

Question 17

Question 17

To review the security of a company's network, an IT technician could
A. install antivirus software.
B. reset all users' passwords.
C. check the network audit trails.
D. ensure the network is shut down every night.

Answer is C. Options (A) and (B) would improve security, but not review past security performance.
(D) is an odd one - workstations should be shut down at night to prevent unauthorised use, but networks (file servers, switches etc) are not shut down at night : they are securely locked away instead.

89% of the state got this right.

Question 18

Question 18

Network technicians can use error logs to measure the
A. speed of a network.
B. usability of a network.
C. reliability of a network.
D. maintainability of a network.

Answer is C.

Not a really challenging question.

81% of the state got this right.

 

Use the following information to answer Questions 19 and 20.

Jessica is setting up a home computer but, as yet, has no security measures installed. From home, she would like to securely access her files that are stored on her company's network.

Question 19

Question 19

Which one of the following provides the most secure method?
A. the company's intranet
B. a virtual private network
C. a wireless internet connection
D. a broadband internet connection

Answer is B.
We already ruled out (A) - the intranet -as a possibility in question A6.
A VPN is a secure, encrypted tunnel across the standard internet into a distant LAN.
You would need (C) or (D) to reach the company, but that would not get you into the company LAN.

79% of the state got this right.

Question 20

Question 20

Jessica will need to protect the files on her home computer. She can back up and restore her files, but is unsure of the additional security measures that she requires.
Which of the following is the best set of additional security measures for her home computer?
A. antivirus software, anti-spyware and file recovery software
B. antivirus software, a firewall and file recovery software
C. a firewall, anti-spyware and video conferencing
D. a firewall, anti-spyware and antivirus software

Answer is D.

The question says she can already back up and restore files, so she does not need (A) or (B) which have more file recovery software.
The videoconferencing software in (C) is irrelevant, and leaves her vulnerable to virus attack.
Option (D) is all about protection.

71% of the state got this right.
23% chose B
.

 

Overall for section A - a good set of questions.
It's a shame, however, that the examiners want programmers to be able change the value of Pi !

  

SECTION B - short answer questions

Instructions for Section B
Answer all questions in the spaces provided.

[x lines] indicates the number of ruled lines provided on the paper for the answers.

Question 1
(3 marks)

 

warning

Question 1 (3 marks)

The following are three structures used in programming languages. Briefly describe each.

  • selection control structure [3 lines]

This structure controls program flow, choosing which code is executed and which is skipped based on the outcome of a logical test that returns a Boolean True/False result. Typical examples are IF/THEN and SELECT CASE.

Side note: Other control structures are Iteration (looping structures such as FOR/NEXT, WHILE/WEND, REPEAT/UNTIL) and Sequence (statements executing in linear order).

  • procedure [3 lines]

A self-contained module containing a sequence of instructions that achieves a specific outcome but does not return a value.

  • function [3 lines]

A procedure that returns a value. Functions are often given input data which they use to generate their return value (e.g. the Square root function is called with a parameter, and the function returns the value of the square root of the parameter.)

Average mark: 0.7/3 (23%)

Many students had difficulty expressing the descriptions required for this question. Very few students were able to provide accurate definitions and many were superficial. Students are encouraged to keep a glossary of key terms throughout the year (in additional to the glossary in the study design), including key programming concepts.
The following is an example of a response that provided an appropriate brief description of each structure.

Selection control structure
This chooses which section of code to execute or to skip the code contained depending on whether the condition specified has been met or not.

Procedure
A procedure is a section of code which can be called repeatedly from any line of a program in order to complete certain actions.

Function
This is similar to a procedure, in that it can be called upon when required but will accept parameters when called upon and return a value when it is done.

Question 2
(3 marks)

 

warning

Question 2 (3 marks)

Complete the following algorithm so that, at its end, the variable largestAge contains the largest number in the 1-D array of integers, ages. The array contains 1000 elements and ages [ 0 ] is not used.

Begin
    largestAgeAssignment operator 0
    For i Assignment operator1 to 1000

        IF ages(i) > largestAge then
            largestAge Assignment operator ages(i)
        END IF

    EndFor
End

A fun question.
The "The array contains 1000 elements and ages [ 0 ] is not used." information in the question wasn't necessary.

Average mark: 0.6/3 (20%)

A lack of exposure to algorithm development was clear from student responses to this question. Students were either able to write a complete, accurate algorithm or struggled to identify the correct logic and the selection statement required. Students are expected to use the variables identified and include appropriate indentation.

Question 3
(4 marks)

 

warning

Question 3 (4 marks)

A software development company has just completed a software solution for the plumbing faculty of a college. The software will randomly generate sets of multiple-choice questions that will test students on various parts of a plumbing course. The software will be able to assess the test and provide immediate results to the students and their teachers.

a. What is acceptance testing and who should be involved in the acceptance testing of this software solution? 2 marks [6 lines]

Acceptance testing is when the client (or an end-user*) uses the software to determine if it meets the needs that were determined during system analysis, and to determine whether they should accept the software.
The dean of the plumbing faculty (or a plumbing teacher or plumbing student*) would be involved.

*There are different interpretations of "acceptance testing" and "user acceptance testing". Some people treat them synonymously; others use "acceptance testing" to refer to testing by the client (e.g. plumbing faculty manager), and UAT to refer to testing by a typical end-user (e.g. a plumbing student) to get a real user's perspective.

The study design (SD U4O2 KK07 - page 47) itself includes key knowledge of "criteria and techniques for testing acceptance by users of solutions" ; in fact the design ONLY refers to "acceptance by users." This actually strongly implies that the question is about UAT (acceptance by typical users) rather than acceptance by the purchaser of the software (e.g. the plumbing faculty's boss.)

I hope the markers are aware of this greyness of definitions. The Real World™ stubbornly resists the neat categorisations that VCAA loves so much. I will be on my Very High Horse if the examiner's report does not accept UAT.

Average mark: 1.0/4 (25%)

Acceptance testing is conducted during development to determine if the solution requirements (functional and non-functional) as specified in the software requirements specification (SRS) have been met. It is usually conducted by members of the organisation who commissioned the solution.
In a question of this type it is important that students identify the two parts of the question, first the ‘what’ and then the ‘who’; both needed to be addressed to gain the two marks for the question. Many students did not answer both parts of this question. Students are encouraged to clearly show their knowledge, which can be done by answering each part as a separate statement; for example, by defining acceptance testing in detail then describing who in this scenario would be involved in testing the solution.

The following is an example of a high-scoring response.

Acceptance testing is where you get the client/users of the software solution to use the software developed and make sure it fulfils all their needs and the requirements specified in the SRS. In this case the students and teachers from the plumbing faculty college would be involved in the testing.

b. Suggest two specific evaluation criteria to measure the effectiveness of this solution for the plumbing faculty. 2 marks [6 lines]

  • accuracy of assessments
  • the degree of randomness of the questions.
  • readability of the questions.
  • accessibility for students with disabilities.
  • usability

Note: I orignally included 'speed' since the case study did stress "immediate results", but then re-read the question and remembered the "effectiveness" criterion! 'Ease of use' is also (according to VCAA) an effectiveness measure.

Teacher Peter has pointed out that "timeliness" might suit here, since it's listed in the glossary as an effectiveness measure. The dividing line between efficiency's "speed" and effectiveness' "timeliness" is a difficult and grey area, I'd say. Speed is very closely bound to timeliness... A very messy can of worms!

One must assume the criteria I suggested are reasonable even though the case study does not suggest any other constraints. One should avoid unrealistic speculation that is not supported by the given facts, such as "resistance to nuclear attack."

The software would not "assess the test" - this would mean determining if the test were good or not. It would assess the student's answers.

Average mark: 1.2/2 (60%)

Measures of an effective solution include completeness, readability, attractiveness, clarity, accuracy, accessibility, timeliness, communication of message, relevance and usability.
Evaluation criteria are developed during design and reflect the solution requirements. This question required students to suggest appropriate effectiveness criteria; however, many students missed this keyword. Effectiveness and efficiency are keywords defined in the study design glossary and students should be able to apply them as appropriate throughout their responses.
Some student examples of possible evaluation criteria are listed below, in a number of formats; questions, statements and identification of measure. All of these were acceptable.

Does the software solution provide 100% accurate test results to the students and teachers?
Does the software solution provide test results in a form that is relevant and complete?
Is the user interface easy to understand?
Is the solution clear and well explained?
Does it use the correct plumbing language?
Results of the test are given accurately after the completion of the test.
Accuracy – the solution’s results must be correct i.e. returning the correct number of marks that each student received.
Completeness – the information that is returned to the students and teachers should be able to return all information i.e. their mark, which ones were incorrect etc.

Question 4
(4 marks)

Question 4 (4 marks)

A personnel file is being created. The table below shows some of the fields that are required in each record. From the list of data types, select the most appropriate type for each field.
Data types: integer, floating point number, Boolean, character, string

Data

Use

Data type

GivenName

to store the given name

String.

Status

F for full-time employee or P for part-time employee or V for volunteer

Character.

FirstAid

Do they have first-aid qualifications?
True or false?

Boolean.

HomePhoneNumber

stored in the form
(09) 9999 9999

String.

Note: phone numbers are always stored as string, to allow the inclusion of parentheses, leading zeroes, spaces etc.

Average mark: 3.2/4 (75%)

All possible data types were listed in the question. The most common error was HomePhoneNumber, with many students indicating that it should be integer or floating point. It is important that all information provided is considered when making a decision on data type; for example, the table indicated how HomePhoneNumber would be stored, with spaces and brackets, which could only occur if a string data type is used.

Question 5
(2 marks)

 

warning

Question 5 (2 marks)

When discussing the storage of data, people often use the terms 'records' and 'files'.

a. What is a record? 1 mark [4 lines]

A pre-defined group of fields forming a fixed-length, complete description of an item. The fields are often different data types. An example is firstname, lastname, date of birth, married?, shoe size.

Average mark: 0.3/1 (33%)

The following are examples of appropriate student responses.

A record is a control structure and method of storing and grouping related data together: eg ID 001, Name Fred, LastName Jones. This data is a record as it is relevant to each other and stored together.
A record is a data structure which stores related information such as name, score, year in one data store. Individual data stored in a record can be accessed through an index to find the related information within that record.

b. What is a file? 1 mark [4 lines]

A collection of binary records (a random file) or variable-length plain text data (a sequential file, often comma-separated CSV) stored on disk in a single object.

Four lines of writing for 1 mark? Whoa!

Average mark: 0.3/1 (33%)

The following are examples of appropriate student responses.

A file is a type of data structure which stores data or information on a storage medium. A file may contain a set of records and a file may be accessed through random or serial access.
A file is an external storage of data for a solution which can be created by the solution and read back into at a later date.

As with Question 1, students often struggled to provide a clear and technically accurate definition of a record and a file. Students should have used these during their programming area of study; however, they also need to be able to show their understanding in written form.

Question 6
(4 marks)

Question 6 (4 marks)

An organisation publishes a monthly journal that it sells online to its members.
The following use case diagram shows the organisation's online purchasing system.

UCD

a. What does the diagram suggest that any visitor to the website can do? 1 mark [1 line]

Join the organisation.

Note: It does not include 'Browse catalog' because that <<includes>> (always requires) a login.

Average mark: 0.9/1 (90%)

b. What does the diagram suggest that the manager must do before the manager is able to manage the catalog? 1 mark [1 line]

Login.

This is repeating the examination of the <<includes>> knowledge. They could have thought of something else to ask about.

Average mark: 1.0/1 (100%)

c. Describe the difference between a visitor's interaction with the 'login' use case and their interaction with the 'purchase journal' use case. 2 marks [7 lines]

The user must always login to browse the catalogue.
The journal purchase may or may not happen.

<<Extends>> arrows usually spell out - as a part of their label - the circumstances under which the extension is carried out. It's a shame the question couldn't use a classic example of an "IF..." for the <<extends>>.

Average mark: 1.4/2 (70%)

The following are examples of high-scoring student responses.

When a visitor to the website wants to browse the catalog, they are always required to ‘login’ beforehand, whereas they can choose to purchase a journal at any point they wish, though this will always be after they have completed their ‘login’ procedure.
In order for a visitor to browse the catalog, he/she MUST login. The «includes» means that it is a must be done in order to browse the catalog. If a visitor is browsing the calalog, then they have the option to purchase a journal, however it is only conditional as depicted by «extends». This means he/she does not have to purchase a journal when browsing, but has the option to do so.

It was pleasing to see that students, in general, were able to read and interpret the elements of a use case diagram.
Most understood the difference between ‘includes’ (must) and ‘extends’ (optional), but a number of students had some difficulty expressing that clearly in part c.

Section B overall - some quite good questions, but the wording of some is sloppy. It would be wise of examiners to avoid definition questions of terms that are not defined in the study design glossary, since The Real World™ rarely agrees on a single definition of an IT term.

 

Case study

CASE STUDY INSERT FOR SECTION C
Please remove from the centre of this book during reading time.

Case study

An organisation called the Protection of National Parks and Wildlife (PNPW) is responsible for monitoring the health of native animals and controlling wild animals across all national parks in Victoria. Currently this is achieved in three ways

  • a network of animal-monitoring stations located in the national parks, where park rangers monitor animal activity on a weekly basis
  • the use of aircraft to actively locate animals using heat-detection cameras in the very remote areas
  • reports from staff who work in the parks, the general public and other emergency service organisations

As a result of recent budget cuts, PNPW needs to find ways to reduce its costs. The animal-monitoring stations are important and relatively inexpensive to run. However, the use of aircraft requires the hiring of several aircraft and pilots every week.

Brenda Benbow, the manager of PNPW, has been working on a plan for using a drone (an unmanned aircraft) to monitor the native animals. This will cut down on the annual cost associated with the hiring of aircraft and pilots.

drone

She has chosen a model that can pilot itself once it has been given simple instructions. This model is fitted with a standard micro-video camera, an infra-red camera and global positioning system (GPS) technology. It also has two communication channels: a standard wireless network interface card and a radio transmitter/receiver. The radio has a range of about 50 km.

Each drone will be placed at a rural airfield. When a drone has to make a flight, it will be sent flight instructions from PNPW headquarters in Melbourne via a PNPW officer's notebook computer. The PNPW officer will then launch the drone from a car at the airfield.

data transfer

Once airborne, the drone will fly its preset patrol path. It can detect hotspots as small as 20 cm in diameter. This means that it can 'see' most wildlife. On detection of a hotspot, the drone will interrupt its preset patrol path, start monitoring the hotspot and pass control to a tablet computer at the nearest monitoring station. The drone will also transmit what it is 'seeing' to the tablet computer. The tablet will use wi-fi to communicate with the drone through the monitoring station's wi-fi router. The router uses the national park's communication system to communicate with the drone. The park rangers who are monitoring animals will then decide whether or not the picture shows an animal that requires further monitoring.

communications

Brenda has hired Drone Solutions to develop the software for the new Aerial Animal-Detection System (AADS). She has provided the company with details of the drone operation, the hardware resources contained on the drone and the requirements of the software operation. Software will have to be written for the computer at PNPW headquarters, the drone and the tablet computers to be used by the park rangers.

context diagram

dfd

END OF CASE STUDY INSERT FOR SECTION C

 

Instructions for Section C

Answer all questions in the spaces provided. Remove the case study insert and read all the information provided before you answer these questions. Answers must apply to the case study.

 

Question 1

(3 marks)

Question 1 (3 marks)

Drone Solutions has determined that it has four months to develop the software solution for the Aerial Animal-Detection System (AADS). Melanie, who is leading the development team at Drone Solutions, has prepared a chart to help her monitor all aspects of the project.

a. Melanie will use the chart to monitor the tasks required to complete the project. One of the major tasks she has scheduled on the chart is designing the AADS software.
Outline two tasks that you would expect to see scheduled before the software design task. 2 marks
[4 lines for each task]

The exam should have bolded the word "two" in the question.

  • Determine the constraints on the solution.
  • Determine solution requirements - functional and non-functional.
  • Define the scope of the solution.

Note: This is a classic "What do you do during the PSM analysis phase?" question.

Average mark: 1.2/2 (60%)

Tasks that related to understanding/identifying the solution requirements, solution constraints and solution scope where appropriate.
It was encouraging to see that students were able to identify that this question asked for tasks that occurred during the analysis stage of the problem-solving methodology. It was important to note that the question required a task. This meant that an action word (for example, create, interview, determine, write, etc.) needed to be provided within the response.
The following are examples of appropriate student responses.

Prepare a Software Requirements Specification (SRS) which will be used in the later stages of the project.
Collect data that would assist in the creation of the AADS, which could range from interviewing rangers to researching similar systems.
Determine the solution requirements. This includes the functional requirements of the AADS (what it must do to meet the goals of the solution) and the non-functional requirements (the qualities of the AADS).
Determine the scope of the solution. This sets the boundaries as to exactly what AADS will do and equally as important, what it won’t do.

b. In addition to monitoring the tasks required to complete the project, identify one other area that the chart should monitor. 1 mark [2 lines]

  • Resources.
  • People.
  • Time.

Note: This is a simple "What does project management monitor?" question, excluding "tasks."

Average mark: 0.6/1 (60%)

The chart could also monitor resources, people or time.
Most students were able to identify one of these elements of project planning.

 

Question 2

(5 marks)

Question 2 (5 marks)

Melanie has started a data dictionary for the context diagram (Diagram 4). It is incomplete.

a. Complete the table below by writing the appropriate data flow names from the context diagram into rows 3, 4 and 6. 3 marks.

 

Data flow

Composition

1

visualised_telemetry_data

GPS_data + image_data (formatted for display)

2

GPS_data

reading_time + latitude + longitude

3

image_data

reading_time + optical_image_data + infrared_image_data

4

flight_command

['take-off' / 'land' / 'fly to' / 'circle'] + latitude + longitude

5

flight_log

time + latitude + longitude + altitude + optional [hot_spot_images + animal_spotter_id + animal_
spotter_response]

6

patrol_path

sequence of [latitude + longitude]

The examiners kindly completed the flight_log row so you would see that it could not be the answer to one of the other questions. Nice of them!

Average mark: 2.3/3 (76%)

The majority of students were able to interpret the elements of the context diagram; however, students should ensure that they use the examples in the table and text provided in the diagram to assist in formulating accurate responses; for example, image_data is a more accurate response than image or picture data, etc.

b. To state the position of any animal found, longitudes will be entered as numbers, for example, 97.73858. When creating the data dictionary for individual data items, Melanie has a choice of setting longitude to 'integer' or 'floating point'.
Which should she choose? Justify your response. 2 marks.

choice [1 line]

Floating point.

justification [4 lines]

The numbers contain a fractional part, and integers cannot hold these.

A pretty easy way to earn 2 marks. If you needed 4 lines to justify your choice, something is going wrong!

Average mark: 1.6/2 (80%)

Most students were able to identify ‘floating point’ as the most appropriate data type for storing longitudinal values, as they required the use of decimal values.

Question 3

(3 marks)

Question 3 (3 marks)

Software will have to be written for the PNPW computer, the drone and the tablet computers to be used by park rangers. Melanie has worked out the main processes for the AADS. These are shown and numbered in the incomplete data flow diagram (DFD; Diagram 5).

Which process will run on each of the computer systems below? (You may write just the process number.)

the PNPW computer - (1) plan flight

the drone - (3) control flight and detect hotspots

the tablet computers - (2) visualise telemetry data

Note - it's pretty easy to find the named external entities in the DFD and trace the outgoing arrows back to the circles of their related processes.

Average mark: 2.5/3 (83%)

the PNPW computer: 1 – plan flight
the drone: 3 – control flight and detect hotspots
the tablet computers: 2 – visualise telemetry data
Most students were able to interpret the data flow diagram (DFD), and many took advantage of simply listing the number of the process involved.

 

Question 4

(3 marks)

warning

 

warning

 

Question 4 (3 marks)

Melanie has not yet labelled the data flows in her DFD (Diagram 5).
What labels should be shown on the data flows A, B and C?

A - Visualised telemetry data

B - Flight Command

C - Patrol Path

Note: This question may look like a scary DFD question, but it's really quite straightforward.
A - the 'A' arrow goes to the park ranger. Looking at the context diagram, what is the only data flow to the park ranger? Visualised telemetry data!
B - In the DFD, the B arrow is the only data going to the drone. What data is flowing to the drone in the Context Diagram? Flight Command.
C - What data is flowing from the HQ staff? Look at the Context Diagram... Patrol Path.

It's much easier if you remember that the DFD is actually just details of processes within the Context diagram's circle. Notice that both the DFD and CD show the same external entities (park ranger, HQ, drone), so their data flows can be read together to get information about flows within the system and between the system and its partners.

It's a good question to test students' understanding of the relationship between a CD and a DFD.

Stamp of Approval

Average mark: 0.9/3 (30%)

The data flows should have been labelled
A: visualised_telemetry_data
B: flight_command
C: patrol_path
Again, students should have taken advantage of the text provided in the diagram to assist in formulating an accurate response; for example, ‘telemetry data’ is not as accurate as ‘visualised_telemetry_data’.

 

Question 5

(4 marks)

Question 5 (4 marks)

The data store in Melanie's DFD will contain a sequential list of global positioning system (GPS) coordinates. The coordinates will be entered in flight order, with the first coordinate entered being the first point the drone flies to. Before take-off, more points could be added to the end of the list if required.

In her design notes, Melanie has indicated that this data store should have a stack structure. A colleague suggests that it should be a queue data structure.
Which would you choose? Justify your choice.

choice [1 line]

Queue.

justification [6 lines]

You want the entries to come in the order in which they were entered - the first datum out of the structure should be the first point to fly to. A queue, being First In First Out (FIFO) behaves like this.

A stack, however, would return the last-entered coordinates first, and end with the starting coordinates, because it is a First In Last Out (FILO, or LIFO) structure.

Note - It's easy to remember...

  • A queue is like a human queue: the first person in the queue is the first to be served and get out.
  • A stack is like a stack of dinner plates in the cupboard. The last one added to the pile is the first one to be taken from the pile at tea time.
Queue Stack Dog
Queue - FIFO
Stack - FILO
Dog - FIDO

Average mark: 2.6/4 (65%)

Queue data structure
Students should have noted the requirement to justify their response, and that four marks had been allocated. In general, a response that provided the correct choice, provided a justification for a queue data structure or stack structure and correctly applied the response to the case study obtained full marks.
The following are examples of high-scoring student responses.

Choice: queue
Justification: As the first coordinates entered will the first points the drone flies to, queue would be the most appropriate data structure, as it goes by the rules ‘first in first out’ as compared to a stack which goes by the rule ‘last in first out’ which would not be appropriate as this would cause the last coordinate being entered to be the first point the drone flies to.
Choice: queue
Justification: Since the queues have a ‘first in first out’ nature, this would satisfy the ‘first coordinates entered being the first point the drone flies to’ statement. Melanie’s choice would be incorrect as a stack follows the ‘first in, last out’ principle, which would not satisfy the required method stated.

Question 6

(5 marks)

warning

 

Question 6 (5 marks)

George, one of the programmers for Drone Solutions, has been doing some research on the internet and has found some software, written for a drone, that was developed overseas. He downloads the software and begins altering it. Melanie sees what he is doing and orders him to look up the code of ethics for Drone Solutions.

a. Explain the purpose of a code of ethics. 3 marks. [7 lines]

It lays down the rules for acceptable behaviour for members of a group so they are all aware of what is appropriate and what is not. This can prevent breaches of the rules due to honest ignorance of them, e.g. by newcomers. It also lets the group leaders sanction rule breakers since they had no excuse for misbehaving.

A code of ethics also serves to uphold the public reputation of a group. It also bonds its members in a comraderie born of shared ideals.

Average mark: 1.3/3 (43%)

In general, students were able to give some information about the purpose of a code of ethics; however, many found it difficult to expand their response to provide adequate detail and depth for full marks.
The following is a possible response.

A code of ethics outlines values and principles that should be upheld by stakeholders. A code states what is acceptable behaviour and can provide guidelines for resolving ethical dilemmas. They are not laws but rather values that help professionals make decisions about going about their work.

b. What should George do to resolve this ethical dilemma? 2 marks [7 lines]

  • Seek permission to use the software from its author/owner.
  • Pay for the software, if it's commercial.
  • Throw the software away and start his own version.

Once again (they did it in the 2013 ITA paper, B8c) the examiners have just assumed there is an ethical dilemma with no due explanation. The case study did not say whether the software was commercial, freeware, Open Source, GNU licensed or whatever. Did Melanie even ask the status of the software?
If the software were commercial, it would be a copyright issue, and there would be no ethical dilemma because his use of it would be a legal matter, not an ethical one.
If there is an ethical dilemma in the situation, why not give enough information for the students to determine what the dilemma is? Then ask them to say what it is, and then ask how to resolve it.

Not a good question.

Average mark: 0.5/2 (25%)

Students needed to discuss using the code of ethics and/or decision support frameworks to help resolve the ethical dilemma.
Many students found it difficult to identify the ethical dilemma of whether George should use the code; instead they concentrated on the illegal downloading of the code. Many responses incorrectly stated ‘just stop using the code’ as the way he could resolve the dilemma. Students are reminded that answers should apply to the case study.
The following is an example of a high-scoring student response.

His ethical dilemma is that if he uses the software off the internet without permission, he could be in breach of the Copyright Act 1968, but by using the software it will make the development process of the software be much quicker (more efficiency). To resolve the ethical dilemma, George must consult the company’s code of ethics and decision support framework to see what the best method to go about creating the software is, and to see what company policy says about using other people intellectual property.

 

Question 7

(5 marks)

Question 7 (5 marks)

When a drone detects a hotspot (a temperature above 20°C), it immediately interrupts its preset patrol path and begins monitoring the hotspot. This new path will allow the drone to continuously view the hotspot. This is done in a function called StartMonitoring. It will continue to monitor for five minutes before returning to its patrol path unless told to continue monitoring or to resume its patrol path immediately. This message is received in a variable AlertReply. If told to continue monitoring, it will do so for five minutes or until another AlertReply is sent. When it has finished monitoring, it automatically resumes its patrol path using a function ResumePatrol.

The following is a section of the algorithm.

Get DetectedTemp
If DetectedTemp > 20 Then
    Call StartMonitoring
    FinalTime Assignment operatorCurrentTime + 5mins
    Send Alert
    Repeat
        Get AlertReply
        If AlertReply = Monitor Then
            FinalTime Assignment operatorCurrentTime + 5 mins
        Endif
    Until (CurrentTime > FinalTime) And (AlertReply = Patrol)
    Call ResumePatrol
Endif

a. George decides to desk check the loop in this algorithm by using various values of CurrentTime and AlertReply to see if the loop behaves as required.

Complete the following table if the value for FinalTime on entering the loop is 11:00 am. 3 marks

 

CurrentTime

AlertReply

Action observed

test 1

10:58

NULL

drone continues to monitor hotspot

test 2

10:58

Monitor

drone continues to monitor

test 3

10:58

Patrol

drone continues to monitor

test 4

11:04

NULL

drone continues to monitor

Working space [ about 6 empty lines of space]

 Repeat TEST 2 TEST 3 TEST 4
Values on loop entry CT=10:58.
FT=11:00
CT=10:58.
FT=11:00
CT=11:04.
FT=11:00
Get AlertReply Monitor Patrol NULL
If AlertReply = Monitor Then True False False
FinalTime Assignment operatorCurrentTime + 5 mins FT = 11.00 + 5 = 11:05 (skipped) (skipped)
Until (CurrentTime > FinalTime) And 10.58 > 11.05 ?
False
10:58 > 11:00?
False
11:04 > 11:00?
True
(AlertReply = Patrol) False True False
So... False AND False = False,
so loop repeats
False AND True = False so loop repeats True AND False = False so loop repeats
Observation... Drone monitors Drone monitors Drone monitors

Note - This is how I do deskchecks - beside each line of code I put down the state of variables and logical tests after that line is executed.
Each loop, or each test gets its own column.
In this way it's harder to overlook little factors that can have a significant effect on the answer.

Average mark: 1.6/3 (53%)

Similar types of questions have appeared in past examinations. In this question, students were required to provide the action observed in each test; many missed this and wrote about the change to variables or that the drone continues on its path.

b. Identify the major logic error in this algorithm. 1 mark [4 lines]

The ending condition of the loop is incorrect. The drone should should continue monitoring until the final time is reached or the AlertReply tells it to resume its patrol.

Average mark: 0.5/1 (50%)

Many students identified that the algorithm required both conditions (time expired and resume patrol) to be true, but only one needed to be true to resume the patrol.
The question asked students to identify the problem. It was not sufficient to only write the line of code containing the error without some explanation.

c. Rewrite one line of the algorithm to correct the major logic error. 1 mark [2 lines]

Until (CurrentTime > FinalTime) Or (AlertReply = Patrol)

There's quite a lot of work involved in answering his question. I thought it was worth more than 5 marks!
Still, I appreciate the working space provided for the students to do their thinking so they don't have to squeeze notes into the margin of the answer book, or use the empty back pages.

Average mark: 0.5/1 (50%)

Many students were able to identify that the AND needed to change to an OR in the UNTIL statement.
The following is an example of a correct response.
UNTIL (CurrentTime > FinalTime) OR (AlertReply = Patrol)

 

Question 8

(3 marks)

warning

 

Question 8 (3 marks)

George says it will not take him long to create the screen design for the software on the tablet that will be used by the park rangers, as the screen design will be easy and everyone uses tablets these days.

Outline one concern with George's approach to the screen design and suggest what George could do to ensure that his screen design is effective. [7 lines]

His assumption that "everyone uses tablets" is incorrect, so he may design the software carelessly, making it hard to use by those who don't know how to use tablets.

He should consider the needs of all types of users - especially those unfamiliar with using tablets - to make the software as easy to use as possible, while not inconveniencing skilled 'power' users.

During the design process, he should get the input from skilled and unskilled tablet users to reveal potential problems with his design ideas.

Average mark: 0.6/3 (20%)

The majority of students were not able to outline a concern such as ‘George is not taking the skills or knowledge of the animal spotters into consideration’ and instead wrote lengthy responses about elements of the user interface. Ideally, responses should have identified a concern (not seeking input from spotters), and discussed two methods for gaining input (before design) or feedback about the design from the spotters.

 

Question 9

(5 marks)

Question 9 (5 marks)

Before a park ranger can give directions to a drone via the software on a tablet computer, they must enter a username and password.
Using the variable names Username and Password, write an algorithm that accepts the username and password entered by the user, and checks that they match the variables CorrectUserName and CorrectPassword.
If they are correct, the algorithm should start the monitoring program, and if not, it should display an 'incorrect username/password' message. [7 lines]

DISPLAY "Username?"
GET Username
DISPLAY "Password?"
GET Password

IF (Username = CorrectUserName) AND (Password = CorrectPassword) THEN
    CALL MonitorProgram
ELSE
    DISPLAY "Incorrect username/password"
ENDIF

Hmmm. Rather basic and repetitive: the previous question has already exercised students' knowledge of AND and IF.
Surely a different nugget of programming wisdom could have been tested here? It's not as if we're short of them...

Average mark: 2.9/5 (58%)

A complete algorithm is shown below. Other answers were also possible.

Get (or Read) UserName and Password
IF UserName =CorrectUserName AND Password = CorrectPassword then
Load Monitoring Program
Else
Display incorrect username/password message
ENDIF

Students were expected to use the information provided in the text of the question to develop an algorithm. Key elements of the algorithm included getting the inputs, correct logic within a selection control structure, control structure options (load and display) and appropriate indentation.

 

Question 10

(3 marks)

Question 10 (3 marks)

Each park ranger will be asked to provide a password for the monitoring program.
This password must contain more than four characters that are only letters or numbers. The following algorithm is created to check this.
It uses a function Length(string) to give the length of a string and a function Midchar(string, position) to give the character that is in each position from the start.

Begin
    Get Password
    LengthPassword Assignment operatorLength(Password)
    If LengthPassword > 4 Then
        Position Assignment operator0
        ValidChar Assignment operatorTrue
        Repeat
            Position Assignment operatorPosition + 1
            PasswordChar Assignment operatorMidchar(Password, Position)
            If PasswordChar Not alphabetic And PasswordChar Not numeric then
                ValidChar Assignment operatorFalse
            Endif
        Until Position = LengthPassword
        If ValidChar = False
            Display Message Password contains invalid characters
        Endif
    Else
            Display Message Password too short
    Endif
End

Complete the table below with three passwords that will test each of the different circumstances listed.

Test no.

Password

What is being tested?

1

This

<= 4 characters or digits.
Eg: abcd,1234, ab12

message 'Password too short' displayed

2

Question

>4 only alphanumeric
Eg: Adgjl, 13579, ad123

a valid password is accepted

3

Is Really Dumb!!!

At least 5; with 4 or less valid and at least one invalid character
Eg: asdf!

message 'Password contains invalid characters' displayed

I mean - the code is completely useless! Why is it there?
We were told in the question what the password rules are, and the code merely implements the rules.
There were no hidden sneaky errors in the code that would reject a valid password, or accept an invalid one!

Students only had to create three passwords that followed the rules given at the start of the question. They needn't have read the code at all. Or they could have wasted their time as I did trying to work out what the "gotcha" was, because - hey! - that code had to be there for a reason, right? Apparently not.

And to think of the time I wasted neatly formatting that pointless lump of code with all of those nice &nbsp; and bolded operators and graphic assignment operators! Grrr.

This was far, far too simple, even it's only worth 3 marks!
And a time-waster for the better kids who carefully studied the code, suspecting it must have had some meaning.

Average mark: 2.6/3 (87%)

A number of students missed the requirement for >4 (greater than four characters) and only provided four, while others missed the requirement that to test the last condition the test data had to be greater than four plus an invalid character.

 

Question 11

(6 marks)

warning

 

Question 11 (6 marks)

George talks to Melanie, who points out a major flaw in his password system. The aim is to have one tablet per monitoring station, not one per user, to reduce costs. A file of all usernames and passwords (expected to exceed 1000 over time as staff move between parks) will be on this tablet. Maximum memory will be needed on the tablet to display the high-resolution video, so Melanie suggests that the file is searched each time a user logs in instead of reading the whole file into memory. She suggests that the file be a random access file, and that the username and password are located using a binary search.

a. To allow a successful binary search on username to occur, describe what must be done with the records in the file before the search begins. 1 mark [3 lines]

They must be sorted by username.

Average mark: 0.2/1 (20%)

The data in an array needs to be sorted on the username field.
Students are encouraged to make use of past examination reports as there has been a question on binary searching on the past two examinations. This may have assisted students in avoiding the common mistake of not identifying the data field that needed to be sorted. Many students were aware that for a binary search to occur the data in an array needed to be sorted; however, very few indicated that it needed to be sorted on the username field.

b. Describe the process that the binary search will use to locate the given username. 2 marks [8 lines]

It will divide the list in half and determine which half the username should be in.
It discards the other half of the list.
It repeats the process until only one username remains, or none remain, indicating that the name is not in the list.

Average mark: 0.7/2 (35%)

The starting point of the search is the midpoint of the file. Half will be disregarded based on the midpoint being higher or lower than the search value. This is then repeated until the value was located.
Describing a binary search process was quite difficult for most students.
The following is an example of a high-scoring student response.

The binary search will compare the username in the middle of the file to username entered. If the entered username is greater then it compares it with the value in the middle of the usernames between the middle of the list and the end of the list. If the entered username is smaller than it will compare it with the username in the middle of the usernames from the start to the middle of the list. This is repeated until the middle value equals the entered username.

c. Explain the difference in the way records are accessed when using a random access file compared to a serial access file and why Melanie has suggested using a random access file. 3 marks [7 lines]

Since all records in a random file are the same length, the starting byte of any record can be calculated mathematically with (recordnum - 1) * recordlen + 1. Thus, any record can be accessed immediately, skipping any records between the search start point and the record's location.

Serial files, however, contain records of variable length so any record's starting point cannot be calculated. A search for a record must begin at the start of the file and step sequentially through every record until the desired one is found.

Thus, random file access can be far faster than serial file access, particularly as file sizes increase, which is what Melanie is anticipating.

There must be some other questions that VCAA can ask about binary searches and random files... These old chestnuts appear on every exam....

Average mark: 1.4/3 (47%)

To gain full marks students were required to describe how records are accessed when using a random access and a serial access file, and why random access files are more appropriate when doing a binary search.
Many students answered the first two parts of the question but many did not answer the ‘why’ part. Students are reminded that using the words ‘more efficient’ is not considered a justification. Students often find it difficult to clearly express the difference between random access and serial access.
The following is an example of a high-scoring student response.

Random access file allows access to any point in the file, meaning that it does not have to be read in the order it was written (usually indexed). Serial files only allow reading of the contents in the order it was written. Melanie wants to access the file of usernames/passwords for any random person, checking the input of a username and password hence a random access file will be more beneficial as it doesn’t have to read in order every time (like a serial file).

 

Question 12

(2 marks)

Question 12 (2 marks)

Brenda suggests to George that instead of using tablets to display the data coming from the drone, they should use mobile phones as these are cheaper and everyone has one, so tablets would not have to be purchased.
Explain why the tablet is a better choice. [6 lines]

  • Its display is larger and easier to read.
  • It has more space for a bigger battery, therefore having longer life between recharges.
  • The software writers would not have to port the software to many different phone platforms. It could be tailor-made for a specific tablet, and exploit the advantages of that tablet.

Average mark: 1.3/2 (65%)

The use of a tablet was a better choice as the data being displayed was images with small detail; this was not appropriate on the small screen of a mobile phone.


Question 13

(4 marks)

Question 13 (4 marks)

When the drone lands, the data files, including video and GPS coordinates, will be downloaded onto a notebook computer. The files will then be deleted from the drone so that there is space for data files from the next flight.

a. Is this an example of backup or archiving? Give a reason for your answer. 2 marks [5 lines]

It's archiving. A backup leaves the copied data in place. Archiving moves the data, then deletes the original.

Average mark: 1.7/2 (85%)

This is an example of archiving, and many students were able to identify that this was characterised by removing the file from the original device.

b. Describe another procedure that would reduce the chance of these files being lost. 2 marks [7 lines]

"Another" procedure? The first procedure was not aimed at reducing the chance of files being lost - it was just moving them! The question should have been "Describe a procedure..."

So - what is the question expecting - backup suggestions, perhaps?

Copy the files to another device (e.g. USB drive, portable HDD, cloud storage) and store the files in a different location.

Note - Encryption would not stop the files getting lost. It would just stop them being read if they got stolen.

Average mark: 1.3/2 (65%)

Students were able to describe a backup method that used an additional storage medium, with many suggesting ‘cloud’ options.

 

Question 14

(6 marks)

warning

 

Question 14 (6 marks)

A major security concern for the software being designed to run on the drone is that hackers (unauthorised users) could take over control of the drone.
State two measures that could prevent this from happening. Clearly explain how each would prevent unauthorised access to the drone.

The exam should have bolded the word "two".

  • Encrypt all communications between the drone and its operators - this would obfuscate commands and data passing between authorised operators and the drone so that unauthorised users would not be able to read the data or send commands to the drone.
  • Require a valid username and password for drone launchers and operators - this would prevent hackers stealing and launching a drone, or using a found/stolen tablet to control the drone.
  • Keep inactive drones securely locked away from the public so hackers can't gain access to them and interfere with their operating software.
  • Turn off the drone's SSID broadcasting. This would make it a tiny bit harder for hackers to detect the drone's wifi router.
  • Make sure the drone's wifi router had a changed admin username and password. This would prevent hackers using default logins to access the drone's router and gaining access to its file system.
  • Turn on strong wifi encryption (e.g. WPA2+). This encrypts local wifi communications between the drone's router and nearby people.
  • Encrypt the stored source code of the drone's software so it cannot be read by hackers if they managed to find and copy it. This would prevent them finding security vulnerabilities and creating exploits to take advantage of them.
  • Kill all of the programmers once the job is done. Bwahahahahaha! Now let those hackers try to nail the programmers to a stake and threaten to slice off their ... oops. Sorry. Got a bit "Game of Thrones" there.

Average mark: 1.8/6 (30%)

This question was poorly answered by most students. Many gave generic security measures, and/or failed to explain the measure or provide details as to how the measure would prevent unauthorised access. Students needed to ensure that the measures they were explaining were appropriate to the device identified in the question (the drone).
The following is an example of a high-scoring student response.

Install a firewall between the tablet and router
- A firewall controls which user can and cannot have access to certain ports.
- The firewall would only allow the park rangers access to the drones and would prevent unauthorised outside users.

Ensure all path instructions are encrypted
- Encryption changes the ‘plain text’ of the flight instructions into unreadable ‘ciphertext’.
- This will ensure that the drones can only accept instructions from the official tablet devices and nothing else.

 

Question 15

(3 marks)

Question 15 (3 marks)

Once the software has been accepted by PNPW, all park rangers will be required to use it. The park rangers are very unhappy about this as they have no idea how the new software will work and so they complain to the PNPW management.
Explain how management could resolve this conflict. [6 lines]

  • They need to advertise the benefits of the software so rangers will appreciate its importance and be willing to give it a fair go.
  • They then need to train rangers how to use the system in a brief and unthreatening way (with nice sandwiches.) Regional training sessions with small groups might be best.
  • Training one ranger in each park to become a trainer would provide quick on-site support to other rangers by someone they are familiar and comfortable with.
  • They also need to provide plenty of easily accessed documentation to teach or remind rangers how to use the system.
  • They need to provide friendly technical support for rangers who are having system faults or trouble using the system.

Average mark: 1.7/3 (57%)

As this question asked students to ‘resolve this conflict’ it was expected that they would write about decision support frameworks; however, most responses included details of training and/or documentation and were awarded some marks. As some resolution was required, it was important to include some evaluation/feedback mechanism from the park rangers, before, during and/or after training.

END OF QUESTION AND ANSWER BOOK

On the whole - good, with a glitch or two. Certainly better than the ITA paper - as usual.

  • Please don't include information or code that serves no purpose - e.g. B2 and C10. Good students will waste their time trying to find the typical logic holes in it, only to discover they could have been using their time ignoring it and getting on with answering questions!
  • Don't re-examine the same material. Once is quite enough for AND and IF statements (C7 and C9).
    This also <<Includes>> B6a and B6b
  • Proofread until it hurts - e.g. myPi.
  • If you're going to use bold to highlight the required number of items, please do it consistently (C1 and C14)

 

 

STUDENT FEEDBACK

Matt Mr Kelly (or Mark or whatever)

Friday's software development exam was my last year 12 exam, and I felt awesome going into it because I feel like I really know the software course, and THAT was almost ALL because of your awesome website.
VCEIT was my true companion in sofdev this year, taking on the role of textbook and teacher, as neither my actual textbook nor my actual teacher seemed like they wanted to teach me the course (clsss was mainly devoted to SAC practice, which I didn't get a lot out of having already learned how to program beyond a VCE sofdev level before year twelve).
So I want to thank your website for being there for me and actually allowing me to self-study the course while it wasnt being taught in class. I was only able to move through the course due to the comprehensive notes you had on offer, filling in anything I was missing with a quick google search.
If you're at all interested, I feel like I nailed the exam (~90% but well see) and it was a great way to finish the year off, because of the confidence I built from your website up. I'm hoping for a study score in the 40's and I would have been clueless if it weren't for VCEIT.
Once more, thanks for existing and stuff, I look forward to reading the post mortem.
Jesse

Hey I got all of the answers that you got for section A except for Q2. I chose design, but you selected B (analysis). Could you tell me why the answer is not design, as I feel something as specific as occupying <10MB would show up in evaluation criteria. Thanks :)

PS: Everybody down at atarnotes is eagerly awaiting sections B and C :) and we're very appreciative of your solutions :)

Back to the IT Lecture Notes index

Back to the last page you visited

Created 17 November 2013

Last changed: November 19, 2014 1:48 PM

Original Content © Mark Kelly 2013
Images and questions are © Victorian Curriculum and Assessment Authority 2013.
Reproduced here with permission for educational purposes.

VCE IT Lecture notes © Mark Kelly