Programming Fundamentals HS7021 Assignment Help
Individual Assignment
Assessment Details and Submission Guidelines | |
Trimester | T2 2024 (Mid-term) |
Unit Code | HS7021 |
Unit Title | Programming Fundamentals |
Assessment Type | Individual Assignment |
Due Date + time: | 04 October 2024 11.59 pm (Melb / Sydney time) |
Purpose of the assessment (with ULO Mapping) | This assignment evaluates student’s understanding of basic programming principles using Python programming language. In particular, it assesses student’s ability to develop algorithms, problem solve, run scripts and write meaningful comments where applicable. |
Weight | 50 % |
Total Marks | Assignment (50 marks) |
Word limit | N/A |
Submission Guidelines |
|
Academic Integrity Information | Holmes Institute is committed to ensuring and upholding academic integrity. All assessments must comply with academic integrity guidelines. Please learn about academic integrity and consult your teachers with any questions. Violating academic integrity is serious and punishable by penalties that range from deduction of marks, failure of the assessment task or unit involved, suspension of course enrolment, or cancellation of course enrolment. |
Penalties |
|
Individual Assignment Guidelines and Specifications
Specific Instructions |
|
Note: Most of the constructs you may need to solve the problems in this assignment have already been covered in your lectures and/or tutorials. However, please note that some concepts may require extra research, which is part of your learning experience.
Question (50 marks)
Project: To-Do List
Description:
Create a simple To-Do List program that allows users to manage a list of tasks. The system will offer basic functionalities to add tasks, view tasks, and mark tasks as done.
Requirements:
User Interface:
Provide a user-friendly console interface for interaction.
Simple menu options to navigate between different functionalities.
Functionality:
Task Input:
Implement a function to add a new task to the list.
Validate that the task has a non-empty name.
Task Management:
Implement a function to view all tasks and their statuses (done or not done).
Implement a function to mark a task as done.
Report Generation:
Generate a simple report that includes:
Total number of tasks
Number of tasks completed
Number of tasks remaining
Validation:
Validate user inputs to ensure task names are not empty.
Error Handling:
Handle potential errors gracefully and provide informative messages to the user.
Implementation Steps:
Setup:
Create a Python script file (e.g. todo_list.py).
Set up the basic structure and user interface.
Task Input:
Implement the function to add tasks to the list.
Integrate this function into the user interface.
Task Management:
Implement functions to view tasks and mark them as done.
Integrate these functions into the user interface.
Report Generation:
Design a simple summary report format.
Implement a function to generate and display the report.
Validation and Error Handling:
Add input validation and error handling throughout the script.
Sample Output:
Marking Rubric
Criteria | Excellent (80-100%) | Satisfactory (60-79%) | Average (40-59%) | Unsatisfactory (20-39%) | Poor (<20%) |
---|---|---|---|---|---|
Functionality (20%) | All required functionalities are implemented correctly and work flawlessly. | Most functionalities are implemented correctly with minor issues. | Some functionalities are implemented correctly with several issues. | Few functionalities are implemented correctly with many issues. | Major functionalities are missing or implemented incorrectly. |
Code Quality (20%) | Code is clean, well-organized, and follows best practices. | Code is generally well-organized with minor deviations from best practices. | Code is somewhat organized but lacks adherence to best practices. | Code is poorly organized with significant deviations from best practices. | Code is very poorly organized and difficult to follow. |
User Interface (10%) | User interface is intuitive, user-friendly, and visually appealing. | User interface is mostly intuitive and user-friendly. | User interface is somewhat intuitive but may confuse users. | User interface is not intuitive and is difficult to navigate. | User interface is very confusing and hard to use. |
Validation and Error Handling (10%) | All user inputs are thoroughly validated and errors are handled. | Most user inputs are validated, and most exceptions are gracefully handled. | Some user inputs are validated, but some invalid entries are allowed. Some error handling is implemented, but not all exceptions are covered. | Few user inputs are validated, allowing many invalid entries. Minimal error handling is implemented, leading to potential crashes. | User inputs are not validated, allowing all invalid entries. No error handling is implemented, leading to frequent crashes. |
Commenting (10%) | Comprehensive and clear comments are provided for all components. | Comments are provided but may lack some details. | Comments are minimal and lack clarity in some parts. | Comments are very minimal and unclear. | No comments are provided. |
Script Explanation (in-class) (30%) | Clear, detailed explanation with correct terminology, showing strong understanding and confident answers to questions. | Strong explanation with minor gaps, mostly correct terminology, and good understanding, answering most questions well. | Reasonable explanation with some clarity issues, showing basic understanding and difficulty answering some questions. | Basic, incomplete explanation, limited understanding, incorrect terminology, and struggles with questions. | Unclear or incomplete explanation, poor understanding, frequent incorrect terminology, unable to answer questions. |
Leave A Comment