ATAR Computer Science Revision Solutions 2023
ATAR Computer Science Revision Solutions 2023
Prepared by
Chris Anderson
ECU Revision Course 2021 Computer Science
Contents
System Analysis ................................................................................................................................................... 3
Project management ....................................................................................................................................... 3
Exercises ...................................................................................................................................................... 3
Development Documentation ......................................................................................................................... 5
Exercises ...................................................................................................................................................... 5
Managing Data .................................................................................................................................................... 9
Database Concepts .......................................................................................................................................... 9
Exercise ........................................................................................................................................................ 9
Normalisation ................................................................................................................................................ 10
Exercises .................................................................................................................................................... 10
Entity Relationship Diagrams ........................................................................................................................ 13
Exercises .................................................................................................................................................... 13
Legal/Ethical Issues........................................................................................................................................ 19
Exercise ...................................................................................................................................................... 19
Programming ..................................................................................................................................................... 20
Pseudocode ................................................................................................................................................... 20
Exercises .................................................................................................................................................... 20
Desk Checking................................................................................................................................................ 23
Exercises .................................................................................................................................................... 23
Structure Charts............................................................................................................................................. 25
Exercise ...................................................................................................................................................... 25
Networks and Communication .......................................................................................................................... 27
Transmission Media....................................................................................................................................... 27
Exercises .................................................................................................................................................... 27
TCP/IP Model ................................................................................................................................................. 28
Exercises .................................................................................................................................................... 28
Network Security ........................................................................................................................................... 29
Exercises .................................................................................................................................................... 29
Network Diagrams ......................................................................................................................................... 30
Exercises .................................................................................................................................................... 30
Page 2 of 33
ECU Revision Course 2021 Computer Science
System Analysis
Project management
Exercises
Question 1
Jane has been hired to develop a new online sales system for RedTree, an online trading platform for people
to buy and sell used goods. She has developed the following timeline for the tasks that need to be
completed.
a) Draw a Gantt chart for this project based on the information in the table above.
Page 3 of 33
ECU Revision Course 2021 Computer Science
b) Draw a PERT chart for this project based on the information in the table above.
e) The system is more complex than Jane anticipated, and it has taken her 3 days to develop a DFD. How
will this affect the critical path of the project?
This will not impact the critical path as task 3 has 3 days slack time. (Tasks 1 – 2 – 3 – 9 should take 7 days,
Tasks, 2 – 7 – 8 – 9 should take 10 days, so an extra 3 days for task 3 will mean both sets of tasks will take 10
days)
Question 2
Elisabeth loves her new game "Animal Junction" in which she must complete tasks to help villagers move to
her virtual island. She is so obsessed with collecting new villagers that she has created a Gantt chart to help
her complete the tasks as efficiently as possible.
Refer to the Gantt chart below to answer all parts of this question.
Convert the above Gantt chart into a PERT chart. Draw it in the space below.
Page 4 of 33
ECU Revision Course 2021 Computer Science
Explain how each of the following would affect the completion time for the project.
Development Documentation
Exercises
Question 1
JSV Banking is a regional bank that currently has branches throughout Western Australia. After several
successful years of operating in regional WA, they would like to expand their operations and open offices
throughout regional Australia. In order to make sure that they expand in a sustainable way and do not
overstretch themselves, they would like to conduct a review of their current practices and find areas they
can improve
As part of their strategy to increase their customer base, JSV Banking have decided to offer a special deal on
home loans to new customers – current customers will not be eligible for this deal!
In order to get this deal, potential customers fill out an initial online application to make an appointment
with a bank officer. This information will be used to check the customer database to verify that the applicant
does not have any existing accounts with the bank. If the applicant does have an existing account an existing
customer rejection notification will be sent, otherwise an appointment notification will be sent to the new
customer.
The customer will then make an appointment with a bank officer who will complete a loan application with
the customer. As part of this application, the bank officer will send the customer details to an external credit
reporting agency to find out their current credit rating. If the customer credit rating is poor then the loan
request is rejected and a poor credit rating notification is sent to the customer. If the credit rating is good
the customer is notified that they have preliminary approval for a loan so can put in an offer on the property
they would like to purchase.
Once they put an offer on a property, the customer sends the bank officer the details of the property and
the bank officer fills out a property valuation request form. This valuation request form is sent to an
independent valuer who completes a valuation report and sends this back to the bank.
The valuation report is used to determine the final loan amount and a home loan contract is drawn up and
sent to the customer. The valuation amount is recorded in the customer database. The valuation report is
stapled to a copy of the contract and placed in the pending loan file.
If the customer is happy with the loan details, they sign the contract and send it back to the bank. The bank
officer creates the new loan account and the actioned contract is placed into the current loan file. A letter
outlining the loan account details is sent to the customer.
Page 5 of 33
ECU Revision Course 2021 Computer Science
Page 6 of 33
ECU Revision Course 2021 Computer Science
Draw a Level 0 Data Flow Diagram (DFD) for the system described above.
Page 7 of 33
ECU Revision Course 2021 Computer Science
Question 2
Vikki is developing an online ticketing system that will allow users to login and purchase tickets from their
mobile devices.
During the registration process the user will enter their details into the system. These details will then be
checked to ensure they are valid and, if valid, will be entered in the Customers Database. Registration details
will then be sent to the user to allow them to login. When logging in, the username and password will be
entered and checked against the Customers Database. If the details are correct, a response will be sent to
the user confirming that login was successful.
The following partial level 0 Data Flow Diagram describes the customer registration process for Vikki’s app.
Level the Level 0 Data Flow Diagram above into a Level 1 Data Flow Diagram.
Page 8 of 33
ECU Revision Course 2021 Computer Science
Managing Data
Database Concepts
Exercise
Table: Cabin
cabin_id name beds bathrooms pets
1 Eagle 4 1 Yes
2 Wren 4 1 No
3 Parrot 8 2 No
Table: Customer
customer_id first_name last_name email
1001 Jenny Lane [email protected]
1027 Max Peterson [email protected]
1384 Allan Fowler [email protected]
Table: Booking
booking_id date_in date_out customer_id cabin_id
56852 11/10/2020 14/10/2020 1001 1
57823 15/12/2020 26/12/2020 1384 3
69825 16/12/2020 20/12/2020 1001 1
Using examples from the tables above, describe the following data integrity terms.
Referential integrity:
Referential integrity ensures that all foreign keys in a table match an existing primary key in the linked table.
For example, when making a new booking, the customer_id recorded in the Booking table must exist as a
valid customer_id in the Customer table.
Domain integrity:
A domain defines the possible values of an attribute. Domain integrity governs the values to ensure that
they satisfy the rules. They may such things as the data type and length, whether or not to accepts NULL
values, the default value and the acceptable values mandated through constraints or validation rules. For
example, the date-in must be either the current date or a future date within 1 year.
Entity Integrity:
Entity integrity is the concept that in a relational database system all records must contain an identifying
field called a primary key and the value of this field must be unique within the table such that the record is
not confused with others. For example, each record in the Booking table has a unique booking_id that will
allow that booking to be identified.
Page 9 of 33
ECU Revision Course 2021 Computer Science
Normalisation
Exercises
Question 1
Mt Barker High School has recorded the results from its annual swimming carnival in an Excel spreadsheet.
An extract of that spreadsheet is below. (NOTE: Each student can only be a member of one team and can
only compete in one age group).
Event Age Gender Distance Stroke Competitor Team Time Place Points
1 U/13 M 50m Freestyle David Leblanc Dolphins 00:32.9 1 16
1 U/13 M 50m Freestyle Barry Hu Eels 00:36.3 2 13
1 U/13 M 50m Freestyle Thomas Black Sharks 00:40.6 3 11
35 U/17 M 100m Breaststroke Jacob Morris Eels 01:24.7 5 8
35 U/17 M 100m Breaststroke Chase Sanders Dolphins 01:33.1 6 7
35 U/17 M 100m Breaststroke Oliver Hahn Sharks 01:41.0 7 6
35 U/17 M 100m Breaststroke Simon Wood Rays 01:51.2 8 5
55 U/21 M 100m Breaststroke Brett Hobbs Eels 01:15.6 1 16
55 U/21 M 100m Breaststroke Eric Lee Rays 01:18.5 2 13
55 U/21 M 100m Breaststroke Barry Stokes Sharks 01:32.9 5 8
63 U/21 M 100m Backstroke Brett Hobbs Eels 01:12.5 2 13
63 U/21 M 100m Backstroke Brendan Serrano Dolphins 01:13.2 3 11
63 U/21 M 100m Backstroke Barry Stokes Sharks 01:18.1 6 7
63 U/21 M 100m Backstroke Eric Lee Rays 01:21.4 7 6
Normalise the data to third normal form (3NF). Give your answer in the form of relation definitions.
Event(EventID, Age, Gender, Distance, Stroke)
Competitor(CompetitorID, FirstName, LastName, TeamId FK)
Team(TeamId, Name)
CompetitorEvent(CompetitorID FK, EventID FK, Time, Place FK)
Place(Place, Points)
Page 10 of 33
ECU Revision Course 2021 Computer Science
Question 2
The following excerpt shows data that is stored by a bank manager about the customer accounts that he
oversees.
10589 Emily Goodwin 81269568 Home Loan First Homebuyer $3,904.93 4.03% May 7, 2017 Margaret Wilkins Bunbury
Dec 14,
10591 Wayne Carter 84313126 Home Loan Investment One $88,073.16 5.24% Margaret Wilkins Bunbury
2017
4929 4031 Dec 25,
11011 Neville Moran Credit card Blue VISA $71,916.91 21.40% Adele Perry Dunsborough
8905 9823 2017
Insert anomaly
Insert anomalies can occur in data that has not been normalised to third normal form. There are two types
of insert anomaly:
• When data needs to be added to a table and not all the data is known then some fields will be null.
• When data is added to a table and this results in some data being repeated.
For example, if Neville Moran opened another savings account, his details would need to be repeated.
Delete anomaly
The deletion anomaly can occur in data that has not been normalised to third normal form. A deletion
anomaly occurs when a record is deleted and this results in the loss of other data that only occurs in that
record
For example, if Mercedes Hendricks closed her accounts and those records were deleted, the data about
Finn Compton (an Employee) would also be lost.
Update anomaly
An update anomaly is a problem that occurs when data that is repeated in a number of records requires
updating. If all records are not updated the data could become inconsistent or inaccurate. This repeated
data is often found in data that has not been normalised to third normal form.
For example, if Alice Green got married and decided to change her name, then three records would need to
be updated.
Page 11 of 33
ECU Revision Course 2021 Computer Science
Page 12 of 33
ECU Revision Course 2021 Computer Science
Identify and describe four errors in the Entity-Relationship Diagram (ERD) below.
Errors include:
• No cardinality between Solar System and Galaxy
• Foreign key between Planet and Solar System should be on the Planet side of the relationship
• No Primary key for Planet entity
• Should be a foreign key on Solar System for relationship with Galaxy (eg. GalaxyID FK)s
Page 13 of 33
ECU Revision Course 2021 Computer Science
Question 2
JSV Banking has a dedicated IT department based at their head office in Bunbury and would like a database
to keep track of all the projects that each employee is working on. The IT department is made up of several
different sections (for example, Web Development) and each section will have multiple projects running at
any one time. For most projects, more than one employee will be needed, and each employee will need to
divide their time across several different projects. Each employee will also work in a specific section of IT,
however, may be assigned to projects across several different sections as needed.
Draw an Entity Relationship Diagram (ERD) to model the required database. You should include all
relationships, primary keys and foreign keys, attributes and resolve any many to many relationships. (15
marks)
Page 14 of 33
ECU Revision Course 2021 Computer Science
Question 3
Jake has started a Home Maintenance business that provides maintenance and gardening services to people
throughout Perth. When a customer requests a job, he looks through his list of sub-contractors and allocates
the job to the most suitable person.
When the job is completed, the customer is issued with an invoice (such as the one shown in the image
below). Currently he uses an Excel spreadsheet to create each invoice, but as his business has grown, he has
found it increasingly time consuming to create each invoice. To solve this problem, Jake has decided to
upgrade his invoicing system to use a database to store all the necessary data.
Subtotal $1,406.00
GST $140.60
Total $1,546.60
Page 15 of 33
ECU Revision Course 2021 Computer Science
Using the information on the previous page, draw an Entity-Relationship Diagram (ERD) to show how his
new database will be structured. Resolve any many-to-many relationships and include all necessary
attributes.
Possible solutions
Version 1:
Page 16 of 33
ECU Revision Course 2021 Computer Science
Version 2:
NOTE: For solution 2, the Item for each InvoiceLine has been moved to a new entity. This allows for the same
item to appear in multiple invoices. The UnitPrice is in both the Item and InvoiceLine as this allows for the
business case where the UnitPrice might change over time, or a special discount might be given for a specific
order.
The Invoice entity also has two calculated fields which are not strictly necessary (the SubTotal and Total can
be calculated from information already in the database). This is useful from a business case, however, as this
allows customers to be given a discount.
Page 17 of 33
ECU Revision Course 2021 Computer Science
Question 4
The local computer gaming club wants to start a database of all the games that its members have
participated in. They want to keep track of the member’s details, the details of each game, and the date,
time and score for each game that the member played. They have provided you with this partial Entity
Relationship (ER) Diagram. Resolve the diagram, including any primary and foreign keys that may be
necessary.
Page 18 of 33
ECU Revision Course 2021 Computer Science
Legal/Ethical Issues
Exercise
Question 1
Peter owns a second-hand car dealership with a yearly turnover of approximately $3 million dollars. He
collects, stores and disposes of car registration and drivers licence data as a normal part of selling cars. The
registration and licence data that he collects is saved to a flash drive so he can easily exchange it with an
insurance dealer he knows so that his friend can sell insurance to people how have just bought a car.
Question 2
AussieToys is an online toy store that sells Australian made toys across the world. As part of their sales
process, they collect information about each of their customers so they can personalise the shopping
experience for each customer.
Identify the government act that regulates the use of personal information.
Privacy Act (1988)
Describe two aspects of this act that AussieToys needs to consider when collecting personal information
about their customers.
Considerations could include:
• Need to have a clear privacy policy available
• Open and transparent management of personal information
• Use and/or disclosure of personal information
• Ensuring the security of personal information
• Customer access to personal information that is being stored
• Allowing customers to correct personal information
Page 19 of 33
ECU Revision Course 2021 Computer Science
Programming
Pseudocode
Exercises
Bridget was surprised to learn that her school is still recording swim times at the annual swimming carnival
with pen and paper. Having done all the programming practice activities for her Computer Science class,
Bridget confidently offered to write a program to make the job easier. So far, she’s made a good start but
needs help finishing it!
Her program uses a record to store information about each swim. She then plans to store each record in an
array so that she can easily calculate things such as the average swim time for each house and the year
group champions.
RECORD
SwimData
studentID: Integer
yeargroup: Integer
house: String
time: Float
GLOBAL
swims SwimData[]
MODULE Main
CALL EnterSwimTimes()
INPUT(house)
OUTPUT(HouseAverage(house))
INPUT(yeargroup)
OUTPUT(YearGroupChamp(yeargroup)
END Main
Page 20 of 33
ECU Revision Course 2021 Computer Science
Part 1
Write the module EnterSwimTimes() such that the user can enter all the relevant data for each swim,
including the studentID, yeargroup and house of each swimmer as well as their time.
Your module should:
• Allow for an unknown number of swims be entered.
• Ensure that all times are greater than 0.
• Store all information about each swim in the global array swims.
MODULE EnterSwimTimes()
REPEAT
INPUT(studentID)
INPUT(yeargroup)
INPUT(house)
REPEAT
INPUT(time)
UNTIL time > 0
newSwim SwimData
newSwim.studentID studentID
newSwim.yeargroup yeargroup
newSwim.house house
newSwim.time time
swims.append(newSwim)
INPUT(Continue)
UNTIL Continue = “N”
END EnterSwimTimes
Part 2
Write the function HouseAverage that will return the average swim time across all swimmers in a given
house.
FUNCTION HouseAverage(house)
total 0
count 0
FOR i 0 TO swims.Length – 1 DO
IF swims[i].house = house THEN
total total + swims[i].time
count count + 1
END IF
END FOR
HouseAverage total / count
END HouseAverage
Page 21 of 33
ECU Revision Course 2021 Computer Science
Part 3
Write the function YearGroupChamp that will return the studentID for the student with the fastest swim
time in a given yeargroup.
FUNCTION YearGroupChamp(yeargroup)
fastest -1
YearGroupChamp 0
FOR I 0 TO swims.Length – 1 DO
IF swims[i].yeargroup = yeargroup THEN
IF swims[i].time < fastest OR fastest < 0 THEN
fastest swims[i].time
YearGroupChamp swims[i].studentID
END IF
END IF
END FOR
END YearGroupChamp
Page 22 of 33
ECU Revision Course 2021 Computer Science
Desk Checking
Exercises
Question 1
Consider the following pseudocode:
1 MODULE Main
2 min 100
3 total 0
4 average 0
5 FOR i 1 TO 3 DO
6 INPUT(num)
7 total total + num
8 IF min > num THEN
9 min num
10 END IF
11 END FOR
12 average total / 5
13 END Main
Complete a trace table for the algorithm using the following test data for the variable num:
5 3 7
Page 23 of 33
ECU Revision Course 2021 Computer Science
Question 2
Refer to the following code snippet to answer the questions below.
BEGIN
n “Jeff”
found False
FOR i 0 TO 4 DO
IF names[i] = n THEN
found TRUE
OUTPUT(“Found”)
END IF
END FOR
Use the following test data to complete the trace table for the algorithm in the table below.
Page 24 of 33
ECU Revision Course 2021 Computer Science
Structure Charts
Exercise
Consider the pseudocode below.
GLOBAL CONSTANT
WEEK_HOURS 37.5
MODULE Main
name “”
base_rate 0
hours 0
INPUT(name)
INPUT(base_rate)
INPUT(hours)
FUNCTION CalculateTax(pay)
total_tax 0
CASE pay OF
pay <= 500:
total_tax 0
pay <= 1000:
total_tax pay * 0.25
pay > 1000:
b2 = (pay – 1000) * 0.35
b1 = 1000 * 0.25
total_tax b1 + b2
END CASE
CalculateTax total_tax
END CalculateTax
Page 25 of 33
ECU Revision Course 2021 Computer Science
Page 26 of 33
ECU Revision Course 2021 Computer Science
Transmission Media
Exercises
Question 1
Jacob lives on a farm in regional WA and would like to get access to broadband Internet. There is currently
an old copper phone line running to the property that he has been using for a dial-up Internet connection. In
the distance he can see a local mountain with a telecommunications tower that can transmit both cellular
and microwave signals.
With reference to the most appropriate transmission medium(s), explain how Jacob could get access to a
high-speed broadband Internet connection throughout his house. Provide justification for your choices.
Page 27 of 33
ECU Revision Course 2021 Computer Science
TCP/IP Model
Exercises
Question 1
For each layer of the TCP/IP model, identify one protocol and use that to describe to purpose of that layer.
Question 2
Complete the table below with information about various devices used within a network. Describe the role
of the device, which layer of the TCP/IP model it operates at and what type of addressing it uses.
Question 3
TCP and IP are two important protocols that form the basis of most Internet communications.
Explain the purpose of TCP.
TCP is responsible for breaking a message up into a number of smaller packets and numbering them so that
they can be reassembled in the correct order by the receiving device. TCP is also responsible for detecting
any errors in transmission and requesting packets to be resent if they are corrupted or do not arrive in a
timely manner.
Page 28 of 33
ECU Revision Course 2021 Computer Science
Network Security
Exercises
Question 1
Vikki is responsible for network security at a local hospital and has decided to implement new password and
network user policies to help ensure the security of the network. Describe three policies that could be
implemented to help keep the network secure.
Policies could include:
• Setting rules on what passwords are acceptable (e.g. length, use of special characters, mixed case)
• Mandating that passwords need to be changed regularly
• Restricting who has access to different parts of the network
• Restricting what software employees can install on computers
• Restricting what devices can be added to the network (e.g. no personal devices)
Question 2
Explain each of the following network vulnerabilities:
IP Spoofing
attackers hide their identity by modifying the source IP address to pretend that the communications have
come from a trusted source.
Question 3
Explain the term ‘backdoor’ as it applies to network security.
In network security, a backdoor is a method used to access a computer/network that bypasses the normal
security measures on that network.
Page 29 of 33
ECU Revision Course 2021 Computer Science
Network Diagrams
Exercises
Question 1
Whilst building their new system, Furclass have also decided to upgrade their network infrastructure. The
following network diagram shows how their new network has been set up.
Page 30 of 33
ECU Revision Course 2021 Computer Science
In the table below, identify the network devices in the diagram that have been labelled A-G. Explain the
purpose of each device in a network.
After setting up the new network, the staff have found that all the workstations are able to connect to
the Internet, however nobody can connect via their mobile devices when they are connected to the
network. Identify which device (A, B, C, D, E, F or G) is likely to be experiencing problems and explain
why you have come to this conclusion.
Device: D because the switch, router and modem must all be working as the workstations are all able to
connect to the Internet – it is only the wireless devices that are having trouble connecting to the network.
Question 2
The warehouse has an office located at the front of the building where a receptionist can greet customers
and coordinate the work from a desktop workstation. The database server is located in a locked storage
room at the rear of the office, and there is a shared network printer in the corner. There is also a small office
where the warehouse manager has a desktop workstation from where she can access the network. The
entire network has access to the Internet through a shared connection to their ISP and is protected by a
firewall.
Draw a network diagram to show how the various devices are connected, clearly labelling each device. Label
any necessary transmission media, network communications standards and/or network control protocols
that would be used with the various parts of the network.
Page 31 of 33
ECU Revision Course 2021 Computer Science
Question 3
Vikki is the network administrator at White Wilderness – an adventure company specialising in family tours
to Antarctica. They have fitted a cruise ship out with a computer network to provide guests and crew with
Internet access and computing facilities whilst away. The ship’s network consists of the following:
• Six computers on the main deck floor forming their own LAN segment where guests can get Internet
access and process their photos
• Several handheld devices that visitors can use on the vessel to access email and view video of the
local wildlife
• Two computers in the reception desk for staff to process guests when they board the ship and keep
track of any special guest requirements
• Three computers in the office area for the crew
• Three laptops that the ship’s officers use to connect to the network wirelessly
• One printer that all crew connected to the network can use
NOTE: This solution does not use the correct symbols. To get full marks in an exam you would need to use
the correct CISCO symbols.
Page 32 of 33
Congratulations! You have now completed your revision booklet!
Edith Cowan University would like to wish all students the best of luck with
their future exams!