ICTPRG301 Apply Introductory Programming Techniques
Project assessment: Create simple applications
Criteria
Assessment instructions
Table 1 Assessment instructions
Assessment details |
Instructions |
Assessment overview |
The objective of this assessment is to assess your knowledge and performance required to design, create and test simple applications. |
Assessment Event number |
1 of 2 |
Instructions for this assessment |
This is a project-based assessment and will be assessing you on your knowledge and performance of the unit. This assessment is in two parts: 1. Perform programming tasks 2. Create a game. The assessment also contains: · Assessment Checklist · Assessment Feedback. Check the Assessment and Observation checklists to ensure that you’ve covered all the required tasks. |
Submission instructions |
On completion of this assessment, you are required to upload it for marking. Ensure you have added your name in the footer of each file. Submit the following documents for each part: · Part 1: Perform programming tasks o Programming tasks plan o Algorithm (pseudocode or flowchart) for conference task o Python code for conference task o Modified scope code o Corrected marks code o Completed ROI Software test report for marks code. · Part 2: Create a game o Algorithm (pseudocode or flowchart) for game o Python code for game o Completed ROI Software test report for game. It is important that you keep a copy of all electronic and hardcopy assessments submitted to TAFE and complete the assessment declaration when submitting the assessment. |
What do I need to do to achieve a satisfactory result? |
To achieve a satisfactory result for this assessment all questions must be answered correctly and all items in the Assessment Checklist must be marked Satisfactory. |
What do I need to provide? |
· Computer, internet and login details. · You must be able to access: o a Python compiler o an integrated development environment (IDE). · USB drive or other storage method with enough free space to save work to. |
Specific task instructions
Scenario
You’re working as an IT Trainee for Red Opal Innovations (ROI_Scenario.pdf). Red Opal Innovations (ROI) has experienced impressive growth, expanding the business and its workforce, and recently developed its own intranet to provide services to its staff. Management has decided that they would like to improve the culture of the company and initiate strategies to enhance the satisfaction and morale of its staff.
After meeting with employee representatives, management has decided that they would like to provide opportunities for staff members to relax and have some time-out during their working day. The employee representatives have suggested that playing games would be a good way for staff members to help them relax and deal with the daily stresses of the work environment. They have also decided that some friendly competition between employees would enhance their motivation for playing the games. The company would also like to offer a prize for the employee with the best results.
They would like a game prototype to be developed as a forerunner to more sophisticated applications. Your supervisor thinks you would be able to handle this project however wants to test your skills first.
Download and unzip the resource folder (ICTPRG301_AE_Pro_1of2_SR1.zip), which contains additional documents referred to in Parts 1 and 2 of the assessment.
Part 1: Perform programming tasks
Your supervisor has given you several tasks to complete before working on the game prototype.
1. Plan and prioritise tasks
Before starting the following tasks, create a plan of the activities you need to complete for the portfolio of tasks (this can be in a table in a word-processed document). This must be appropriately sequenced and prioritised, taking into account your own workload, to enable you to complete the tasks efficiently and effectively.
2. Develop a simple application
Specification
Staff members are attending a conference. The conference runs for two days and staff members can attend either day, or both days.
- If they're attending for at least one day they will receive a conference pack.
- If they are attending for two days, they will also receive the bonus pack.
- Not all staff members will be attending.
The application must display:
- the date that the report was run at the top of the list
- a list of attendees and which packs they will receive.
Use the following format to display the information:
Report date: [dd/mm/yyyy]
Attendee: [Surname, first name] Pack/s: [1 or 2 days pack], [both days pack]
Two text files are provided as follows:
The confpack text file has two values on separate lines:
- Line 1 lists what the attendees will receive for attending either one or two days.
- Line 2 lists what the attendees will receive for attending both days.
The employees text file has values separated by commas. Each employee is on a new line.
- Values are surname,firstName,day1,day2
- The fields day1 and day2 will either have a value of Y or no value.
Tasks
- Develop an algorithm using pseudocode or a flowchart to:
- access the confpack text file and read the records into an array
- access the employees text file and loop through the records (checking for the end of file)
- use logical operators to select the appropriate conference attendees
- display the required information.
- Code the algorithm in Python, using a suitable library function for the date and appropriate variables and expressions.
- Apply variable scope
A programmer was given the following specifications for an application:
Specification
- Define a function to input your first name
- Call the function
- Display the name entered to the screen.
Task
They have written the code (scope.py), however it doesn’t output the correct value according to the specifications.
- Modify the variable scope in the program so that it runs according to the specifications.
- Debug code
A programmer was given the following specifications for an application:
Specification
Write a program that prompts the user to enter the marks of a student for five different subjects. The program will then perform a calculation to determine the average mark.
The application must do the following:
- Ask the user to input the marks for the five subjects in a list/array.
- Display the list/array of marks entered.
- Find the sum of all the marks in the list (all five subjects) and display the output as:
- The sum of your marks is: [sum]
- Find the average of all the marks in the list (all five subjects) and display the output as:
- The average of your marks is: [averagemark]
Task
They have written the code (marks.py) and tested it using the following data:
mark1 |
mark2 |
mark3 |
mark4 |
mark5 |
Expected sum |
Expected average |
Comments |
10 |
12 |
16 |
14 |
18 |
70 |
14 | |
A |
B |
D |
A |
C |
n/a |
n/a |
Exception error on input |
17 |
17 |
19 |
20 |
17 |
90 |
18 |
- Conduct a test using this data.
- Use debugging and problem-solving techniques, including tracing the code execution and examining the variables, to detect errors.
- Correct the errors in the code.
- Document the testing and the results using the ROI Software test report (ROI_Software_test_report.docx). Include screenshots of your debugging techniques. Note: To show this is your machine, use Sticky Notes (Windows) or an equivalent tool to record your name and ensure you capture the sticky note in the screen shot.
Part 2: Create a game
Read the Software Requirements Specification (Software_requirements_spec.pdf) for the game prototype.
1. Design an algorithm
Design an algorithm using pseudocode or a flowchart to meet the program specifications. Your algorithm must use appropriate constructs.
2. Develop the game
Develop the game according to your algorithm using Python. Ensure that you:
- comment your code clearly
- apply relevant programming techniques and constructs to create a clear and concise code
- use an appropriate library function.
3. Test and evaluate the game
Test the game to ensure that it works correctly and according to the specifications. Document the following using the ROI Software test report (ROI_Software_test_report.docx).
- Create the test cases for testing.
- Conduct the testing and include screenshots. Note: To show this is your machine, use Sticky Notes (Windows) or an equivalent tool to record your name and ensure you capture the sticky note in the screen shot.
- Evaluate how well your software meets the software specifications. Include explanations of why you chose specific syntax in your coding and what criteria you used.
4. Obtain sign-off
Demonstrate the game to your supervisor and:
- confirm that the game meets the software specifications
- obtain user sign-off, using your completed ROI Software test report.
Assessment Checklist
The following checklist will be used by your assessor to mark your performance against the assessment criteria of your submitted/presented project. Use this checklist to understand what skills and/or knowledge you need to demonstrate in your submission/presentation. All the criteria described in the Assessment Checklist must be met. The assessor may ask questions after the assessment has been submitted to clarify anything.
Table 2: Assessment Checklist
TASK/STEP # |
Instructions |
S |
U/S |
Assessor Comments |
Part 1.1 |
Creates a sequenced prioritised plan, referring to their own workload. | |||
Part 1.2.1 |
Develops an algorithm to meet program specifications using sequence, selection and iteration constructs | |||
Part 1.2.2 |
Applies correct Python syntax, operators, expressions and variables | |||
Part 1.2.2 |
Uses a library function | |||
Part 1.2.2 |
Applies correct Python syntax for sequence, selection and iteration constructs and uses logical operators | |||
Part 1.2.2 |
Reads from text files using end-of-file detection loops | |||
Part 1.2.2 |
Manipulates a string | |||
Part 1.3 |
Applies the variable scope according to requirements | |||
Part 1.4 |
Conducts testing | |||
Part 1.4 |
Uses debugging and problem-solving techniques to trace code execution and examine variables | |||
Part 1.4 |
Corrects the errors in the code | |||
Part 1.4 |
Documents the testing and results using the organisational document | |||
Part 2.1 |
Designs an algorithm to meet program specifications using appropriate constructs | |||
Part 2.2 |
Develops a game to meet program specifications | |||
Part 2.2 |
Applies correct Python syntax, operators, expressions, variables and constructs to create clear and concise code | |||
Part 2.2 |
Uses an appropriate library function | |||
Part 2.2 |
Uses clear commenting in code | |||
Part 2.2 |
Reads and writes a text file, including end-of-file detection loops | |||
Part 2.2 |
Manipulates a string | |||
Part 2.3.1 |
Creates a simple test to confirm game meets specifications | |||
Part 2.3.2 |
Conducts testing | |||
Part 2.3.3 |
Evaluates selection of syntax and software effectiveness | |||
Part 2.3 |
Documents the testing and results using the organisational document | |||
Part 2.4 |
Confirms that game meets specifications and obtains sign-off |