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

Python project

We offer the best custom writing paper services. We have answered this question before and we can also do it for you.

GET STARTED TODAY AND GET A 20% DISCOUNT coupon code DISC20

We offer the bestcustom writing paper services. We have done this question before, we can also do it for you.

Why Choose Us

  • 100% non-plagiarized Papers
  • 24/7 /365 Service Available
  • Affordable Prices
  • Any Paper, Urgency, and Subject
  • Will complete your papers in 6 hours
  • On-time Delivery
  • Money-back and Privacy guarantees
  • Unlimited Amendments upon request
  • Satisfaction guarantee

How it Works

  • Click on the “Place Order” tab at the top menu or “Order Now” icon at the bottom and a new page will appear with an order form to be filled.
  • Fill in your paper’s requirements in the "PAPER DETAILS" section.
  • Fill in your paper’s academic level, deadline, and the required number of pages from the drop-down menus.
  • Click “CREATE ACCOUNT & SIGN IN” to enter your registration details and get an account with us for record-keeping and then, click on “PROCEED TO CHECKOUT” at the bottom of the page.
  • From there, the payment sections will show, follow the guided payment process and your order will be available for our writing team to work on it.