0% found this document useful (0 votes)
12 views5 pages

Lab5

The document outlines a series of programming projects for 2nd Year Computer Science Engineers at the University of Mostaganem, focusing on Object-Oriented Programming (OOP). Each project has specific objectives and tasks, including creating applications for library management, task management, games, and various data management systems. The projects emphasize the use of Java Swing components and object manipulation to enhance programming skills.

Uploaded by

abdelkarim fatis
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views5 pages

Lab5

The document outlines a series of programming projects for 2nd Year Computer Science Engineers at the University of Mostaganem, focusing on Object-Oriented Programming (OOP). Each project has specific objectives and tasks, including creating applications for library management, task management, games, and various data management systems. The projects emphasize the use of Java Swing components and object manipulation to enhance programming skills.

Uploaded by

abdelkarim fatis
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

University of Mostaganem

2nd Year Computer Science Engineers


Subject : Object-Oriented Programming (OOP)

Lab5

Project 1. Library Management System


▪ Objectives: Learn how to manage data as objects, manipulate collections (List, Map),
and use Swing components for the user interface.
▪ Tasks to be performed:
o Create a Book class with attributes such as title, author, and ISBN.
o Implement a Library class that contains a list of books.
o Create interfaces to add, delete, modify, and display books using JTextField,
JTable, and JButton.
o Use a JTable to display the list of books with the ability to search by title or
author.
o Implement sorting and filtering mechanisms.
Project 2. Task Management Application (To-do List)
▪ Objectives: Learn how to create interactive applications where users can add, modify,
and delete tasks.
▪ Tasks to accomplish:
o Create a Task class with attributes such as task name, due date, and priority.
o Use a JList or JTable to display the tasks.
o Allow the user to add, mark as completed, and delete tasks with JButton.
o Implement a filtering system to view tasks by priority or date.
o Add a search bar to find specific tasks.
Project 3. Tic Tac Toe Game
▪ Objectives: Learn how to manage user events to manipulate the state of a game with a
graphical interface.
▪ Tasks to accomplish:
o Create a 3x3 grid for the game using JButton to represent each cell.
o Implement the game logic (checking for a win or a draw).
o Manage turns between two players (use JLabel to display the game status).
o Add features such as restarting the game or playing against the computer.

Year : 2024/2025 OOP : TP4 ENSEIGNANT : M. ZEBOUDJ

1
Project 4. Employee Management (HR)
▪ Objectives: Learn how to manipulate complex objects and manage data in the form of
tables.
▪ Tasks to accomplish:
o Create an Employee class with attributes such as first name, last name, position,
salary, etc.
o Use a JTable to display employee information.
o Implement functionalities to add, modify, delete, and search employees.
o Add a sorting feature for employees by various criteria (name, salary, seniority).
Project 5. CSV File Reader
▪ Objectives: Learn how to work with external files (CSV) and display data in a graphical
interface.
▪ Tasks to accomplish:
o Implement a button to load a CSV file and display the data in a JTable.
o Allow modification of data directly in the table.
o Add a button to save the changes back to the CSV file.
o Implement error-handling mechanisms for file format issues.
Project 6. Advanced Text Editor
▪ Objectives: Learn how to create a full-featured text editor with formatting and file
management capabilities.
▪ Tasks to accomplish:
o Create a text editor using a JTextArea and menus for functions such as copy,
paste, cut, etc.
o Add a toolbar for formatting (fonts, sizes, styles).
o Implement file management features such as saving, opening, and handling text
files using JFileChooser.
o Implement an "Undo/Redo" system.
Project 7. Investment Portfolio Management
▪ Objectives: Understand the management of financial data and display interactive
reports.
▪ Tasks to accomplish:
o Create an Investment class with attributes such as name, invested amount,
return, etc.

Year : 2024/2025 OOP : TP4 ENSEIGNANT : M. ZEBOUDJ

2
o Use a JTable to display investments.
o Implement profitability calculations and graphs to show investment progress.
o Add options to add, delete, and modify investments.
Project 8. Contact Management Application (Address Book)
• Objectives: Learn how to manage contacts as objects and display them interactively.
• Tasks to accomplish:
o Create a Contact class with information such as name, email, and phone number.
o Use a JList or JTable to display contacts.
o Implement features to add, delete, and search contacts.
o Add a feature to sort contacts by name or category.
Project 9. Data Analysis Dashboard
▪ Objectives: Learn to work with external data (CSV), display graphs and statistics.
▪ Tasks to accomplish:
o Create an interface with various graphical components to display statistics (bars,
histograms, etc.).
o Load data from a CSV file or a database (use JTable to display raw data).
o Add graphs (e.g., using JFreeChart or another Swing chart tool).
o Calculate averages, trends, and display these results.
Project 10. Pong Game
▪ Objectives: Understand time management and event handling in a game, user
interaction.
▪ Tasks to accomplish:
o Create the logic for the Pong game with paddles and a ball.
o Use events to detect player movements (keyboard or mouse).
o Implement a score that increases as a player scores points.
o Add features such as changing the ball's speed based on score or time.
Project 11. Cash Register Simulator
▪ Objectives: Learn to create a transaction interface with interactive elements.
▪ Tasks to accomplish:
o Create an interface where users can add products, display the total, apply
discounts, etc.

Year : 2024/2025 OOP : TP4 ENSEIGNANT : M. ZEBOUDJ

3
o Use buttons to add items, a JTable to display the list of added items.
o Calculate the total and apply discounts if necessary.
o Add a button to print receipts.
Project 12. Student Grades Management
▪ Objectives: Create a system for managing academic results.
▪ Tasks to accomplish:
o Create a Student class with attributes such as name, grade, and subject.
o Use a JTable to display students' grades by subject.
o Add buttons to add grades, modify, or delete entries.
o Implement the logic to calculate the average grades and display the result.
Project 13. Personal Budget Management Application
▪ Objectives: Learn to manage financial data and visualize it through graphs.
▪ Tasks to accomplish:
o Create a Transaction class with attributes such as amount, category, and date.
o Create an interface to add transactions (income or expenses).
o Use a JTable to display transactions and calculate the balance.
o Add graphs (e.g., a pie chart to visualize expenses by category).
Project 14. Store Inventory Management
▪ Objectives: Learn to manage an inventory with objects and display the data dynamically.
▪ Tasks to accomplish:
o Create a Product class with information such as name, quantity, and price.
o Use a JTable to display available stock products.
o Implement features to add, modify, delete products, and adjust quantities.
o Add a notification feature when stock reaches a critical threshold.
Project 15. Quiz Management System
▪ Objectives: Learn to manage interactive question/answer sessions using Swing
components.
▪ Tasks to accomplish:
o Create a Question class with attributes such as the question, answer options, and
correct answer.
o Use a JComboBox or JRadioButton to display answer options.

Year : 2024/2025 OOP : TP4 ENSEIGNANT : M. ZEBOUDJ

4
o Implement logic to verify answers and calculate the user's score.
o Add a timer system to limit the response time.
Project 16. File Explorer
▪ Objectives: Create an interface to navigate directories and manage files.
▪ Tasks to accomplish:
o Create a graphical interface with a tree view (JTree) to display directory
structure.
o Implement features to open, rename, delete files or folders using JButton.
o Add a search field to find a specific file or folder.
o Implement a system to display detailed information about files (size, creation
date, etc.).

Year : 2024/2025 OOP : TP4 ENSEIGNANT : M. ZEBOUDJ

You might also like