Skip to content

M-F-Tushar/CSE-1201-Object-Oriented-Programming-Language

πŸŽ“ CSE 1201 - Object Oriented Programming Language

License: MIT GitHub Stars GitHub Forks PRs Welcome C++ Build Java Build

πŸ“š 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.

πŸ“‘ Table of Contents

πŸ“š 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!

πŸ“˜ About the Course

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.

Instructors πŸ‘¨β€πŸ«

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)

πŸ“š Main Textbook

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

🧠 Topics Covered

  • 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

πŸ“ Repository Structure

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

πŸš€ Getting Started

Prerequisites

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

Running C++ Programs

# Navigate to any C++ file
cd "OOP in C++/Lecture_02: Introducing Classes"

# Compile
g++ filename.cpp -o output

# Run
./output

Running Java Programs

# Navigate to any Java file
cd "OOP in Java/Chapter 9 - Objects and Classes"

# Compile
javac ClassName.java

# Run
java ClassName

πŸ›  Languages & Tools

  • C++ - Primary OOP language
  • Java - Secondary OOP language
  • g++ - C++ compiler
  • JDK - Java Development Kit

πŸ“– How to Use This Repository

For Students

  1. Browse Topics: Navigate through lecture folders based on your study needs
  2. Read Documentation: Each topic includes detailed markdown guides
  3. Study Examples: Review well-commented code examples
  4. Practice: Try practice problems in the Practice folder
  5. Experiment: Modify code and see how changes affect output

For Instructors

  • Use as supplementary teaching material
  • Reference for assignment ideas
  • Examples for classroom demonstrations

Repository Features

Each folder includes:

  • βœ… Well-commented example programs
  • βœ… Detailed markdown documentation
  • βœ… Practical lab tasks
  • βœ… Practice exercises
  • βœ… Real-world applications

🎯 Learning Objectives

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

🀝 Contributing

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.

πŸ‘₯ Community

We believe in building a supportive learning community! Here's how you can engage:

πŸ“– Documentation & Resources

πŸ›‘οΈ Policies & Guidelines

πŸ› Issue Templates

We've created templates to make it easier to report issues:

πŸ’¬ Get Help

πŸ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ“Š Repository Stats

  • 139 C++ Programs
  • 17 Java Programs
  • 80+ Markdown Documentation Files
  • 14 C++ Lecture Topics
  • 13 Java Chapter Topics

πŸ™ Acknowledgments

  • Course instructors and teaching assistants
  • Herbert Schildt for the excellent C++ textbook
  • All contributors who help improve this resource

πŸ“§ Contact

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.

About

Notes, Programs, practicals, and assignments for Object Oriented Programming (CSE 1201).

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published