dsa
dsa
1
Practical Coursework Question: Design and Implement a Dynamic
Library Management System (100 Marks)
In this practical project, you are tasked with creating a dynamic library
management system that efficiently employs various data structures and
algorithms. This project offers hands-on experience by applying theoretical
knowledge to a real-world application in the domain of library services.
Deliverables
1. Data Structures Implementation:
• Linked Lists: Utilize linked lists to manage a dynamic collection of
books and media resources.
• Stack: Implement a stack to record the history of modifications and
transactions, such as book check-ins, check-outs, or metadata
updates.
• Hash Table: Incorporate a hash table to optimize search operations
based on book attributes such as ISBN, title, or author.
2. Functionality:
• CRUD Operations: Develop functionalities for adding, updating and
deleting book entries.
• Display Options: Create features to display the library collection in
various sorted orders (e.g., by title, author, publication date, or
genre).
• Search Mechanism: Implement an efficient search mechanism
using hashing to quickly locate specific books or media items.
3. Sorting and Searching:
• Sorting Algorithms: Employ appropriate sorting algorithms to
facilitate ordered display of library items based on various attributes.
2
• Searching Algorithms: Integrate efficient searching algorithms to
ensure fast retrieval of book details from the collection.
4. Documentation:
• Provide detailed documentation that explains the design choices,
data structure implementations and algorithmic approaches used in
your project.
• Discuss any challenges encountered during the development process
and how they were resolved.
REQUIREMENTS
1. Submit the assignment through the portal on or before the due date.
allowed.
3. Fill in the Appendix A and upload it together with source code files and
assignment unmarkable as the lecturer will not know the group members.
5. The group leader should rename each file using this format :
student_number_name_of file
separate files
7. ONLY the group leader should upload the file in 6. Other group members
8. The number allowed in a group is FOUR ONLY. Groups of more than FOUR
3
OR LESS are NOT allowed and the work will NOT be Marked.
9. Belonging to more than on group will NOT be allowed. Anyone that will
10. If a group member does not participate in doing the work, indicate on
mark
11. There will NOT be an extension of the Assignment and you are
deadline
portal.
4
APPENDIX A