Logic – Home AssignmentASSESSMENT AND INTERNAL VERIFICATION FRONT SHEET (Individual Criteria)
Course
MCAST ADVANCED DIPLOMA IN IT
Title
Unit Number & Title
ITSFT-406-2000: | Logic
Assignment Number, Title /
Type
Date Set
Lecturer Name
& Surname
ASSIGNMENT: Programming Essentials (HOME)
25/4/2022
Student
Name
Deadline Date
ID Number
Assessment Criteria
V3
Page 3
Class /
Group
Maximum Mark
KU1.1 Illustrate logical techniques using flowcharts
5
KU1.3 Construct simple software
5
KU2.4 Examine tasks that require iterations
5
KU3.1 Identify technical aspects to construct simple algorithms
5
KU4.1 Present an error-free software by using validations
5
KU4.2 Show the techniques needed to debug an application
5
KU4.3 Present a well-tested application ready for release
5
AA2.2 Develop procedures to read/add data in an array
7
AA3.2 Apply logic & syntax for a given algorithm
7
SE1.4 Develop a working system with multiple functionalities
10
Total Mark
59
Mark Achieved
Page 1
Logic – Home Assignment
Notes to Students:
•
•
•
V3
This assignment brief has been approved and released by the Internal Verifier through Classter.
Assessment marks and feedback by the lecturer will be available online via Classter (Http://mcast.classter.com)
following release by the Internal Verifier
Students submitting their assignment on Moodle/Unicheck will be requested to confirm online the following
statements:
Student’s declaration prior to handing-in of assignment
❖ I certify that the work submitted for this assignment is my own and that I have read and understood the
respective Plagiarism Policy
Student’s declaration on assessment special arrangements
❖ I certify that adequate support was given to me during the assignment through the Institute and/or the
Inclusive Education Unit.
❖ I declare that I refused the special support offered by the Institute.
Page 2
Logic – Home Assignment
ASSIGNMENT: Programming Essentials (HOME)
MCAST ADVANCED DIPLOMA (MQF LEVEL 4)
Deadline Task 1 – 6th May 2022
Deadline Task 2,3,4,5 – 24th May 2022
General Guidelines
•
Any reference from class notes, books or internet should be included in the appendix.
•
Plagiarism is strictly prohibited and will be penalised in accordance with the college’s
disciplinary procedures.
•
All tasks should be attempted.
•
This is a home assignment. To complete these tasks, you are expected to do some research
and work from home.
•
V3
Interviews will be held later.
Page 3
Logic – Home Assignment
Section 1
In this section you are required to design flowcharts by making use of DrawIO. Every question should
be separated in a different page and clearly write the question number like in Figure 1. Upload the
saved file (.drawio) on Moodle. Coding is not required for this section.
Figure 1
Task 1 – 15%
Q1. Design a flowchart: In a maths e-learning game, the player is asked a question about the topic
“Surface Area of a Cylinder”.
The player is required to enter the height and radius of a cylinder that its total surface area is greater
than 150cm2. System should automatically calculate the total surface area. If total surface area is
greater than 150cm2, then on the screen display “Winner”. Else display “You lost”. Repeat this entire
process for 6 times. Make use of a loop and show loop counter in flowchart. Hint:
https://www.cuemath.com/measurement/surface-area-of-cylinder/
Q2. Design a flowchart: The game asks the user for a number n and computes the summation of
1…n-1. If the total is smaller than or equal to 100, then print on the screen “You are a winner”. Else
print “You Lost”. Declare a total variable and make use of a loop (with loop counter).
Q3. Player is required to guess a randomly generated number by the system between two values.
Here’s a step-by-step description of the algorithm to play the guessing game:
a) Let min = 1 and max = 15 and system must generate a random number between these values
(number generated should be stored in a variable)
b) Player must guess and enter a number between min and max
c) If the player guesses the correct random number, then display “Correct” and stop
application
d) If the guess is higher than the random number, set max to be one smaller than the guess.
Display “Wrong. Guess the number between min and max”
e) If the guess is lower than the random number, set min to be one larger than the guess.
Display “Wrong. Guess the number between min and max”
f) Go back to step b
Design a flowchart based on the above steps.
V3
Page 4
Logic – Home Assignment
Q4. Convert the code of Figure 2 into a Flowchart. Make sure that your flowchart makes use of loop
counters.
Figure 2
KU1.1
Illustrate logical techniques using flowcharts
To achieve KU1.1 [5 marks]:
a) Q1 – Correctly input radius and height numbers [1 mark]
b) Q1 – Correct calculation of surface area [1 mark]
c) Q1 – Correct output is displayed [1 mark]
d) Q1- Correct use of loop counter [1 mark]
e) Q1 – Loop working correctly [1 mark]
KU1.3
Construct simple software
To achieve KU1.3 [5 marks]:
a) Q2 – Computation of summation is working correctly (using a loop with loop counter and
a total variable) [1 mark]
b) Q2 – Correct message for computed answer [1 mark]
c) Q3 – System must generate a random number between min and max values [0.5 marks]
d) Q3 – Player must guess and enter a number between min and max [0.5 marks]
e) Q3 – If the player guesses the correct random number, then display “Correct” and stop
application [1 mark]
f) Q3 – If the guess is lower than the random number, set min to be one larger than the
guess. Display “Wrong. Guess the number between min and max” [0.5 marks]
g) Q3 – If the guess is higher than the random number, set max to be one smaller than the
V3
Page 5
Logic – Home Assignment
guess. Display “Wrong. Guess the number between min and max” [0.5 marks]
KU2.4
Examine tasks that require iterations
To achieve KU2.4 [5 marks]:
a) Q3 – Flowchart repeats if user did not guess number [1 mark]
b) Q4 – X & Y loops are working correctly with loop counter [1 mark]
c) Q4 – Z loop is working correctly with loop counter [1 mark]
d) Q4 – Loops are nested correctly in flowchart [2 marks]
V3
Page 6
Logic – Home Assignment
Section 2
You have been asked to create a simple escape the prison game. The main objective of the game is
for the player to guess correctly the randomly generated alphabetic passcode to destroy the prison’s
gate and let the prisoner escape. You are required to download the zip file from Moodle called
‘HomeResourcesAssignment.zip’. This zip file contains the basic required resources for this scenario.
Figure 3: Game Map – Inside of Prison
A
B
F
C
D
E
Section A -> Interactive Keypad
Section B -> Information screen that informs the player about the status of the game
Section C -> Screen that shows the hints for the game
Section D -> Clears the passcode entered by the user in Section A
Section E – > Submits chosen passcode for validation and verification
Section F – > Gate opens when correct passcode is entered
V3
Page 7
Logic – Home Assignment
Figure 4: Video Demonstration: https://www.youtube.com/watch?v=FAkZZS6U6Hg
Your game must look like the above figures.Figure 4 You must make use of the below functionalities:
Table 1
ID
F1
Description of functionalities
User Input
F2
Random Passcode
F3
Reset Button
F4
Passcode check
F5
Passcode is not correct
V3
Player can click on five different boxes all representing an
alphabetic letter from ‘A’ to ‘Z’ (Section A). When the
player clicks on a box, the next character in sequence
(alphabetical order) is displayed. System should always
start from the character ‘A’. After the sequence reaches
the character ‘Z’, it should start again from ‘A’.
At the beginning of the game the system must generate a
random passcode which should contain only alphabetic
letters (a,b,c,d,e…x,y,z). The passcode’s length (number
of characters) should be a random number between
three and five (both inclusive).
Player can click the ‘Reset’ button (Section D) to clear the
chosen letters in the interactive keypad (Section A). The
letter sequence of every box (Section A) should again
start from the letter ‘A’.
When the player clicks on the ‘Submit’ button (Section E),
the systems checks whether the inputted passcode by the
player matches the random generated passcode at the
beginning of the game.
Follow this sequence:
1. Display ‘Incorrect Passcode’ in Section B; Clear
any text in Section C.
Page 8
Logic – Home Assignment
2.
3.
4.
5.
F6
Random Hint
F7
Passcode is correct
F8
Gate Effect
V3
Wait 2 seconds
Clear and reset the interactive keypad (Section A)
Display the number of incorrect tries in Section B
If the number of tries is equal to six, then display
“You Lost the Game” in Section B, show correct
passcode in Section C and disable all buttons
(disable the mouse for all buttons).
6. If the number of tries is less than six, then:
a. Display a random passcode hint in
Section C as described in F6
b. Player can try again passcode
The system should display a random hint from the below:
a) The passcode’s length
b) The passcode’s first character
c) The first two characters of the passcode
d) The last character of the passcode
e) The last two characters of the passcode
Please note that these should be dynamically generated
by code.
Follow this sequence:
1. Display ‘Correct Password in Section B; Clear any
text in Section C.
2. Message in Section B must change colour using a
loop.
3. Open gate as described in F8
Gate (Section F) must be opened with an explosion effect
when code is correct. Instantiate and position correctly
the explosion.
Page 9
Logic – Home Assignment
Task 2 – 25%
Implement the functionalities mentioned previously to carry out the given scenario. All features
should be implemented and tested properly. Make use of comments where applicable. To import
the provided resources, extract the zip file and then Right Click on Workspace and click Insert from
File.
SE1.4
Develop a working system with multiple functionalities
To achieve SE1.4 [10 marks]:
a) F1: When the player clicks on a box, the next character in sequence (alphabetical order) is
displayed. [1 mark]
b) F1: After the sequence reaches the character ‘Z’, it should start again from ‘A’ [1 mark]
c) F2: At the beginning of the game the system must generate a random passcode which
should contain only alphabetic letters [2 marks]
d) F2: The passcode’s length (number of characters) should be a random number between
three and five (both inclusive) [2 marks]
e) F3: Player can click the ‘Reset’ button (Section D) to clear the chosen letters in the
interactive keypad (Section A) [1 mark]
f) F3: The letter sequence of every box (Section A) should again start from the letter ‘A’. [1
mark]
g) F4: When the player clicks on the ‘Submit’ button (Section E), the systems checks whether
the inputted passcode by the player matches the random generated passcode at the
beginning of the game. [1 mark]
h) F5: Display ‘Incorrect Passcode’ in Section B; Clear any text in Section C. [0.5 marks]
i) F5: Correctly wait 2 seconds [0.5 marks]
V3
Page 10
Logic – Home Assignment
KU3.1
Identify technical aspects to construct simple algorithms
To achieve KU3.1 [5 marks]:
a) F5: Clear and reset the interactive keypad (Section A) [1 mark]
b) F5: Display the number of incorrect tries in Section B [1 mark]
c) F5: If the number of tries is equal to six, then display “You Lost the Game” in Section B,
the passcode in Section C and disable all buttons (disable the mouse for all buttons) [2
marks]
d) F5: If the number of tries is less than six, then display a random hint in Section C and
player can try another passcode [1 mark]
KU4.3
Present a well-tested application ready for release
To achieve KU4.3 [5 marks]:
a) F6: Correctly show the passcode’s length [1 mark]
b) F6: Correctly show the passcode’s first character [1 mark]
c) F6: Correctly show the first two characters of the passcode [1 mark]
d) F6: Correctly show the last character of the passcode [1 mark]
e) F6: Correctly show the last two characters of the passcode [1 mark]
KU4.1
Present an error-free software by using validations
To achieve KU4.1 [5 marks]:
a) F7: When passcode is correct display “Correct Password” and clear any text in Section C [1
mark]
b) F7: Message in Section B must change colour using a loop. [2 marks]
c) F8: Gate (Section F) must be opened with an explosion effect when code is correct. [2
marks]
Task 3 – 7%
The system is currently showing random hints without checking whether these hints were already
displayed to the user. This means that there’s the possibility that the user sees the same hint more
than once and thus making the game more difficult. By making use of an array, make sure that the
same hint is not displayed twice. Hints must be picked up randomly.
AA2.2
Develop procedures to read/add data in an array
To achieve AA2.2 [7 marks]:
a) Data is correctly stored in array [2 marks]
b) Data is correctly read from array [2 marks]
c) Correct logic is in place to check that same hint is not displayed twice [3 marks]
V3
Page 11
Logic – Home Assignment
Task 4 – 5%
Describe in a word document the debugger tool in Roblox Studio. Research on breakpoints, watch
tool and the call stack tool. Show code snippets (screenshots) in relation to the above scenario to
support your arguments.
KU4.2
Show the techniques needed to debug an application
To achieve [5 marks]:
a) Clearly describe breakpoints, watch tool and the call stack tool [2.5 marks]
b) Give proper explanation in relation to the scenario using screenshots [2.5 marks]
Task 5 – 7%
This task requires research.
The below shows all possible features that you can add to your application to make it more
interactive. You must implement either Section A OR Section B. Section B requires more work than
Section A and therefore it has more marks as indicated down below. It is not acceptable to mix
features from Section A and Section B. For Section A you are required to choose and implement two
features found in Table 2. For Section B you are required to implement all listed requirements in
Table 3 and test locally with a minimum of two players.
Table 2
Section A: (Max 3/7 Marks): List of Basic Features (Choose only 2 features – 1.5 marks each):
Feature 1 – A timer is shown in the scene while playing the guessing game.
Feature 2 – When gate is opened, the player can steal items from the prison. Change
visibility/destroy items on interaction.
Feature 3 – The player before reaching the interactive keypad should avoid several traps. These
traps should harm player on touch.
Feature 4 – Speed Boost: In the scene there should be a platform that increases the player’s
movement for a short period of time.
OR
Table 3
Section B: Advanced Feature (Max 7 Marks)
1) Game should be multiplayer with two teams (Hackers Vs Police). Both teams should
spawn from different locations. Modify your map to make it more realistic and fun. Player
can choose a team from a menu before starting the game. [2 marks]
2) The objective of the hacking team is to play the guessing game and release the prisoner in
a time period of 2 minutes. The objective of the police team is to stop the thieves’ team
from doing so. Police avatars should have a tool that creates damage and destroys
opponents upon click. Police team wins if prisoner is not released in time. [3 marks]
3) Timer should be synced and visible for all players. [1 mark]
4) The winning team is displayed on the screen at the end of the game. [1 mark]
V3
Page 12
Logic – Home Assignment
Hints:
•
•
•
•
•
•
•
•
•
https://www.youtube.com/watch?v=n5qZ8Rk8QS0
https://developer.roblox.com/en-us/api-reference/event/Player/CharacterAdded
https://developer.roblox.com/en-us/apireference/function/Players/GetPlayerFromCharacter
https://developer.roblox.com/en-us/api-reference/class/Player#team
https://developer.roblox.com/en-us/api-reference/function/RemoteEvent/FireAllClients
Video Demonstration: https://youtu.be/AcSV_0ZF3Hc
AA3.2
Apply logic & syntax for a given algorithm
Section A – Max 3/7 Marks
a) In Section A, for every feature implemented correctly, the student will achieve 1.5 marks.
Maximum of 2 features.
Section B – Max 7/7 Marks
a) Feature 1 implemented correctly [2 marks]
b) Feature 2 implemented correctly [3 marks]
c) Feature 3 implemented correctly [1 mark]
d) Feature 4 implemented correctly [1 mark]
All features implemented must be fully functional and as described.
—END OF ASSIGNMENT—
V3
Page 13