Professional Documents
Culture Documents
Student
Instructions
Competency Details
Unit code/s and title/s ICTPRG302 - Apply introductory programming techniques
Qualification code/s and title/s ICT30120- Certificate III in Information Technology
ICT40120 - Certificate IV in Information Technology
Business unit/Work group Business and ARTS/IT Studies
Instructions
Method/s of assessment Product - PasswordChecker Assignment and
Oral communication
Overview of assessment This assessment will require you to complete 3 programs of the
PasswordChecker assignment.
In this assessment you will cover the following topics:
• Use of sequence structures
• Use of selection structures
• Use of iteration structures
• Reading and writing of text files
• Use of lists
Task/s to be assessed This is a practical task and will require you to code, test and
document in the Python language.
The following pages will define the specific tasks you need to
complete.
Decision making rules To receive a satisfactory outcome for this assessment you must
complete all parts correctly.
Resources required To complete this assessment, you will require the following:
• Access to Learn with Internet access
• Learn resources
• Word processing software such as Microsoft Word.
• Python and PyCharm latest version
• Microsoft Teams for meeting and video recording
• ITWorks Python coding standards document
Result notification and You will be provided feedback and the result for your
reassessment information assignment on TAFESA Learn. You will be and given the
chance to resubmit with required corrections only once.
Refer to the TAFE SA assessment policy for more information
https://www.tafesa.edu.au/apply-enrol/before-starting/student-
policies/assessment
Scenario
Your IT Team Leader has asked for a program to be developed that meets the following
requirements:
Description
A program is required to input a user password, calculate the length of the password and
validate the length of the password to ensure it contains the minimum number of characters 6
and a maximum of 10 characters. Continue to input the password and calculate the length of
the password until a valid length password has been entered.
Once the length is valid, the program will output the length of the password and determine if
the password is weak or strong. If the password only contains letters output a message
stating “password weak – only contains letters” or if the password only contains numbers
output a message stating “password weak – only contains numbers” otherwise output a
message stating the password is strong, that is, it contains a combination of letters/numbers
or other characters.
Inputs
Processing
Input the password
Calculate the password_length
Validate the password_length must be a minimum of 6 and a maximum of 10 characters.
Once the password length is valid, output the password_length and a message indicating if
the password is weak or strong.
Outputs
Design:
You need to provide a solution to the problem using pseudocode to document your design.
Add the pseudocode as a comment at the top of your code.
Coding:
Write the Python code for the given Program Specification.
Note: You must use ‘named constants’ for fixed amounts e.g.
MIN_PASSWORD_LENGTH = 6
MAX_PASSWORD_LENGTH = 10
Code Documentation:
Include as a comment at the top of your code
• your name
• date
• assignment PasswordChecker1
• and the pseudocode.
Within your code include internal single line comments to explain the coding structure you
have used to:
• validate the password length
• determine if the password is weak or strong.
Best Practices:
Follow the provided ITWorks organisational guidelines for developing maintainable code, and
adhere to the provided ITWorks Python coding standards, all documented in the ITWorks
Python Coding Standards document.
Testing:
Sample Test Data:
Create a word document containing 4 screen shots of the output of your program with the test
data suggested above.
Scenario
Your IT Team Leader has asked for an updated version of the program to be developed that now
meets the following requirements:
Description
A program is required to input a user password, calculate the length of the password and
validate the length of the password to ensure it contains the minimum number of characters 6
and a maximum of 10 characters. For every incorrect password length, the program will
record an entry in a password log file that will include the date/time (updated to the nearest
microsecond) and the reason why the password is invalid either “password < 6” or “password
>10”. The file will not store any passwords.
Once the length is valid, the program will output the length of the password and determine if
the password is weak or strong as in the previous version.
The program will then output each line of the password log file to the screen.
Inputs
Processing
Input the password
Calculate the password_length
Validate the password_length must be a minimum of 6 and a maximum of 10 characters.
For every invalid password entered, write the date/time and reason the password is invalid to
the password log file.
Once the password length is valid, output the password_length and a message indicating if
the password is weak or strong.
Once the password is valid, output each line of the password log file to the screen.
Outputs
The format of the password log file is shown in the example below. Include a comma and a
space between the date and the reason. The file will need to be named
password_log_your_name.txt
Coding:
Write the Python code for the given Program Specification above.
To access the system date in Python, you will need to import the datetime module at the
beginning of your code by using:
import datetime
Variable Scope
Place all code under a main() function, except the import datetime.
All variables and constants need to be defined inside this function and no variables/constants
are to be used outside of main().
Code Documentation
Include as a comment at the top of your code
• your name
• date
• assignment PasswordChecker2
Within your code include internal comments of one or two sentences to explain:
• what data is written to the password log file
• what structure you use to output the file data to screen.
Best Practices:
Follow the provided ITWorks organisational guidelines for developing maintainable code, and
adhere to the provided ITWorks Python coding standards, all documented in the ITWorks
Python Coding Standards document.
Testing:
Sample Test Data:
An input of hello will require the password to be re-input, and a password of password123
will also require the password to be re-input, and a password of 12345678901 will also
require the password to be re-input.
An input of password will be accepted but a message will be produced stating the password
has 8 characters and it is weak - contains only letters.
Submission summary:
• Zip file of your Python script and your log file called
PasswordChecker2_Program_YourName.zip
• Word document containing screen shots of the running of your program called
PasswordChecker2_Testing_YourName.docx
Scenario
Your IT Team Leader has asked for another updated version of the PasswordChecker program that
meets the requirements below. This version does not use the previous code, so your IT Team Leader
would like to meet with you to discuss the task to ensure you have a clear understanding of the
requirements before you write the Python code.
Description
A password log file ITWorks_password_log.txt has been provided with the date/time and
reason the password is invalid. Read the data from the file into a list. Using the list output
each line. As you output each line from the list, count the number of errors for passwords that
were below the minimum length and count the number of passwords that were above the
maximum length. Output the counts to the screen.
Inputs
Processing
Read the contents of the password log file and add this to a list
Use the list to output each line and count of the number of errors for passwords that were
below the minimum length and a count of the number of passwords that were above the
maximum length.
Display both counts to the screen
Outputs
Your IT Team Leader (your lecturer) will instruct you how to make an appointment with them
(either face-to-face or in a collaborate session or via a Teams meeting).
During your meeting you will be assessed on questioning and listening skills. You need to ask
your IT Team leader at least one question to clarify your logic is correct. Your IT Team Leader
will ask you at least one question about your design.
Coding:
Include at the top of your output screen:
PasswordChecker3 program developed by: “add your name here”
Variable Scope
Place all code under a main() function.
All variables and constants need to be defined inside this function and no
variables/constants are to be used outside of main().
Code Documentation
Include as a comment at the top of your code
• your name
• date
• assignment PasswordChecker3
• and the pseudocode.
Best Practices:
Follow the provided ITWorks organisational guidelines for developing maintainable code, and
adhere to the provided ITWorks Python coding standards, all documented in the ITWorks
Python Coding Standards document.
Testing:
Sample Test Data:
Create a word document containing a screen shot of the running of your program showing the
output of the password log file and the two counts.
Name your word document PasswordChecker3_Testing_YourName.docx.
Debugging:
Include in your word document two screen shots of the debugger window demonstrating that
you can correct errors by stepping & tracing through your code.
Insert a break point at beginning of your code (e.g. after you define your variables to show the
counts as 0) and another breakpoint on the final print() statement at the end of your code (to
show the final values of the counts).
Add one screen shot showing the initial values of the variables in the debugger window at the
beginning of stepping through your code. Continue to the second break point and add another
screen shot of the final values of the variables in the debugger window to verify your counts
are correct.
If the video is too large to upload to Learn you can upload it to your TAFESA OneDrive and
submit a link to your OneDrive file in a word or text document.
Your lecturer will act as the IT Team Leader and this sign-off document will be provided to you
as a file upload in LEARN once approved.
• Zip file of your Python script (.py file) and the log file ITWorks_password_log.txt called
PasswordChecker3_Program_YourName.zip.
• Word document containing screen shots of the running of your program and the
debugging called PasswordChecker3_Testing_YourName.docx.