You are on page 1of 15

2Learner Nahyan Al Shehhi Code, Subject, Grade CSC400-403 Computer Science

Name Grade 9
617761 NQA Registration #
ATHS ID

Related NQC Unit and Performance Criteria:

Qualification: Certificate 3

Unit: Create Simple Programming using Different Data Structures

GC GC/PC Description Mark (tick as


appropriate)
/PC#

Identify Objects (types) as blueprints that have features called 1 2 3 4 5*


PC5.1 properties and behaviors called methods
☐ ☐ ☐ ☐ ☐

Identify with examples what is the object’s properties and methods to 1 2 3 4 5*


PC5.2 the program and how to access them
☐ ☐ ☐ ☐ ☐

Define properties of objects (types) such as colors, numbers, etc… as 1 2 3 4 5*


PC5.3 variables inside a type within a Swift programming platform
☐ ☐ ☐ ☐ ☐

Use the dot notation to access and change a property of an instance 1 2 3 4 5*


PC5.4 within a Swift programming platform
☐ ☐ ☐ ☐ ☐

Define methods of objects (types) as functions inside a type within a 1 2 3 4 5*


PC5.5 Swift programming platform
☐ ☐ ☐ ☐ ☐

Use the dot notation to call and modify a method (function) within a 1 2 3 4 5*
PC5.6 Swift programming platform
☐ ☐ ☐ ☐ ☐

Define factoring program codes as a process to restructure existing 1 2 3 4 5*


PC5.7 programs and create reusable codes (functions) within Swift
☐ ☐ ☐ ☐ ☐
programming platform

1 2 3 4 5*
Declare and initialize an instance of an object (type) within a program
PC5.8
that solve a specific problem in Swift programming platform ☐ ☐ ☐ ☐ ☐

Explore the Computational thinking as an approach to 1 2 3 4 5*


problem-solving with four key thinking processes including
GC6.1 ☐ ☐ ☐ ☐ ☐
decomposition, pattern recognition, abstraction, and
algorithmic design.

GC6.2 Decompose computing problems into smaller components 1 2 3 4 5*


that can be solved using constructs such as procedures, ☐ ☐ ☐ ☐ ☐
modules and/or objects.

Identify algorithmic thinking and explore how algorithms 1 2 3 4 5*


GC6.3 operate to solve problems and perform tasks.
☐ ☐ ☐ ☐ ☐

1 2 3 4 5*
Design algorithms to solve problems and considering the
GC6.4
efficiency and complexity factors ☐ ☐ ☐ ☐ ☐

 Only for First Submission


Rubric
Performance
Score Description
Criteria
Student’s work is meeting the requirements of evidence quality against the
5
criteria identified in the unit of competency, by no less than 90%.
Student’s work is meeting the requirements of evidence quality against the
Achieved 4
criteria identified in the unit of competency, by no less than 80%.
Student’s work is meeting the requirements of evidence quality against the
3
criteria identified in the unit of competency, by no less than 70%.
Student’s work is approaching towards meeting the minimum requirements
2 of the evidence quality to demonstrate competency. Work quality must be
improved to be acceptable.
NOT
Student submits evidence that lacks quality towards demonstrating
Achieved 1
competency against the criteria identified in the unit of competency.
0 No evidence of completion submitted.

Assessment writer

Name: Tawfiq Abdullah Signature: Date: 14/12/2023

Assessment verifier’s approval

Verifier’s Name: Shaza Alhalabi Date: 30/01/2024

Signature:

Learner’s declaration

I certify that the work submitted for this assignment is my own. I have clearly referenced any sources used in
the work. I understand that false declaration is a form of malpractice.

Learner’s signature: Date: 20/02/2024

Assessor’s Feedback to the learner

5.1-Identified Objects (types) as blueprints that have features called properties and
behaviors called methods
5.2-Identified with examples what is the object’s properties and methods to the program
and how to access them
5.3-Identified with examples what is the object’s properties and methods to the program
and how to access them
5.4-Used the dot notation to access and change a property of an instance within a Swift
programming platform
5.5-Used the dot notation to access and change a property of an instance within a Swift
programming platform
5.6-Used the dot notation to call and modify a method (function) within a Swift
programming platform
5.7-Defined factoring program codes as a process to restructure existing programs and
create reusable codes (functions) within Swift programming platform
5.8-Declared and initialize an instance of an object (type) within a program that solve a
specific problem in Swift programming platform
6.1-Explored the Computational thinking as an approach to problem-solving with four key
thinking processes including decomposition, pattern recognition, abstraction, and
algorithmic design
6.2-Decomposed computing problems into smaller components that can be solved using
constructs such as procedures, modules and/or objects

Learner’s Feedback about assessment decision

Assessor’s approval

Assessor’s (Teacher) Name: Signature: Date: 20/02/2024

Notes:

 The instructor has the right to change or modify the assessment questions as long as he/she is
