[vc_row el_class=”inner-body-content” css=”.vc_custom_1667211748872{padding-top: 30px !important;padding-bottom: 20px !important;}”][vc_column][vc_custom_heading text=”COURSE OBJECTIVES” use_theme_fonts=”yes” css=”.vc_custom_1667211710766{margin-top: 0px !important;}”][vc_column_text]Main objective of this course is to enable students to understand and implement common data structures and algorithms to manipulate those data structures using C++ techniques. Emphasis will be on a lot of practice in writing codes to implement all the major data structures.[/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. Understand the design of fundamental data structures as well as algorithms that operate on them. (C2-Understanding)
CLO: 2. Get rigorous hands-on experience on implementing different data structures in a programming language. (C3-Applying)
CLO: 3. Summarize data structures according to their typical uses, strengths, and weaknesses for designing optimized computer-based systems. (C4-Analyzing)
[/vc_column_text][vc_custom_heading text=”COURSE CONTENTS” use_theme_fonts=”yes”][vc_column_text css=”.vc_custom_1667211686627{margin-bottom: 0px !important;}”]

  1. Introduction to the course and course objectives
  2. Linear data structures
    • Arrays
    • Stack, Queues
    • Implementation using arrays
    • Implementation using Linked List
  3. Non Linear Data Structures
    • Recursion: Introduction
    • Trees by using linked lists
    • Binary trees, Binary Search Trees
    • BSTs Recursive and Iterative Traversals
    • AVL trees
    • Graphs by adjacency lists and matrices
  4. Heaps
  5. Some searching and sorting algorithms
  6. Project Presentations