CT088-0-M Programming in Python Individual Assignment Page 1 of 3
Course Learning Outcomes:
Upon completion of this assignment, you should be able to:
CLO1 Explain the fundamental concepts and methods of the Python programming language
(C2, PLO1)
CLO2 Formulate a problem-based strategy for creating and applying programmed
solutions. (A4, PLO9)
CLO3 Write a custom function in the Python programming language for solving specific
problems (C6, PLO2)
1.0 INDIVIDUAL ASSIGNMENT DESCRIPTION
You are required to develop a Python-based program that manages and tracks borrowed books in a
library. The system should demonstrate the use of functions, input/output operations, and control
structures (selection and repetition). Your solution should reflect problem-solving skills and the
ability to organize code using user-defined functions.
CASE STUDY: Library Management System
Scenario:
A librarian wants to automate the management of borrowed books. The system must track book
details, borrowing dates, and overdue fines. It should allow searching for books, displaying all
borrowed books, and calculating fines. The system should allow users to:
• Enter book details (title, borrower name, due date).
• Track whether books are returned on time.
• Calculate overdue fines (e.g., RM0.80 per day late).
• Search for a specific book or borrower.
• Display all borrowed books with their status and fines.
Task 1: Conceptual Design (20%)
• Explain your approach to solving the problem.
• Identify the key variables (e.g., book title, borrower, due date, fine).
• Specify the data types and data structures (e.g., list, dictionary) you will use.
• Outline the control structures (loops, conditionals) that will be applied.
Master Pre-Requisite Asia Pacific University of Technology and Innovation 082025
CT088-0-M Programming in Python Individual Assignment Page 2 of 3
Task 2: Strategy Development (30%)
• Provide a step-by-step breakdown of your solution logic.
• Justify the use of:
o Loops for handling multiple books and borrowers.
o Functions for modularity (e.g., add book, check overdue, calculate fine, search
book, display all).
o Validation to ensure correct inputs (e.g., valid date format, positive values).
• Describe how you will ensure scalability (support for many books and borrowers)..
Task 3: Python Implementation (50%)
Develop a Python program that:
1. Allows input of multiple books with details:
o Book Title
o Borrower Name
o Borrow Date & Due Date
2. Calculates overdue fines:
o RM0.80 per day after the due date.
3. Stores each book’s data using a suitable data structure (e.g., list or dictionaries).
4. Provides a search feature:
o Search by book title.
o Search by borrower name.
5. Displays:
o Individual book details (title, borrower, due date, fine if any).
6. Must include:
o At least three user-defined functions.
o Repetition and selection structures.
o Input validation and error handling.
o Clear comments, good variable naming, and indentation.
The program submitted should be compiled and executed without errors. Besides, validation
should be done for each entry from the users to avoid logical errors.
Master Pre-Requisite Asia Pacific University of Technology and Innovation 082025
CT088-0-M Programming in Python Individual Assignment Page 3 of 3
2.0 REQUIREMENTS
• Validation must be included to ensure correct data entry (e.g., no empty book titles, valid
date format).
• The program must be menu-driven (e.g., options to add a book, search, and view summary).
• Follow modular programming practices using functions.
• Graphical interface is not required; focus on programming logic.
• You may add extra features if they enhance the system (e.g., the ability to mark books as
returned).
• Good programming practices (comments, naming conventions, indentation) must be
applied.
• Plagiarism is strictly prohibited and will be dealt with according to APU regulations.
• Use Python only (NO C/Java/other languages).
3.0 DELIVERABLES
You are required to submit a softcopy of:
1. Python Program (.py file) – Name the file under your name and TP number (e.g.,
KATHY_SIERRA_TP123456.py).
o The first two lines of your program must include your name and TP number, for
example:
# KATHY SIERRA
# TP123456
2. Documentation (Word/PDF) covering Task 1 and Task 2.
Submission Deadline:
22nd SEPTEMBER 2025
4.0 ASSESSMENT CRITERIA
• Understanding of Concepts (20%) – Clear explanation of fundamental Python concepts.
• Problem-Solving Strategy (30%) – Well-developed step-by-step strategy.
• Code Correctness & Functionality (30%) – Program runs correctly and produces the
required output.
• Code Readability & Comments (20%) – Proper code structure, comments, and
formatting.
Master Pre-Requisite Asia Pacific University of Technology and Innovation 082025