ICTPRG418 Apply intermediate programming skills in another language


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. 
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).
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?

  1. 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:

  1. Login
  2. Question
  3. 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)

  1. 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.

  1. 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.