ASSESSMENT
Cluster: | Intermediate Programming |
Units: | ICTPRG418 Apply intermediate programming skills in another language |
Course Name: | ICT50715 – Diploma of Software Development |
Training Package: | ICT |
Assessment Tool: | Multiple Choice and Written Questions/ Problem Scenario: A1 |
Candidate must fill this section: | |
Candidate Name: | |
Candidate ID: | |
Privacy Release Clause: | “I give my permission for my assessment material to be used in the auditing, assessment validation & moderation Process” |
Student signature: | Date: |
Feedback to student: |
Assessment Completion Status | ||||
Attempt | Satisfactory | Non-Satisfactory | Date | Assessor’s Signature |
Initial attempt | | | ||
2nd attempt/Re-assessment | | |
Information for Candidate: |
All work is to be entirely of the candidate. |
General Information for this assessment: Read the instructions for each question very carefully.Be sure to PRINT your FULL name & LAST name in every place that is provided.Short questions must be answered in the spaces provided.For those activities requesting extra evidence such as: research reports, ESSAY reports, etc. The student must attach its own work formatted in double space, Arial 12 pts. All activities must be addressed correctly in order to obtain a competence for the unit of competency.If the candidate doesn’t understand the assessment, they can request help from the assessor to interpret the assessment. |
Re-assessment of Result & Academic Appeal procedures: |
If a student at Queensland International Business Academy is not happy with his/ her results, the student may appeal against their result via a written letter, clearly stating the grounds of appeal to the MSS / DSS. This should be submitted after completion of the subject and within 14 days of commencement of the new term. Re-assessment Process: An appeal in writing is made to the ACC / MSS providing reasons for re-assessment /appeal.ACC / MSS will delegate another faculty member of QIBA to review the assessment.The student will be advised of the review result done by another assessor.If the student is still not satisfied and further challenges the decision, then a review panel is formed comprising the lecturer/trainer in charge, the ACC, the MSS and the DSS OR if need be an external assessor.The Institute will advise the student of the appeal decision within 14 days from the submission date of the appeal. The decision of the panel will be deemed to be final.If the student is still not satisfied with the result, the he / she has the right to seek independent advice or follow external mediation option with QIBA’s nominated mediation agency.Any student who fails a compulsory subject or appeals unsuccessfully will be required to re-enroll in that subject. The cost of reassessment will be borne by the Institute. The external assessor will base his/her judgement based on principles of assessment. These principles require assessment to be reliable, fair, practical and valid. Academic Appeals: If the student is dissatisfied with the outcome of the assessment marking process, he/she has a right to appeal the assessment results.The notice of appeal should be in writing addressed to the MSS / ACC and submitted within seven days of notification of the assessment results. If the appeal is not lodged in the specified time, the result will stand as marked. In emergency circumstances, such as in cases of serious illness or injury, the student must forward a medical certificate in support of a deferred appeal. The notice of appeal must be made within three working days of the concluding date shown on the medical certificate. The decision of MSS / ACC will be discussed with the DSS and will be final. For further information please refer to Student Handbook. |
“I understand all the above rules and guidelines for the assessment”
Full Name | Signature | Date (dd/mm/yyyy) |
Submission Details: |
The assessment task is due on the date provided by the assessor. Any variations to this arrangement must be approved in writing by your assessor. Submit this document with any required evidence attached. See specifications below for details Performance objective The candidate must demonstrate skills, knowledge and understanding of promote the use and implementation of innovative work practices to effect change, as states the unit of competency ICTPRG418. Throughout this program you are to demonstrate knowledge in: describe in detail:dynamic variablesmedium-size application developmentstandard array and file handling algorithmsuser-defined data structuresdescribe a limited range of development methodologies and their applicationoutline the principles of language development. And foundation skills in: Skill Performance Criteria Description Reading 3.1, 3.2, 4.1, 6.1 Interprets and critically analyses and applies appropriate strategies to construct meaning from texts relating to organisational guidelines and coding standards Writing 1.2-1.3, 2.1-2.5, 4.1, 4.2, 4.3, 6.1, 6.6 Communicates complex relationships between ideas and information, matching style of writing to purpose and audience when documenting activitiesDisplays knowledge of structure and layout, employing broad vocabulary, grammatical structure and conventions appropriate to text when documenting activities Navigate the world of work 4.1 Takes personal responsibility for following explicit and implicit policies, procedures and industry standards Get the work done All Uses systematic, analytical processes, setting goals, gathering relevant information, and identifying and evaluating options against agreed criteriaUses analytical processes to decide on a course of action, establishing criteria for deciding between optionsUses a systematic process to identify possible solutions to a difficult problemUnderstands key principles and concepts underpinning the design and operation of digital systems and tools Table: ICT Information and Communications Technology Training Package |
Assessment description: |
You will develop an application based on given program specification, document the code and test to ensure that it meets requirements. |
Procedure: |
You will need to follow instructions below and address all activities required. This is an individual activity where each candidate will be assessed individually;Complete all activities and submit assessment evidence (Both hard and soft copy including these papers) to your assessor by the date provided (see submission details). |
Specifications/Conditions: |
Your assessor will be looking for evidence of: Design and build application programs to a problem scenario and program specificationGenerate code documentation and test it to confirm that created application meets original specification and solves original problem |
Section 1: Multiple Choice Questions
For each multiple-choice question, circle the correct answer.
1) Which one of the following is true about parameters and arguments?
a) They are completely different in a program.
b) Both terms are identical.
c) Parameters appear in procedure and function definitions; Arguments appear in call statement.
d) Parameters appear in call statement; Arguments appear in procedure and function definitions.
2) Which of the following statements will close the file after the below statement has been executed:
Dim fileRead As IO.FileStream = IO.File.OpenRead(“abc.txt”)
a) fileRead.Close()
b) “abc.txt”.Close()
c) Close fileRead
d) Close “abc.txt”
3) In the statement
Dim marks(15) As Integer
the number 15 represents which one of the following.
a) The total number of elements in the array.
b) The value 15 initially assigned to each element in the array.
c) The maximum value that can be assigned to any element in the array.
d) None of the above.
4) Consider the array given below
Dim data() As Integer = 10,14,15,0,19,100,52,58
Which one of the following sorts an array in ascending order?
- Array.Sort(data)
b) data.Sort()
c) Sort(data)
d) Sort().data
5) Which data structure allocates all elements contiguously in memory and keep a count of the current number of elements?
a) Linked List
b) Static array
c) Dynamic array
d) Binary tree
6) Which statement is true regarding the members of a structure (data structure)?
a) A structure may not be placed in a structure
b) The data types of variables in a structure can be different
c) Only three data types (boolean, integer, string,) may be included in a structure.
d) The data types of variables in a structure must be same
7) Which of the following is not the required condition for binary search algorithm?
a) There should be the direct access to the middle element in any
collection.
b) The collection must be sorted.
c) There must be mechanism to delete and/or insert elements in list.
d) None of above.
8) Two dimensional arrays are also called
a) tables arrays
b) matrix arrays
c) none of above
d) both of above
9) Binary search algorithm can’t be applied to
a) sorted linear array
b) sorted binary trees
c) sorted linked list
d) sorted dynamic array
Section 2:
Specification and Task
(Covering elements – ICTPRG418 – 1.1, 1.2, 1.3, 2.1, 2.2, 2.3, 2.4, 2.5, 3.1, 3.2, 4.1, 4.2, 4.3, 5.1, 5.2, 5.3, 6.1, 6.2, 6.3, 6.4, 6.5, 6.6)
Driving Knowledge Test Program contain 3 parts:
- Login
- Question
- Test Knowledge and Result
User will login to the system to access the “Driving Knowledge Test” program. According to level, user will get access for 2nd and 3rd part of that. Admin user can Add/Update/Delete question and test their knowledge. Ordinary user only can test their knowledge and check the result.
Using Visual studio and VB.net create a windows application for the “Driving Knowledge Test “. Consider the following naming, layout and commenting conventions when coding:
i) Naming convention
- Begin each separate word in a name with a capital letter, as in FindLastRecord and RedrawMyForm.
- Begin function and method names with a verb, as in InitNameArray or CloseDialog.
- Begin class, structure, module, and property names with a noun, as in EmployeeName or CarAccessory.
- Begin interface names with the prefix “I”, followed by a noun or a noun phrase, like IComponent, or with an adjective describing the interface’s behavior, like IPersistable. Do not use the underscore, and use abbreviations sparingly, because abbreviations can cause confusion.
- Begin event handler names with a noun describing the type of event followed by the “EventHandler” suffix, as in “MouseEventHandler”.
- In names of event argument classes, include the “EventArgs” suffix.
- If an event has a concept of “before” or “after,” use a suffix in present or past tense, as in “ControlAdd” or “ControlAdded”.
- For long or frequently used terms, use abbreviations to keep name lengths reasonable, for example, “HTML”, instead of “Hypertext Markup Language”. In general, variable names greater than 32 characters are difficult to read on a monitor set to a low resolution. Also, make sure your abbreviations are consistent throughout the entire application. Randomly switching in a project between “HTML” and “Hypertext Markup Language” can lead to confusion.
- Avoid using names in an inner scope that are the same as names in an outer scope. Errors can result if the wrong variable is accessed. If a conflict occurs between a variable and the keyword of the same name, you must identify the keyword by preceding it with the appropriate type library. For example, if you have a variable called Date, you can use the intrinsic Date function only by calling DateTime.Date.
ii) Layout Conventions
Good layout uses formatting to emphasize the structure of the code and makes code easier to read.
- Use the pretty listing feature to format code with the default settings (smart indenting, 4 character indents, save tabs as spaces).
- Use only one statement per line. Do not use the Visual Basic line continuation character (:).
- Use only one declaration per line.
- If pretty listing does not format continuation lines, indent continuation lines one tab stop.
- Add at least one blank line between method and property definitions.
ii) Commenting Conventions
- Do not use comments at the end of a line of code. Put comments on a separate line.
- Begin the comment text with an uppercase letter.
- End the comment with a period.
- Insert one space between the comment delimiter (‘) and the comment text.
Task1: Create Windows Application and Design Forms (Graphical Interface for the user)
- Login: To design a login form, consider the following control.
Control | Name | Property | Value |
LoginForm/ Windows Form | Login Form | Text | Driving Knowledge Test Program |
Name | Login | ||
StartupPosition | CenterScreen | ||
Label | Label1 | name | LBLUserName |
Text | User Name | ||
Label | Label2 | name | LBLPassword |
Text | Password | ||
TextBox | TextBox1 | name | TXTUserName |
TextBox | TextBox2 | name | TXTPassword |
Button | Button1 | name | BTNLogin |
Text | &Login | ||
Button | Button2 | name | BTNCancel |
Text | &Cancel |
Figure 1: Specification of different control
- Main: Design a “Form” to provide options to the user about Question and Test Knowledge
Control | Name | Property | Value |
WindowsForm | Main Form | Text | Driving Knowledge Test Program |
Name | Main | ||
StartupPosition | CenterScreen | ||
Button | Button1 | name | BTNTest |
Text | &Test Your Knowledge | ||
Fore Color | Maroon | ||
Font Size | 15 | ||
Button | Button2 | name | BTNQuestion |
Text | &Question | ||
Fore Color | Maroon | ||
Font Size | 15 | ||
Button | Button3 | name | BTNCancel |
Text | &Cancel | ||
Fore Color | Maroon | ||
Font Size | 15 |
Figure 2: Specification of different control
- Add Question: Design a form to add multiple choice questions with result and question number.
Control | Name | Property | Value |
WindowsForm | Question Form | Text | Driving Knowledge Test Program |
Name | Question | ||
StartupPosition | CenterScreen | ||
Label | Label1 | name | LBLQuestionNo |
Text | Question Number | ||
TextBox | TextBox1 | name | TXTQuestionNo |
Label | Label2 | name | LBLQuestion |
Text | Question | ||
TextBox | TextBox2 | Name | TXTQuestion |
multiline | true | ||
Label | Label3 | name | LBLAnswer1 |
Text | Answer1 | ||
TextBox | TextBox3 | Name | TXTAnswer1 |
Label | Label4 | name | LBLAnswer2 |
Text | Answer2 | ||
TextBox | TextBox4 | Name | TXTAnswer2 |
Label | Label5 | name | LBLAnswer3 |
Text | Answer3 | ||
TextBox | TextBox5 | Name | TXTAnswer3 |
Label | Label6 | name | LBLAnswer4 |
Text | Answer4 | ||
TextBox | TextBox6 | Name | TXTAnswer4 |
Label | Label7 | name | LBLCorrectAnswer |
Text | Correct Answer | ||
TextBox | TextBox7 | name | TXTAnswer5 |
Button | Button1 | name | BTNAdd |
Text | &Add | ||
Button | Button2 | Name | BTNClose |
text | &Close | ||
Button | Button3 | name | BTNFind |
Text | &Find | ||
Button | Button4 | name | BTNUpdate |
Text | &Update | ||
Button | Button5 | name | BTNDelete |
Text | &Delete | ||
Button | Button6 | name | BTNSave |
Text | &Save |
Figure 3: Specification of different control
- Test Information: Design a form to show information about test and provide option to start or cancel the test.
Control | Name | Property | Value |
Windows Form | Information Form | Text | Driving Knowledge Test Program |
Name | Test Information | ||
StartupPosition | CenterScreen | ||
Label | Label1 | name | LBLInformation |
Text | Welcome to the Driver Knowledge Test. The test includes 5 questions. Each question contains 2 points. Total hour is one hour and pass mark 95% | ||
Fore Color | Maroon | ||
Font Size | 15 | ||
AutoSize | False | ||
Button | Button1 | name | BTNStart |
Text | &Start | ||
Button | Button2 | name | BTNCancel |
Text | &Cancel |
Figure 4: Specification of different control
- Test knowledge: Design a form for multiple choice questions.
Control | Name | Property | Value |
Windows Form | Test Form | Text | Driving Knowledge Test Program |
Name | Test Knowledge | ||
StartupPosition | CenterScreen | ||
Label | Label1 | name | LBLQuestion |
Text | Question | ||
Label | Label2 | name | LBLAnswer1 |
Text | Answer1 | ||
Label | Label3 | name | LBLAnswer2 |
Text | Answer2 | ||
Label | Label4 | name | LBLAnswer3 |
Text | Answer3 | ||
Label | Label5 | name | LBLAnswer4 |
Text | Answer4 | ||
RadioButton | RadioButton 1 | name | RBTNAnswerA |
Text | Answer A | ||
RadioButton | RadioButton 2 | name | RBTNAnswerB |
Text | Answer B | ||
RadioButton | RadioButton 3 | name | RBTNAnswerC |
Text | Answer C | ||
RadioButton | RadioButton 4 | Name | RBTNAnswerD |
Text | Answer D | ||
Button | Button1 | name | BTNnext |
Text | &Next | ||
Button | Button2 | Name | BTNBack |
text | &Back | ||
Button | Button3 | Name | BTNClose |
text | &Close | ||
Label | Label6 | Name | LBLMessage |
Text | Message | ||
Button | Button4 | Name | BTNSubmit |
text | &Submit |
Figure 5: Specification of different control
- Result: Design a form to show the total point and the result (pass/fail).
Control | Name | Property | Value |
WindowsForm | Result Form | Text | Driving Knowledge Test Program |
Name | Result | ||
StartupPosition | CenterScreen | ||
Label | Label1 | name | lblUsername |
Fore Color | Maroon | ||
Font Size | 15 |
Figure 6: Specification of different control
Task 2: Manipulate data using Control and conditional structure, and data structures – 2D array and dynamic variables. Implement binary search technique and binary file handling algorithms.
- Login Form:
Store below listed sample user information into a 2-D global array “UserInfo”.
User Name | Password | Status |
John | John123 | user |
Kumary | Krishnan | Admin |
Sunate | Sunate001 | user |
Cathy | CathyRubby | user |
Margarate | Margarita | Admin |
David | DavidHaug | user |
Sunil | Sunil120 | Administrator |
Login button: Write code to check the username and password from “UserInfo”. If valid, store the user name and status into global variable “gloStrUserstatus”, “gloStrUsername” respectivley and redirect to the Main Form. Otherwise, display a message “Please write a valid user name and password “.
Form Load: Read all the question information from a binary file “Question.dat” and store into arraylist gloTestQuestions. (Implement this functionality after finishing Question form coding)
- Main Form:
Question Button: Redirect to the “Question Form” if logged on user is in administrator role otherwise inform user is not allowed to do that.
Knowledge Test Button: Redirect to the “Information form”
- Information Form:
Start Button: Redirect to the “Test Form”.
Cancel Button: Redirect to the Main form.
- Question Form:
Create a sub procedure ClearText() to clear all text boxes. Display the possible question number for new question into the text box for question number.
Add Button: Write code to add question information into a global/public arraylist “gloTestQuestions”.Clear all text box content.
Hint: Create a global structure Trivia_Data to hold pieces of question information i.e. question number, question, 4 answers choices and correct answer.
Find Button: Implement binary search technique to find question information from the gloTestQuestions according to the question no provided and display into the related text boxes.
Update Button: Save updated information for question identified by question number into the arraylist.
Delete Button: Delete question according to the question number from the arraylist.
Save Button: Write all the question information from the arraylist gloTestQuestions to a binary file “Question.dat”.
Exit Button: Close Question form and redirect to “Main Form”.
- Test Form:
Retrieve first question information from the arraylist and display into appropriate textboxes and radio buttons.
Back Button: Write code to display the previous question of the exam.
Next Button: Write code to store each question answer (right answer = 1, and wrong answer=0) into a global one dimensional array gloSubmittedAnswers() and display the next question. Display messages “You have finished all questions. Go back for review or submit the test and get the result” into the “message label” on last question.
Submit Button: Redirect to the “Result Form”
Cancel Button: Redirect to the “Main Form”
- Result Form: Calculate the total marks and display the result (Pass/Fail and total marks) into the User Name Label.
Hint: Total Marks = Total number of right question * 2, Pass mark > = 95%
Use mechanism to destroy dynamic arrays.
Task 3: Debug application
Use Visual Studio debugging tools to detect syntax and logical errors, trace code and examine variable contents.
Task 4: Testing
Design test cases to confirm code meets the program specification. You are allowed to use any type of tools to design test cases such as debugger, MS office tools, etc. Your designed test cases should reflect the design specification and also MUST include the following:
- TestID
- Test description with required steps
- Expected outcomes
- Actual outcomes
- Pass/Fail results
Example of test case:
Test ID: FT_1 *(Note: F1 = functionality testing, 1 = test case number) | ||||
Test Description: Verify login functionality | ||||
Steps | Actions | Expected Result | Actual Result | Pass/Fail |
1 | Form Load | “Login window” will be displayed | ||
2 | Enter login name and password in appropriate text boxes and click on “Login” button | If supplied user name and password are valid, user will successfully have logged in the system and can access further part of the system otherwise he will be asked to try again for login functionality. |
You are required to conduct the testing based on your described test cases and write the test results in Actual outcomes and Pass/Fail results for each test case.
Task 5: Documentation
Follow Visual Basic commenting conventions and write internal comments for all created code using documentation tools available in the Visual Studio. Document the completed application.