Module End Activities
Module End Activities
Requirements:
1. Book Class:
• Implement a Book class to represent individual books.
• Attributes: Title, Author, ISBN (International Standard Book Number),
and Quantity.
• Method: Display book details.
2. Author Class:
• Create an Author class to represent authors.
• Attributes: Author name and a list of books written by the author.
• Method: Display author details.
3. Library Class:
• Develop a Library class to manage the overall library system.
• Methods:
o Add a new book to the library.
o Remove a book from the library.
o Search for a book by title or author.
o Display information about all books in the library.
o Display information about all authors in the library.
4. Exception Handling:
• Implement exception handling to manage potential errors, such as
book not found or invalid input.
• Ensure graceful handling of exceptions with informative error
messages for users.
1|Page
Project 2: Employee Record System
Create a command-line Employee Record System in Python utilizing classes
to represent individual employees. The system allows users to perform
operations like adding employees, updating details, deleting records,
searching for employees, and displaying employee information. Robust
exception handling is implemented to manage potential errors for a
smoother user experience.
Requirements:
1. Employee Class:
• Implement an Employee class representing individual employees.
• Attributes: Employee ID, Name, Position, Department, Salary, Joining Date.
• Method: Display employee details.
2. Exception Handling:
• Implement exception handling for potential errors, such as an
employee not found or invalid input.
• Ensure graceful handling of exceptions with informative error messages.
3. Employee Record System Class:
• Develop an Employee Record System class to manage the overall system.
• Methods:
o Add a new employee.
o Update employee details.
o Remove an employee.
o Search for an employee by ID or name.
o Display information about all employees.
4. User Interface:
• Create a simple command-line interface.
• Display a menu with options for adding, updating, deleting, searching,
and displaying employee information.
5. Input Validation:
• Validate user inputs for accurate and appropriate data entry.
• Implement checks for unique employee IDs and handle errors gracefully.
2|Page
6. Data Persistence:
• Save employee records to a file for persistence between program runs.
• Automatically load employee data at program start.
7. Error Handling:
• Ensure robust error handling for scenarios like file not found, invalid
input, or unsuccessful file operations.
• Display informative error messages to guide users in resolving issues.
3|Page
4. User Interface:
• Create a simple command-line interface.
• Display a menu with options for creating accounts, depositing,
withdrawing, checking balances, and displaying account information.
5. Input Validation:
• Validate user inputs for accurate and appropriate data entry.
• Implement checks to ensure valid account numbers and handle errors
gracefully.
6. Data Persistence:
• Save account information to a file for persistence between program runs.
• Automatically load account data at program start.
7. Error Handling:
• Ensure robust error handling for scenarios like file not found, insufficient
funds, or invalid input.
• Display informative error messages to guide users in resolving issues.
8. Documentation:
• Provide clear documentation, including a user guide.
• Include comments in the code for enhanced readability.
4|Page
2. Contact Class:
• Create a Contact class to represent contacts.
• Attributes: Contact Name, Phone Number, and Email.
• Method: Display contact details.
3. Scheduler Class:
• Develop a Scheduler class to manage the scheduling of messages.
• Methods:
o Schedule a new message with a specified time.
o View and edit scheduled messages.
o Remove a scheduled message.
o Display a list of scheduled messages.
o Automatically send messages at their scheduled times.
4. User Interface:
• Create a simple command-line interface for users to interact with the
scheduler.
• Display a menu with options for scheduling, editing, removing, and
viewing messages.
5. Input Validation:
• Validate user inputs for accurate and appropriate data entry.
• Ensure scheduled times are in the future.
6. Data Persistence:
• Save scheduled messages and contact information to a file for
persistence between program runs.
• Automatically load scheduled data when the program starts.
7. Error Handling:
• Implement robust error handling for scenarios like invalid inputs, file
not found, or unsuccessful file operations.
• Display informative error messages to guide users in resolving issues.
8. Notification System:
• Implement a notification system to alert users when messages are sent.
• Use a library or native Python functionality for handling notifications.
5|Page