fulfilling the specification of the listed Performance Criteria.
 If the instructor changes the questions, they have to be verified by an assessor.
 When uploading the assessments to your ePortfolio, please follow the evidence naming
convention
Question 1- Presentation

Create a presentation to answer the following questions:

Add screenshot(s) of the slide(s) related to each question

1- Define an Object in Swift? Explain about an object’s properties and methods.

An object in Swift is a value type that complies with a protocol, or an instance of a class.

An object's properties are its variables or constants that hold data. They serve as a
representation of the qualities or features of the thing.

Functions linked to a specific type, class, or instance are called methods. They specify the type
of behavior or acts that an object is capable of.
.

[This provides evidence for PC5.1]


2- Provide an example of an object with suitable properties and methods, as per the following:

a. Write swift code to create the object (types).


b. Create instance of the object.
c. Use variables to access the properties & methods.

Initializing Your Expert


[This provides evidence for PC5.2, PC5.3]

Question 2- Programming

Complete the activity “Corners of the World” in Swift Playgrounds app Learn to Code 2.
Add screenshot of your Code & Output

[This provides evidence for PC5.4]

Question 3- Programming

1- What is the meaning of the term Constant in Swift playgrounds?

an unchangeable value stored in a name container

2- Which of the following is the BEST example of an instance using a METHOD?

a. pinkPortal.isActive = True
b. expert.color = moveForward
c. pinkPortal.isActive = False
d. expert.moveForward( )
3- Complete the activity “Initializing your Expert” in Swift Playgrounds app Learn to Code 2.

Add screenshot of your Code & Output

4- Complete the activity “Training your Expert” in Swift Playgrounds app Learn to Code 2.

Add screenshot of your Code & Output


[This provides evidence for PC5.5]

Question 4- Programming

1- Answer the following with True or False:

a. Initialization is the act of creating a new instance of a type, which includes setting initial

values for any properties of the type. (True )

b. The following moveForward.Character() is the correct swift playground statement that is

used to make the instance character to move forward. (False )


[This provides evidence for PC5.6]

2- Complete the following activities in Swift Playgrounds app Learn to Code 2:

a. Using Instances of Different Types

Add screenshot of your Code & Output

b. It Takes Two

Add screenshot of your Code & Output


[This provides evidence for PC5.7, PC5.8]

Non NQC Content

Question 5- Computational Thinking


1- Complete the below diagram with the four key Computational Thinking processes:
[This provides evidence for GC6.1]

2- Decomposition involves breaking down a complex problem into smaller parts that are more
manageable and easier to understand. For example, to decompose the problem of how to brush
our teeth, we would need to consider:

 which toothbrush to use?


 how long to brush for?
 how hard to press on our teeth?
 what toothpaste to use?

You are asked to create an app, which is a complex problem, as there are lots of things to consider.

How would you decompose the task of creating an app?

 what your graphics will look like


 what audio you will include
 what software you will use to build your app
 what your graphics will look like
 what audio you will include
 what software you will use to build your app
 how the user will navigate your app
 how you will test your app

]This provides evidence for GC6.2[

3- What is meant by Algorithmic Thinking? Explain briefly how algorithms operate to solve
problems and perform tasks.

Algorithmic reasoning is derived from coding and computer science. By developing a sequence of methodical,
logical procedures that process a certain set of inputs and generate a predetermined set of outputs depending
on them, this methodology automates the problem-solving process..

[This provides evidence for GC6.3]

1- Write an initial Algorithm to detect overspeed cars by the radar camera, and report the
violence to the traffic system. Think about all details should be included in the notification
report ( the car plate num, location, date, time, speed…..

Algorithm: Overspeed Detection

. Start
2. Initialize camera system and traffic system
3. Capture video feed from radar camera
4. Loop over each frame in the video feed
a. Detect and track moving vehicles in the frame
b. For each detected vehicle:
i. Calculate the speed based on distance traveled and time elapsed
ii. Check if the calculated speed exceeds the speed limit
iii. If overspeeding, generate a notification report:
- Car plate number
- Location (GPS coordinates or intersection details)
- Date and time of the violation
- Detected speed
Algorithm: Efficient Overspeed Detection

. Start
2. Initialize camera system and traffic system
3. Capture video feed from radar camera
4. Loop over each frame in the video feed
a. Detect and track moving vehicles in the frame
b. For each detected vehicle:
i. Calculate the speed based on distance traveled and time elapsed
ii. Check if the calculated speed exceeds the speed limit
iii. If overspeeding, generate a notification report:
- Car plate number
- Location (GPS coordinates or intersection details)
- Date and time of the violation
- Detected speed

Efficiency Improvements:

Asynchronous report generation: By transmitting notification reports to the traffic system in an asynchronous
manner, you can free up time for the algorithm to process frames without having to wait for the report to be
transmitted.

]This provides evidence for GC6.4[

You might also like