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 

  1. All work must be submitted on Blackboard by the due date along with a completed Assignment Cover Page.  

  2. The assignment must be in MS Word format unless otherwise specified.   

  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

  • All work must be submitted on Blackboard by the due date and time, along with a completed Assessment Cover Page. Late penalties apply.

  • Your answers must be based on Holmes Institute syllabus of this unit. Outside sources may not amount to more than 10% of any answer and must be correctly referenced in full.  Over-reliance on outside sources will be penalised

  • Reference sources must be cited in the text of the report and listed appropriately at the end in a reference list using Holmes Institute Adapted Harvard Referencing. Penalties are associated with incorrect citation and referencing.


Individual Assignment Guidelines and Specifications

Specific 

Instructions

  • You need to provide your answer, first as text in a MS Word document, and second as an executable Python script (.PY file).

  • Your code must be written in Python 3. (You get no marks if your script is written in Python 2 or a programming language other than Python).

  • Make sure that your code runs successfully for all possible entries.

  • Your code must be appropriately commented. 

  • Try to approach the solution with the least number of steps. Your code must be clear, logical and easy to read and understand.

  • Please do NOT zip your files in .RAR file format (use ZIP format if required, as the RAR format is not supported in Blackboard).

  • Please do NOT submit an empty file or folder.

  • Please do NOT convert your code into images. Your code must be executable as a .PY file, not an image. Images will not be marked.

  • Please note you are required to explain your script in-class and run your program as part of this assessment. Please make sure that your submission is your own work.


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:

  1. User Interface:

  • Provide a user-friendly console interface for interaction.

  • Simple menu options to navigate between different functionalities.

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

  1. Report Generation:
    Generate a simple report that includes:

  • Total number of tasks

  • Number of tasks completed

  • Number of tasks remaining

  1. Validation:

  • Validate user inputs to ensure task names are not empty.

  1. Error Handling:

  • Handle potential errors gracefully and provide informative messages to the user.

Implementation Steps:

  1. Setup:

  • Create a Python script file (e.g. todo_list.py).

  • Set up the basic structure and user interface.

  1. Task Input:

  • Implement the function to add tasks to the list.

  • Integrate this function into the user interface.

  1. Task Management:

  • Implement functions to view tasks and mark them as done.

  • Integrate these functions into the user interface.

  1. Report Generation:

  • Design a simple summary report format.

  • Implement a function to generate and display the report.

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