TECH6100 Intermediate Programming

Assessment 2 Information


Subject Code:


Subject Name:

Intermediate Programming

Assessment Title:

Online Tasks Analysis

Assessment Type:


Word Count:

2000 Words (+/-10%)


40 %

Total Marks:




Due Date:

Week 9


Your Task


This assessment is to be completed individually. In this assessment, you will create an application via object-oriented programming and develop an application using best practices and design patterns which meets the specifications described in the case study.


Assessment Description


This assessment is designed to test your advanced understanding and practical application of classes, inheritance, and design patterns in Python 3. You will be developing an Online Bookstore Management System, implementing classes for different types of books, users, and order processing.


You will be provided with a case study which will require you to use your problem-solving skills and you will create an application via object-oriented programming and apply best practices and design patterns to an application. You will need to create a solution and develop the program using Python 3 language.


Case Study:

You have been hired as a senior software engineer to design and develop an Online Bookstore Management System for a multinational book retail company called "Bookiverse." The system should handle various aspects of an online bookstore, including book inventory management, user management, and order processing. You need to create classes for books, users, and orders, implementing advanced features and design patterns as outlined below:


Book (class)

  • Properties: title (string), author (string), price (float), quantity (integer), and type

(one of multiple book types: ‘Fiction’, ‘Non-Fiction’, ‘Sci-Fi’, ‘Mystery’, and ‘Biography’)

  • Getters: getTitle(), getAuthor(), getPrice(), getQuantity(), getType()
  • Setters: setPrice(newPrice), setQuantity(newQuantity)
  • Methods: A      repr  method that displays information about the book


User (class)

  • Properties: username (string), email (string), and password (string)
  • Getters: getUsername(), getEmail()
  • Setters: setEmail(newEmail), setPassword(newPassword)
  • Methods: A      repr  method that displays information about the user


Order (class)

  • Properties: order_id (string), user (User object), book (Book object), and quantity


  • Getters: getOrderId(), getBook(), getQuantity()
  • Setters: setQuantity(newQuantity)
  • Methods: A      repr  method that displays information about the order


Note: You may need to incorporate appropriate design patterns, such as Factory, Singleton, or Observer, to enhance the system's architecture and functionality.


This assessment aims to achieve the following subject learning outcomes:



Create an application via object-oriented programming.


Develop an application using best practices and design patterns.


Assessment Instructions

Assessment instructions for this assessment:


  1. Read the case study provided and interpret the program specifications.
  2. Develop a Python 3 program that meets the specifications outlined in the case study.
  3. Submit your Python 3 program code to the designated submission platform by the due date.

a) You must submit your Python 3 program code in .py format extension. Any other formats will not be accepted.

  1. Implement the Python classes and methods based on the provided requirements.
  2. Utilise appropriate inheritance and class properties.
  3. Apply basic principles of object-oriented programming, including encapsulation and inheritance.
  4. Follow the PEP 8 coding conventions and use meaningful names for variables and functions.
  5. Include comments to explain the functionality and any assumptions made.
  6. Test the classes with suitable inputs to ensure correctness.
  7. Please refer to the assessment marking guide to assist you in completing all the assessment criteria.


Note: Aim to demonstrate your advanced understanding and application of object-oriented programming principles, design patterns, and algorithms. Consider code reusability, maintainability, and system efficiency.


Important Study Information


Academic Integrity Policy

KBS values academic integrity. All students must understand the meaning and consequences of cheating, plagiarism and other academic offences under the Academic Integrity and Conduct Policy.


What is academic integrity and misconduct? What are the penalties for academic misconduct? What are the late penalties?

How can I appeal my grade?


Click here for answers to these questions:


Word Limits for Written Assessments

Submissions that exceed the word limit by more than 10% will cease to be marked from the point at which that limit is exceeded.


Study Assistance

Students may seek study assistance from their local Academic Learning Advisor or refer to the resources on the MyKBS Academic Success Centre page. Click here for this information.


Assessment Marking Guide


Marking Criteria

           | 40 marks

F (Fail) 0 – 49%

P (Pass) 50 – 64%

C (Credit) 65 – 74%

D (Distinction) 75 – 84%

HD (High Distinction) 85 – 100%


Code Functionality



           | 6 marks

The program does not compile or execute correctly.

The program compiles and executes, but with limited functionality.

The program compiles and executes with expected functionality.

The program demonstrates additional functionality beyond the requirements.

The program exceeds all requirements and demonstrates exceptional functionality.


Class Implementation



           | 8 marks

The classes are not implemented or do not adhere to the specifications.

The classes are implemented but lack proper inheritance or have limited functionality.

The classes are implemented correctly and inherit from the parent class.

The classes are implemented correctly with proper inheritance and demonstrate good design principles.

The classes are implemented flawlessly, showcasing exceptional design principles and code organisation.


Design Patterns



           | 8 marks

No design patterns are implemented or applied.

Basic design patterns are implemented but lack a comprehensive approach.

Design patterns are correctly applied in relevant areas of the application.

Design patterns are effectively implemented, improving code structure and functionality.

Design patterns are expertly applied, resulting in highly maintainable and extensible code.


Use of OOP Concepts



           | 8 marks

There is no evidence of understanding or application of object- oriented programming concepts.

Basic object-oriented programming concepts are applied, but with limited understanding.

Object-oriented programming concepts such as encapsulation and inheritance are properly applied.

Object-oriented programming concepts are skilfully applied, resulting in code

reusability and maintainability.

Object-oriented programming concepts are expertly applied, leading to highly

reusable and maintainable code.


Code Style and Naming

Code does not follow the PEP 8 conventions and lacks proper naming conventions.

Code follows some of the PEP 8 conventions but contains inconsistent or

improper naming

Code follows most of the PEP 8 conventions and uses meaningful names for variables

and functions.

Code follows PEP 8 conventions and uses consistent and meaningful names for

variables and functions.

Code strictly adheres to PEP 8 conventions and uses clear and meaningful names for

variables and functions.



           | 5 marks










           | 5 marks

No testing is performed on the classes.

Basic testing is performed to ensure minimal functionality.

Testing is performed on the classes to ensure correct functionality.

Thorough testing is performed to validate the classes' functionality and handle edge cases.

Comprehensive testing is conducted, covering a wide range of scenarios and producing accurate


Feedback and grades will be released via MyKBS


Example invalid form file feedback

Join our 150К of happy users

Get original papers written according to your instructions and save time for what matters most.