[vc_row el_class=”inner-body-content” css=”.vc_custom_1667216309470{padding-top: 30px !important;padding-bottom: 20px !important;}”][vc_column][vc_custom_heading text=”COURSE OBJECTIVES” use_theme_fonts=”yes” css=”.vc_custom_1667216290165{margin-top: 0px !important;}”][vc_column_text]The course is designed to make students learn about the fundamental concepts of object-oriented programming and data structures. The course covers a number of basic and advanced data structure concepts including arrays, structures, linked lists, vectors, stacks, queues, trees. Advanced data structures will be taught using Object-Oriented class templates available for data structures. The students of this course will also learn about designing, managing, and analyzing small to moderate data structures. In addition, using C++ language, a variety of basic concepts of object-oriented programming is also covered.[/vc_column_text][vc_custom_heading text=”COURSE LEARNING OUTCOMES (CLO)” font_container=”tag:h3|text_align:left” use_theme_fonts=”yes”][vc_column_text]CLO: 1. Describe and identify fundamental concepts of object-oriented programming, and basic and advanced data structures (Level: C2)

CLO: 2. Explain, interpret, compare and apply algorithms and principles of object-oriented programming and advanced data structures to a particular situation (Level: C3)

CLO: 3. Design, implement and debug small-to-moderate programs to manipulate and manage data elements while exhibiting the object-oriented programming skills (Level: C5)[/vc_column_text][vc_custom_heading text=”COURSE CONTENTS” use_theme_fonts=”yes”][vc_column_text css=”.vc_custom_1669609461788{margin-bottom: 0px !important;}”]

  1. Introduction of the course – Four Lectures
    • Review of Computer Programming Concepts
  2. Basic data structures – Four Lectures
    • Multi-dimensional Arrays
    • Structures
    • Unions
    • User-defined Data Types
  3. Pointers & Typecasting – Six Lectures
    • Pointers, Reference Pointers
    • Array of Pointers vs. Pointer of Arrays
    • Typecasting
    • Memory Allocation (Static vs. Dynamic)
  4. Object-Oriented Programming in C++ – Seven Lectures
    • Classes and Objects
    • Class Member Functions, Constructors/Destructors
    • Operator and Function Overloading
    • Function and Class templates
    • Inheritance and Method Overriding
    • Polymorphism and Virtual Functions
  5. Advanced Data Structures – Six Lectures
    • Array Lists
    • Linked Lists
    • Vectors
    • Stacks
    • Queues
    • Trees
  6. Algorithms – Five Lectures
    • Recursion
    • Searching
      • Linear
      • Binary
      • Depth-First
      • Breadth-First
    • Sorting
      • Insertion & Selection
      • Bubble & Merge
      • Heap & Radix
    • Hashing
    • Big O Notation
    • Trees Traversal

[/vc_column_text][/vc_column][/vc_row]