This document provides a comprehensive index of all topics, code examples, and learning materials in this repository.
Location: OOP in C++/Lecture_01: An Overview of C++/
1.cpp- Basic output with integers and doubles2.cpp- Multiple data types output3.cpp- Console input/output4.cpp- Formatted I/O5.cpp- Input validation
Documentation:
3.cpp_console_io_summary.md- Console I/O guide
- Comment styles and best practices
Documentation:
4.cpp_comments_structured.md- Comments guide
- Introduction to classes and objects
Documentation:
5.cpp_classes_structured.md- Classes introduction6.cpp_differences_overloading_structured.md- C vs C++ differences7.cpp_keywords_structured.md- C++ keywords referencecpp_skills_check.md- Skills assessment2.cpp_versions_summary.md- C++ versions overview
Key Concepts: Console I/O, Basic Syntax, Classes Introduction
Location: OOP in C++/Lecture_02: Introducing Classes/
Topics:
- Constructors and Destructors
- Parameterized Constructors
- Inheritance Basics
- Object Pointers
- Class vs Struct vs Union
- Inline Functions
- Automatic Inlining
Documentation:
1.constructor_destructor_guide.md2.parameterized_constructors_guide.md3.cpp_inheritance_guide.md4.cpp_object_pointers_guide.md5.cpp_class_struct_union_guide.md6.cpp_inline_functions_guide.md7.cpp_automatic_inlining_guide.md
Key Concepts: Constructors, Destructors, Object Lifecycle, Memory Management
Location: OOP in C++/Lecture_03: A Closer Look at Classes/
Topics:
- Object Assignment
- Passing Objects to Functions
- Returning Objects from Functions
- Friend Functions
Documentation:
1.cpp_object_assignment_guide.md2.cpp_objects_functions.md3.cpp_returning_objects.md4.cpp_friend_functions.md
Key Concepts: Object Manipulation, Function Design, Friend Access
Location: OOP in C++/Lecture_04: Arrays, Pointers, and References/
Topics:
- Arrays of Objects
- Pointers to Objects
- The
thisPointer newanddeleteOperators- Advanced Memory Management
- References
- Object References
- Returning References
- Independent References
Documentation:
1.cpp_arrays_objects_tutorial.md2.cpp_pointers_objects_tutorial.md3.cpp_this_pointer_tutorial.md4.cpp_new_delete_guide.md5.cpp_advanced_new_delete.md6.cpp_references_guide.md7.cpp_object_references_guide.md8.cpp_returning_references.md9.cpp_independent_references.md
Key Concepts: Memory Management, Pointers, References, Dynamic Allocation
Location: OOP in C++/Lecture_05: Function Overloading/
Topics:
- Constructor Overloading
- Copy Constructors
- Default Arguments
- Overloading Ambiguity
- Overloaded Function Addresses
Documentation:
1.cpp_constructor_overloading.md2.cpp_copy_constructor_guide.md3.cpp_default_arguments.md4.cpp_overloading_ambiguity.md5.overloaded_function_address.md
Key Concepts: Function Overloading, Copy Semantics, Default Parameters
Location: OOP in C++/Lecture_06: Introducing Operator Overloading/
Topics:
- Operator Overloading Basics
- Binary Operator Overloading
- Relational and Logical Operators
- Unary Operator Overloading
- Friend Operator Functions
- Assignment Operator
Documentation:
1.operator_overloading_basics.md2.binary_operator_overloading.md3.relational_logical_operators.md4.unary_operator_overloading.md5.friend_operator_functions.md6.assignment_operator_guide.md
Key Concepts: Operator Overloading, Custom Operators, Operator Semantics
Location: OOP in C++/Lecture_07: Inheritance/
Topics:
- Inheritance Fundamentals
- Protected Members
- Constructors and Destructors in Inheritance
- Multiple Inheritance
- Virtual Base Classes
Documentation:
1.cpp_inheritance_guide.md2.cpp_protected_members_guide.md3.cpp_constructors_destructors_inheritance.md4.cpp_multiple_inheritance_guide.md5.cpp_virtual_base_classes_guide.md
Key Concepts: Inheritance, Access Control, Multiple Inheritance, Virtual Base Classes
Location: OOP in C++/Lecture_08: Introducing the C++ IO System/
Topics:
- I/O Basics
- Formatted I/O
- Width, Precision, and Fill
- I/O Manipulators
- Inserters
- Extractors
Documentation:
1.cpp_io_basics.md2.cpp_formatted_io.md3.cpp_width_precision_fill.md4.cpp_io_manipulators.md5.cpp_inserters_guide.md6.cpp_extractors_guide.md
Key Concepts: Stream I/O, Formatting, Manipulators
Location: OOP in C++/Lecture_09: Advanced C++ IO/
Topics:
- Manipulators
- File I/O
- Binary I/O
- I/O Functions
- Random Access
- I/O Status
- Customized I/O for Files
Documentation:
1.cpp_manipulators_guide.md2.cpp_file_io_guide.md3.cpp_binary_io_guide.md4.cpp_io_functions_guide.md5.cpp_random_access_guide.md6.cpp_io_status_guide.md7.cpp_customized_io_files.md
Key Concepts: File Operations, Binary I/O, Stream States
Location: OOP in C++/Lecture_10: Virtual Functions/
Topics:
- Pointers to Derived Classes
- Virtual Functions Introduction
- Virtual Functions Implementation
- Polymorphism Applications
Documentation:
1.cpp_pointers_derived_classes.md2.cpp_virtual_functions_intro.md3.virtual_functions_guide.md4.polymorphism_application_guide.md
Key Concepts: Polymorphism, Virtual Functions, Dynamic Binding, Runtime Polymorphism
Location: OOP in C++/Lecture_11: Generic Functions/
Topics:
- Generic Functions (Templates)
- Generic Classes
- Exception Handling Basics
- Advanced Exceptions
- Custom Exceptions
Documentation:
1.cpp_generic_functions_guide.md2.cpp_generic_classes_guide.md3.cpp_exception_handling.md4.advanced_cpp_exceptions.md5.cpp_new_exceptions.md
Key Concepts: Templates, Generic Programming, Exception Handling
Location: OOP in C++/Lecture_12: Run-Time Type Identification and the Casting Operators/
Topics:
- RTTI (Run-Time Type Identification)
- dynamic_cast
- Casting Operators (static_cast, const_cast, reinterpret_cast)
Documentation:
1.cpp_rtti_guide.md2.cpp_dynamic_cast_guide.md3.cpp_casting_operators_guide.md
Key Concepts: RTTI, Type Casting, Type Safety
Location: OOP in C++/Lecture_13: Namespaces, Conversion Functions, and Miscellaneous Topics/
Topics:
- Namespaces
- Conversion Functions
- Static Members
- Const Member Functions
- Constructors (Final Look)
- Linkage Specifiers and asm
- Array I/O
Documentation:
1.cpp_namespaces_guide.md2.cpp_conversion_functions_guide.md3.cpp_static_members_guide.md4.const_member_functions_guide.md5.constructors_final_look_guide.md6.linkage_specifiers_asm_guide.md7.cpp_array_io_guide.md
Key Concepts: Namespaces, Type Conversion, Static Members, Const Correctness
Location: OOP in C++/Lecture_14: Introducing the Standard Template Library/
Topics:
- STL Overview
- Vectors
- Lists
- Maps
- STL Algorithms
- STL Strings
Documentation:
1.stl_overview_guide.md2.cpp_vectors_guide.md3.cpp_lists_guide.md4.cpp_maps_guide.md5.stl_algorithms_guide.md6.stl_string_guide.md
Key Concepts: STL Containers, Iterators, Algorithms, Generic Programming
Location: OOP in C++/Practice/
Practice Topics:
1.C++ Classes and Objects.md2.C++ Constructors and Destructors.md3.C++ Operator Overloading.md
Location: OOP in Java/Chapter 1 - Introduction to Computers, Programs, and Java/
Key Concepts: Java Basics, JVM, Program Structure
Documentation: README.md
Location: OOP in Java/Chapter 2 - Elementary Programming/
Key Concepts: Variables, Data Types, Operators, Expressions
Documentation: README.md
Location: OOP in Java/Chapter 3 - Selections/
Key Concepts: if Statements, switch, Boolean Logic
Documentation: README.md
Location: OOP in Java/Chapter 4 - Mathematical Functions, Characters, and Strings/
Key Concepts: Math Class, Character Handling, String Operations
Documentation: README.md
Location: OOP in Java/Chapter 5 - Loops/
Key Concepts: while, do-while, for Loops, Nested Loops
Documentation: README.md
Location: OOP in Java/Chapter 6 - Methods/
Key Concepts: Method Definition, Parameters, Return Values, Overloading
Documentation: README.md
Location: OOP in Java/Chapter 7 - Single-Dimensional Arrays/
Key Concepts: Array Declaration, Initialization, Processing
Documentation: README.md
Location: OOP in Java/Chapter 8 - Multidimensional Arrays/
Key Concepts: 2D Arrays, Matrix Operations
Documentation: README.md
Location: OOP in Java/Chapter 9 - Objects and Classes/
Topics:
- OOP Introduction
- Classes and Objects
- Constructors
- Instance vs Static Members
- Encapsulation
- Passing Objects to Methods
- Array of Objects
- Immutable Objects
- Scope of Variables
- The
thisReference
Documentation: README.md (1802 lines - Comprehensive guide)
Key Concepts: OOP Fundamentals, Encapsulation, Objects, Classes
Location: OOP in Java/Chapter 10 - Object-Oriented Thinking/
Key Concepts: Class Design, Object Relationships, Aggregation
Documentation: README.md
Location: OOP in Java/Chapter 11 - Inheritance and Polymorphism/
Key Concepts: Inheritance, Method Overriding, Polymorphism, super Keyword
Documentation: README.md
Location: OOP in Java/Chapter 12 - Exception Handling and Text I and O/
Key Concepts: Try-Catch, Exception Types, File I/O
Documentation: README.md
Location: OOP in Java/Chapter 13 - Abstract Classes and Interfaces/
Key Concepts: Abstract Classes, Interfaces, Multiple Inheritance
Documentation: README.md
Location: OOP in Java/Code_Example/
Example Files:
VirtualDemo.java- Virtual method demonstrationMain.java- Main class exampleStudent.java- Student class with inheritanceEmployees.java- Employee managementSalary.java- Salary calculation
Location: Exams/CT/
1.cpp- Test problem 12.cpp- Test problem 23.cpp- Test problem 34.cpp- Test problem 4
1.cpp- C++ problem2.cpp- C++ problem3.cpp- C++ problemHRSystem.java- HR System implementationShoppingCartSystem.java- Shopping cart implementationUniversitySystem.java- University system implementation
Location: Exams/Lab/
1.cppthrough6.cpp- Practice problems
1.cppthrough6.cpp- Test problems
- C++: Lecture 02, Lecture 03
- Java: Chapter 9
- C++: Lecture 02, Lecture 07
- Java: Chapter 11
- C++: Lecture 05 (Overloading), Lecture 06 (Operator Overloading), Lecture 10 (Virtual Functions)
- Java: Chapter 11
- C++: Lecture 10 (Virtual Functions)
- Java: Chapter 13 (Abstract Classes and Interfaces)
- C++: Lecture 11, Lecture 14 (STL)
- C++: Lecture 11
- Java: Chapter 12
- C++: Lecture 08, Lecture 09
- Java: Chapter 12
- C++ Lecture 01: Basics
- C++ Lecture 02: Classes Introduction
- Java Chapters 1-4: Fundamentals
- C++ Lectures 03-06: Advanced Classes, Overloading
- C++ Lecture 07: Inheritance
- Java Chapters 5-9: Loops, Methods, Arrays, Objects
- C++ Lectures 08-09: I/O Systems
- C++ Lectures 10-11: Polymorphism, Templates, Exceptions
- C++ Lectures 12-14: RTTI, STL
- Java Chapters 10-13: OOP Advanced Topics
- C++ Lecture 04: Pointers, References, new/delete
- C++ Lecture 05: Copy Constructors
- C++ Lecture 05: Function Overloading
- Java Chapter 6: Methods
- C++ Lecture 04: Arrays of Objects
- Java Chapters 7-8: Arrays
- C++ Lectures 01, 08, 09: Console and File I/O
- Java Chapter 12: File I/O
- All Languages:
- Classes: C++ Lecture 02, Java Chapter 9
- Inheritance: C++ Lecture 07, Java Chapter 11
- Polymorphism: C++ Lecture 10, Java Chapter 11
- Encapsulation: C++ Lecture 03, Java Chapter 9
- Total C++ Programs: 139
- Total Java Programs: 17
- Total Documentation Files: 80+
- C++ Lecture Sections: 14
- Java Chapter Sections: 13
- Practice Problems: Multiple sets
- Exam Materials: Multiple tests and practice exams
- Lectures 01-02 (Weeks 1-2)
- Lectures 03-04 (Weeks 3-4)
- Lectures 05-06 (Weeks 5-6)
- Lecture 07 (Week 7)
- Lectures 08-09 (Weeks 8-9)
- Lecture 10 (Week 10)
- Lecture 11 (Week 11)
- Lectures 12-14 (Weeks 12-14)
- Chapters 1-3 (Weeks 1-2)
- Chapters 4-5 (Weeks 3-4)
- Chapters 6-7 (Weeks 5-6)
- Chapter 8 (Week 7)
- Chapter 9 (Weeks 8-9)
- Chapter 10 (Week 10)
- Chapter 11 (Weeks 11-12)
- Chapters 12-13 (Weeks 13-14)
Alternate between C++ and Java topics each week to compare and contrast OOP implementations.
- Main README: Course overview
- Each chapter/lecture has its own README with detailed explanations
- Practice folders for hands-on exercises
- Exam materials for test preparation
This index is maintained and updated regularly. For the latest content, check the repository.
Last Updated: November 2024