π 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.