PROG2007讲解 、辅导 Python设计程序
Assessment Brief
PROG2007 PROGRAMMING II
Summary
Title Assessment 3
Due Date Tuesday 22 April 11:59 pm AEST/AEDT (start of Week 7)
Length NA
Weighting 20%
Academic
Integrity
(See below for
limits of use
where GenAI is
permitted)
GenAI May be used for this assessment.
Please see the Academic Integrity section below for acceptable use of
GenAI in this assessment.
Submission Please see the Submission section below on how to submit your
assessment.
Unit Learning
Outcomes
This assessment task maps to the following ULOs:
ULO2: design, implement, test, and debug simple programs in an
object-oriented programming language.
ULO3: demonstrate how to use class mechanisms to support
encapsulation and efficient code.
ULO4: analyse and determine appropriate data structures and
iteration methods to support a solution.
Rationale
By integrating improvements in error handling, messaging, and testing into their codebase,
developers can enhance the overall quality and resilience of the Python bot. These
enhancements not only contribute to a smoother user experience but also bolster the code's
reliability and maintainability in the face of evolving requirements and challenges.
Task Description
You have 24 hours to complete the tasks based on improvement of your Assessment 2 solution.
You apply the concepts covered in Module 6 of this unit to demonstrate more advanced use of
exceptions and testing.
Task Instructions
Choose one (1) of the classes from your Assessment 2 submission that is best suited for the
following tasks.
1. Create a new file FirstName_LastName_A3.py and copy and paste the chosen class into it
2. Update the class to demonstrate your:
a. use of the raise keyword using built-in exceptions where appropriate.
b. use of a custom exceptions using the raise keyword where appropriately
3. Pick one of the methods in your class to test and create a new file to demonstrate:
a. a comprehensive testing approach using pytest
b. create a series of tests to ensure there are no possible errors left unhandled.
c. all tests must be in a file called FirstName_LastName_A3_Testing.py
Resources
Everything that you need to know to complete this assessment was covered in Module 6 of this
unit.
Task Submission
You can use PyCharm or VSCode to complete the assignment and your assignment must run
using Python 3. This is covered in the Getting Started section of MySCU.
The submission requirements are as follows:
• Your submission must be named as follows FirstName_LastName_A3.py and
FirstName_LastName_A3_Testing.py . For example:
o Alex_Hendry_A3.py
o Alex_Hendry_A3_Testing.py
• You are only required to submit your Python files and not your project files.
• You are required to use the WakaTime plugin and submit a screenshot of your
WakaTime dashboard when submitting your assignment clearly identifying how much
time you spent on each part of the assessment.
Please note that the file naming instructions in this assignment must be followed EXACTLY,
including the file names you are instructed to use. Failure to do so may result a requirement to
resubmit.
Academic Integrity
At Southern Cross University, academic integrity means behaving with the values of honesty,
fairness, trustworthiness, courage, responsibility and respect in relation to academic work.
The Southern Cross University Academic Integrity Framework aims to develop a holistic,
systematic and consistent approach to addressing academic integrity across the entire
University. For more information, see: SCU Academic Integrity Framework
NOTE: Academic Integrity breaches include unacceptable use of generative artificial intelligence
(GenAI) tools, the use of GenAI has not been appropriately acknowledged or is beyond the
acceptable limit as defined in the Assessment, poor referencing, not identifying direct
quotations correctly, close paraphrasing, plagiarism, recycling, misrepresentation, collusion,
cheating, contract cheating, fabricating information.
Use of GenAI
There are no limitations on using GenAI in this assignment providing you follow the following
guidelines:
• You understand the code you are submitting and can explain it.
• You are not using any concepts that are not taught in the unit.
• All code that was created using GenAI must be clearly identified using a comment. The
following are possible examples of comments you may use:
o This method was created using GenAI.
o This block of code was partly created using GenAI.
o This constructor was generated using ChatGPT.
• Your code runs without errors.
If your submission is deemed to be suspicious by your marker you may be asked to attend an
interview in your tutorial class to explain your code. If you cannot explain your code, you may
be submitted for academic integrity. Possible reasons your submission may be deemed
suspicious could include:
• Using programming concepts not taught in the unit.
2
Assessment Brief
3
Assessment Brief
• Using programming concepts considered by your marker to be beyond your
programming abilities as demonstrated in the class.
• Submitting code suspected of being generated using GenAI software but is not clearly
identified.
To summarise:
• You can use GenAI as much as you like as long as you clearly identify the code you submit
and understand what it does.
• DO NOT SUBMIT ANY CODE THAT YOU DO NOT UNDERSTAND AND CANNOT EXPLAIN.
Collusion
Please note that your source code for this assignment will be run through a plagiarism detection
system designed for code that compares all assignments and highlights identical or very similar
submissions. If you are found to have colluded with other students, you will be submitted for
academic integrity.
Special Consideration
Please refer to the Special Consideration section of Policy.
https://policies.scu.edu.au/document/view-current.php?id=140
Late Submissions & Penalties
Please refer to the Late Submission & Penalties section of Policy.
https://policies.scu.edu.au/view.current.php?id=00255
Grades & Feedback
Assessments that have been submitted by the due date will receive an SCU grade. Grades and
feedback will be posted to the ‘Grades and Feedback’ section on the Blackboard unit site. Please
allow 7 days for marks to be posted.
4
Assessment Brief
Assessment Rubric
Marking Criteria and
% allocation
High Distinction
(85–100%)
Distinction
(75–84%)
Credit
(65–74%)
Pass
(50–64%)
Fail
(0–49%)
Error handling and
validation strategies
50%
Applies comprehensive error
handling and validation
strategies, ensuring robust
program resilience and
flawless handling of all
potential exceptions.
Applies effective error
handling and validation
strategies, significantly
enhancing program
stability and effectively
managing most exceptions.
Adequately applies error
handling and validation
strategies, maintaining
program stability and
addressing common
exceptions appropriately.
Applies basic error
handling and validation
strategies, covering
essential exceptions and
maintaining minimal
program continuity.
Fails to apply effective
error handling and
validation strategies,
resulting in program
instability and inadequate
management of exceptions.
Class and Method
Testing
50%
Tests the class method
comprehensively using
pytest, covering all scenarios
and edge cases with
meticulous attention to
detail. Ensures all possible
errors are handled,
demonstrating a thorough
understanding of error
scenarios and effective error
handling mechanisms.
Implements testing with
pytest to validate the class
method, but may overlook
some edge cases.
Addresses most common
errors but may miss
handling less common
scenarios.
Utilizes pytest for testing
the class method, covering
common scenarios
adequately.
Shows understanding of
error handling but may
lack depth in addressing
less common cases.
Attempts testing with
pytest but lacks
thoroughness, potentially
missing important
scenarios.
Basic error handling is
present but may overlook
significant cases.
Fails to adequately test the
class method, leaving
critical scenarios
unhandled.
Lacks effective error
handling, increasing the
risk of program failures.
Description of SCU Grades
High Distinction:
The student’s performance, in addition to satisfying all of the basic learning requirements, demonstrates distinctive insight and ability in researching, analysing and
applying relevant skills and concepts, and shows exceptional ability to synthesise, integrate and evaluate knowledge. The student’s performance could be described
as outstanding in relation to the learning requirements specified.
Distinction:
The student’s performance, in addition to satisfying all of the basic learning requirements, demonstrates distinctive insight and ability in researching, analysing and
applying relevant skills and concepts, and shows a well-developed ability to synthesise, integrate and evaluate knowledge. The student’s performance could be
described as distinguished in relation to the learning requirements specified.
Credit:
The student’s performance, in addition to satisfying all of the basic learning requirements specified, demonstrates insight and ability in researching, analysing and
applying relevant skills and concepts. The student’s performance could be described as competent in relation to the learning requirements specified.
Pass:
The student’s performance satisfies all of the basic learning requirements specified and provides a sound basis for proceeding to higher-level studies in the subject
area. The student’s performance could be described as satisfactory in relation to the learning requirements specified.
Fail:
The student’s performance fails to satisfy the learning requirements specified.
5
Assessment Brief