📚 A comprehensive collection of Object-Oriented Programming course materials, examples, and assignments using C++ and Java
This repository contains all the programs, practicals, and assignments for CSE 1201: Object Oriented Programming Language course. It is organized by weekly topics and includes both C++ and Java code examples with extensive documentation.
- About the Course
- Topics Covered
- Repository Structure
- Getting Started
- Languages & Tools
- Main Textbook
- How to Use This Repository
- Contributing
- Community
- License
📚 New to this repository? Check out the Getting Started Guide for setup instructions!
🗺️ Looking for specific topics? See the Complete Content Index for a detailed catalog of all materials!
⚡ Need quick answers? Visit the Quick Reference Guide for commands and common concepts!
💬 Need help? Visit our Support Guide for assistance!
Course Code: CSE 1201
Course Title: Object Oriented Programming Language
Weekly Hours: 3 hours/week
Credits: 3.00
This course introduces the fundamental principles of Object-Oriented Programming (OOP). Students learn to design modular, reusable, and maintainable code using C++ and Java.
Md. Jahidul Islam
Chairman,
Department of Computer Science and Engineering
Chandpur Science and Technology University
Mostafiz Ahammed
Lecturer
Department of Computer Science and Engineering
Chandpur Science and Technology University(Previously)
Herbert Schildt – Teach Yourself C++
This book is the primary reference used throughout the course for understanding OOP concepts and syntax in C++.
Y. Daniel Liang - Introduction to Java programming
This book is the primary reference used for Learning Java and OOP in Java
- Philosophy of OOP vs. Structured Programming
- Encapsulation, Classes & Objects
- Access Specifiers, Static and Non-Static Members
- Constructors, Destructors & Copy Constructors
- Arrays of Objects, Object Pointers & References
- Inheritance (Single & Multiple)
- Polymorphism (Function Overloading, Virtual Functions, Abstract Classes)
- Exception Handling
- Object-Oriented File I/O
- Template Functions & Classes
- Multithreaded Programming
CSE-1201-Object-Oriented-Programming-Language/
│
├── OOP in C++/ # C++ Implementation
│ ├── Lecture_01: An Overview of C++/
│ ├── Lecture_02: Introducing Classes/
│ ├── Lecture_03: A Closer Look at Classes/
│ ├── Lecture_04: Arrays, Pointers, and References/
│ ├── Lecture_05: Function Overloading/
│ ├── Lecture_06: Introducing Operator Overloading/
│ ├── Lecture_07: Inheritance/
│ ├── Lecture_08: Introducing the C++ IO System/
│ ├── Lecture_09: Advanced C++ IO/
│ ├── Lecture_10: Virtual Functions/
│ ├── Lecture_11: Generic Functions/
│ ├── Lecture_12: Run-Time Type Identification/
│ ├── Lecture_13: Namespaces & Misc Topics/
│ ├── Lecture_14: Standard Template Library/
│ └── Practice/ # Practice problems and exercises
│
├── OOP in Java/ # Java Implementation
│ ├── Chapter 1 - Introduction to Computers, Programs, and Java/
│ ├── Chapter 2 - Elementary Programming/
│ ├── Chapter 3 - Selections/
│ ├── Chapter 4 - Mathematical Functions, Characters, and Strings/
│ ├── Chapter 5 - Loops/
│ ├── Chapter 6 - Methods/
│ ├── Chapter 7 - Single-Dimensional Arrays/
│ ├── Chapter 8 - Multidimensional Arrays/
│ ├── Chapter 9 - Objects and Classes/
│ ├── Chapter 10 - Object-Oriented Thinking/
│ ├── Chapter 11 - Inheritance and Polymorphism/
│ ├── Chapter 12 - Exception Handling and Text I/O/
│ ├── Chapter 13 - Abstract Classes and Interfaces/
│ └── Code_Example/ # Additional code examples
│
├── Exams/ # Exam materials
│ ├── CT/ # Class Tests
│ ├── Lab/ # Lab Exams
│ └── Final/ # Final Exam materials
│
├── CONTRIBUTING.md # Contribution guidelines
├── CODE_OF_CONDUCT.md # Code of conduct
├── LICENSE # MIT License
└── README.md # This file
For C++ Programs:
# Install g++ compiler (Linux/Mac)
sudo apt-get install g++
# Or use MinGW on Windows
# Download from: http://mingw.org/For Java Programs:
# Install JDK (Java Development Kit)
sudo apt-get install default-jdk
# Verify installation
java -version
javac -version# Navigate to any C++ file
cd "OOP in C++/Lecture_02: Introducing Classes"
# Compile
g++ filename.cpp -o output
# Run
./output# Navigate to any Java file
cd "OOP in Java/Chapter 9 - Objects and Classes"
# Compile
javac ClassName.java
# Run
java ClassName- C++ - Primary OOP language
- Java - Secondary OOP language
- g++ - C++ compiler
- JDK - Java Development Kit
- Browse Topics: Navigate through lecture folders based on your study needs
- Read Documentation: Each topic includes detailed markdown guides
- Study Examples: Review well-commented code examples
- Practice: Try practice problems in the Practice folder
- Experiment: Modify code and see how changes affect output
- Use as supplementary teaching material
- Reference for assignment ideas
- Examples for classroom demonstrations
Each folder includes:
- ✅ Well-commented example programs
- ✅ Detailed markdown documentation
- ✅ Practical lab tasks
- ✅ Practice exercises
- ✅ Real-world applications
This repository helps you:
- ✨ Understand fundamental OOP principles
- ✨ Master C++ and Java programming
- ✨ Practice with hands-on examples
- ✨ Prepare for exams and practicals
- ✨ Build a strong foundation for advanced programming
Contributions are welcome! This repository is for academic and self-learning purposes.
- 🌟 Star this repo if you find it helpful
- 🍴 Fork it to create your own version
- 📝 Submit PRs to suggest improvements
- 🐛 Report issues for bugs or errors
Please read CONTRIBUTING.md for detailed guidelines.
We believe in building a supportive learning community! Here's how you can engage:
- Getting Started Guide - Setup and installation instructions
- Quick Reference Guide - Fast reference for commands and concepts
- Content Index - Complete catalog of all materials
- Support Guide - Community support and help resources
- Known Issues - Known issues and their status
- Code Style Guide - Coding standards and best practices
- Code of Conduct - Community standards and expectations
- Security Policy - Reporting security vulnerabilities
- Contributing Guidelines - How to contribute effectively
- Contributors - Recognition of all contributors
We've created templates to make it easier to report issues:
- Bug Report - Report compilation errors, bugs, or issues
- Feature Request - Suggest new features or improvements
- Question - Ask questions about the course material
- Issues: Open an issue
- Discussions: Join discussions (if enabled)
- Support: Read the Support Guide
This project is licensed under the MIT License - see the LICENSE file for details.
- 139 C++ Programs
- 17 Java Programs
- 80+ Markdown Documentation Files
- 14 C++ Lecture Topics
- 13 Java Chapter Topics
- Course instructors and teaching assistants
- Herbert Schildt for the excellent C++ textbook
- All contributors who help improve this resource
For questions or suggestions:
- Open an issue in this repository
- Follow the contribution guidelines
- Refer to university academic resources
⭐ If this repository helped you, please consider giving it a star! ⭐
Made with ❤️ for CSE 1201 Students
All programs are tested and written for educational use. Course materials follow the university curriculum.