Skip to content

Latest commit

Β 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Object-Oriented Programming (OOP)

This repository contains comprehensive coursework, exercises, and projects for an Object-Oriented Programming course using C++. The materials demonstrate progressive learning from basic programming concepts to advanced OOP principles.

πŸ“ Repository Structure

πŸ“š Theory Section (theoretical)

Theoretical foundations and structured learning materials

Week 1 (LT-TUAN-01) - Programming Fundamentals

  • BAI-TAP-01: Core programming exercises
    • Fraction operations and arithmetic
    • Date manipulation systems
    • Login authentication systems
    • University admission calculator
    • Number guessing games

Week 2 (LT-TUAN-02) - Introduction to Classes

  • BAI-TAP-02: First OOP implementations
    • HOCSINH: Student class with grade calculations
    • SOPHUC: Complex number operations

Week 3 (LT-TUAN-03) - Class Design Patterns

Week 4 (LT-TUAN-04) - Operator Overloading

  • BAI-TAP-04: Advanced operator implementations
    • BAI02: Fraction arithmetic operators
    • BAI05: Date arithmetic operations
    • BAI07: Polynomial class with full operator support
    • BAI09: Integer wrapper class

Week 5 (LT-TUAN-05) - Dynamic Memory Management

Week 6 (LT-TUAN-06) - Advanced Class Features

  • BAI01: 3D point manipulation and geometric calculations

Week 7 (LT-TUAN-07) - Inheritance and Polymorphism


πŸ› οΈ Practice Section (practice)

Hands-on implementation and skill development

Week 1 (TH-TUAN-01) - Basic Programming Practice

Week 2 (TH-TUAN-02) - Object Fundamentals

  • DIEM: Point class with geometric operations
  • PTBAC1: Linear equation solver
  • SOPHUC: Complex number arithmetic

Week 3 (TH-TUAN-03) - Class Implementation Practice

  • BAI01: Triangle class with validation
  • BAI02: Polynomial operations

Week 4 (TH-TUAN-04) - Operator Implementation

  • BAI02: Quadratic function operations

Week 5 (TH-TUAN-05) - Advanced Operations

Week 6 (TH-TUAN-06) - Final Exam Preparation


πŸ“ Assignment Section (assignment)

Project-based learning and comprehensive applications

Core OOP Projects (BT-OOP)

Week 6 Assignments (BT-06)

  • BAI01: 3D geometric calculations
  • BAI04: Advanced point operations

Week 7 Assignments (BT-07) - Advanced OOP

Operator Overloading Projects (BT-OVERLOADING)

  • BAI1: Complex number operators
  • BAI5: Date arithmetic
  • BAI7: Polynomial mathematics

Mid-term Projects (BT-GIUA-KY)

  • BAI02: Quadratic equation comprehensive system

Final Exam Projects (BT-CUOI-KY)

  • KIEMTRACUOIKY2: Complete enterprise management system with:
    • Full employee hierarchy (LAPTRINHVIEN, KIEMCHUNGVIEN)
    • File I/O operations
    • Advanced search and filtering
    • Statistical analysis functions

🎯 Learning Progression

Foundation Level (Weeks 1-2)

  • Basic programming with structs
  • Introduction to classes and objects
  • Simple member functions

Intermediate Level (Weeks 3-5)

  • Advanced class design
  • Operator overloading mastery
  • Dynamic memory management
  • Container implementations

Advanced Level (Weeks 6-7)

  • Inheritance hierarchies
  • Polymorphism and virtual functions
  • File operations and data persistence
  • Complex system architecture

πŸ—οΈ Key Project Highlights

Employee Management Systems

Multiple implementations demonstrating evolution of OOP understanding:

  1. Basic Version: Simple employee data management
  2. Intermediate Version: Added inheritance and basic polymorphism
  3. Advanced Version: Complete system with file I/O, search, and analytics

Mathematical Object Systems

  • Fraction Calculator: Complete arithmetic with operator overloading
  • Polynomial Algebra: Mathematical expression handling
  • Complex Numbers: Advanced mathematical operations
  • Geometric Calculations: Point, triangle, rectangle, and circle operations

Academic Management Systems

  • Student Information: Grade calculations and classification
  • University Management: Student types, scholarships, and statistics
  • Course Management: Multiple academic scenarios

Progressive Complexity: Each folder builds upon previous concepts, creating a comprehensive learning journey from basic programming to advanced object-oriented design patterns.

About

IT002.O28

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages