Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shahriar-raj/cse_108-object-oriented-programming-language-sessional
This repository contains all home and lab assignments for the CSE 108: Object Oriented Programming Language Sessional course, part of our Term-2, Level-1 curriculum. It applies theories from CSE 107 to problem-solving. We also learned JavaFX for frontend and made a java project "Football Player Database"
https://github.com/shahriar-raj/cse_108-object-oriented-programming-language-sessional
academic java javafx object-oriented-programming problems-solving programming project
Last synced: 16 days ago
JSON representation
This repository contains all home and lab assignments for the CSE 108: Object Oriented Programming Language Sessional course, part of our Term-2, Level-1 curriculum. It applies theories from CSE 107 to problem-solving. We also learned JavaFX for frontend and made a java project "Football Player Database"
- Host: GitHub
- URL: https://github.com/shahriar-raj/cse_108-object-oriented-programming-language-sessional
- Owner: shahriar-raj
- Created: 2024-07-30T08:43:57.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-01-15T07:11:47.000Z (22 days ago)
- Last Synced: 2025-01-15T08:49:01.983Z (22 days ago)
- Topics: academic, java, javafx, object-oriented-programming, problems-solving, programming, project
- Language: Java
- Homepage:
- Size: 1.26 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# CSE 108: Object-Oriented Programming Language Sessional
## Course Overview
CSE 108 is a 1.5 credit hour sessional course offered by the Department of Computer Science and Engineering (CSE) at Bangladesh University of Engineering and Technology (BUET). The course is designed to provide hands-on experience with the core principles of Object-Oriented Programming (OOP), complementing the theoretical knowledge gained in CSE 107: Object-Oriented Programming Language.
## Repository Structure
This repository contains assignments and projects implemented in **Java** and **C++**. Each assignment demonstrates the application of core OOP principles.
---
## Assignments and Projects
### 1. **Java Assignments**
- Focus on applying OOP principles in Java.
- **Key Topics Covered**:
- **Inheritance**:
- Implementing hierarchical relationships between classes.
- Utilizing `super` and overriding methods in derived classes.
- **Polymorphism**:
- Method overriding and dynamic method dispatch.
- Abstract classes and interfaces.
- **Encapsulation**:
- Using access modifiers (`private`, `protected`, `public`) to restrict access.
- Getter and setter methods for controlled access to class fields.
- **File I/O**:
- Reading and writing data to files.
- Handling exceptions during file operations.- **Example Work**:
- Creating a system for managing a library, including book classes and user interactions.
- Implementing an employee management system using inheritance and file-based persistence.---
### 2. **C++ Assignments**
- Focus on implementing OOP concepts using C++.
- **Key Topics Covered**:
- **Inheritance**:
- Base and derived class relationships.
- Overriding base class methods and calling parent class constructors.
- **Operator Overloading**:
- Customizing operators like `+`, `-`, and `<<` for user-defined types.
- **Friend Functions**:
- Enabling external functions to access private members.
- **Polymorphism**:
- Using virtual functions to implement dynamic binding.
- **Exception Handling**:
- Handling runtime errors with `try-catch` blocks.
- **Templates**:
- Implementing generic programming using function and class templates.- **Example Work**:
- Designing a banking system with account hierarchies (e.g., savings, current, fixed deposit).
- Implementing a basic vector class with overloaded operators for mathematical operations.---
## Getting Started
### Prerequisites
To compile and run the assignments, ensure you have the following:
- **Java Development Kit (JDK)**: For Java assignments.
- **C++ Compiler** (e.g., GCC, Clang): For C++ assignments.### Instructions
1. Clone the repository:
```bash
git clone https://github.com/shahriar-raj/CSE_108-Object-Oriented-Programming-Language-Sessional.git
cd CSE_108-Object-Oriented-Programming-Language-Sessional