Python project
King Fahd University of Petroleum & Minerals College of Computing and Mathematics Information and Computer Science Department ICS 104: Introduction to Programming in Python & C Lab project, Sections F77 & F73, Term 232 Library Management System 1|Page 1. Description A Library Management System is designed to help librarians efficiently manage their library resources, including books, borrowers, and loan records. The system consists of three primary components: – – Books: Information about the library’s collection of books, stored in a file (e.g., ‘books.txt’) with details such as ISBN, title, author, publication year, and availability status. Borrowers: Records of library patrons, stored in a file (e.g., ‘borrowers.txt’) with data including ID, name, and contact information. Checkouts: Records of books borrowed by patrons, stored in a file (e.g., ‘checkouts.txt’) with details like ISBN, borrower ID, checkout date, and expected return date. 2. Features and Functionalities: You are required to develop a menu-driven program that displays the following menu and keep displaying it until the user chooses the exit option. Library Management System ========================= 1. View list of books 2. View list of borrowers 3. Search for a borrower by ID 4. Search for a book by ISBN 5. Add a new borrower 6. Update book information 7. Delete a book 8. Add a new book 9. Checkout a book 10. Return a book 11. List books checked out by a borrower 12. Exit ========================= Enter your choice: 2|Page Below are the details for each possible choice: View list of books: Display all books in a tabular format, showing ISBN, title, author, publication year, and availability status. View list of borrowers: Display all borrowers in a tabular format, showing ID, name, and contact details. Search for a borrower by ID: Allow the user to search for a borrower by entering their ID. Display the borrower’s details if found or an error message if not. Search for a book by ISBN: Allow users to search for a book by entering its ISBN. Display book details if found; otherwise, show an error message. Add a new borrower: Prompt the user to enter a unique borrower ID (e.g., seven digits) and borrower name. Check if the ID already exists and add the borrower if it’s unique. Update book information: Allow the user to enter the book’s ISBN, display its details, and enable them to update the book’s title, author, or publication year. Update the book file accordingly. Delete a book: Prompt the user to enter a book’s ISBN, display its information, and request confirmation for deletion. If confirmed, remove the book record from the file and related checkout records. Add a new book: Prompt the user to enter a book’s ISBN (five-digit unique integer), title, author, and publication year. Ensure the ISBN is unique. Checkout a book: Allow a borrower to check out a book by entering the book’s ISBN and the borrower’s ID. Update the book’s availability status and record the checkout with dates. 3|Page Return a book: Allow a borrower to return a checked-out book by entering the book’s ISBN and the borrower’s ID. Update the book’s availability status and checkout record. List books checked out by a borrower: Prompt the user to enter a borrower’s ID and display a list of books checked out by that borrower. 3. Deliverables Each team should submit the following: 1. Working code written in a jupyter notebook file, the file should include the names, ids, section numbers of team members at the beginning. 2. A report as a separate word file that includes the following: • Description of how the team solved the problem • Contribution of each team member • Description of the different functions with their tasks • Screen shots of the running code. 4. Project Demo/Presentation Each team is required to present his project: • The project demos will be scheduled in the week of May 12-16 (during lab time). • During the demo, each member is expected to run the program and perform some of its functionalities. • Team members should be ready to answer any question about their code. So, make sure you read and understand all parts of the code. Notes: • Students fail to appear for project demo/presentation will get ZERO in the lab project. o Failing to answer questions means losing a major part of the project grade. 4|Page 5. Grading Policy The project weights 100 points: Item Points Report and code comments 5 Including meaningful comments in the code for all implemented functions 5 Adopting good programming practices: • Use meaningful variable names. • Modularity: Your program must contain as many functions as needed. You need to divide your problem into small tasks and each task is handled by a separate function. • Global variables are not allowed. 10 Code, presentation, and discussion 80 6. Guidelines • The project should be conducted by a team consists of TWO students • The deadline for submitting the lab project is Sunday May 11 before midnight. ➢ Submitting Monday before midnight will lead to 5% penalty or Submitting Tuesday before midnight 15% penalty. ➢ Later submissions will not be accepted. • Submission is through blackboard only; each team needs to submit a zipped file that contains the jupyter notebook file and the word file. • You are limited to the material covered in the course lectures and labs in your code. Using uncovered material/libraries is not allowed. • Only one member needs to submit the project. In case of multiple submissions, the latest submission will be considered. • Team members should contribute equally to the project (as much as possible). If a member contributes significantly less than the other member, his work will not be graded out 100, rather it will be graded proportionally to his contribution amount. 5|Page
Collepals.com Plagiarism Free Papers
Are you looking for custom essay writing service or even dissertation writing services? Just request for our write my paper service, and we'll match you with the best essay writer in your subject! With an exceptional team of professional academic experts in a wide range of subjects, we can guarantee you an unrivaled quality of custom-written papers.
Get ZERO PLAGIARISM, HUMAN WRITTEN ESSAYS
Why Hire Collepals.com writers to do your paper?
Quality- We are experienced and have access to ample research materials.
We write plagiarism Free Content
Confidential- We never share or sell your personal information to third parties.
Support-Chat with us today! We are always waiting to answer all your questions.