(501324-3) Data Structure

Homepage and Syllabus

Disclaimer

This is the best information available as of today, Tuesday September 24, 2022 at 12:00 a.m. KSA time. Changes will appear in this web page as the course progresses.

Meeting time and place

  • Section 334:
    • Tuesday 4:00 p.m. - 7:00 p.m. (in classroom 42204)
    • Thursday 2:00 p.m. - 4:00 p.m. (in classroom 29102)
  • Section 340:
    • Tuesday 2:00 p.m. - 4:00 p.m. (in classroom 42207)
    • Thursday 4:00 p.m. - 7:00 p.m. (in classroom 29201)

Instructor: Dr. Emad Alsuwat

Course Homepage: https://emadalsuwat.github.io/datastructure-1st-Trimester-2022-2023.html
Office: W101 CIT
Office hours: Wednesday 12:00 p.m. - 2:00 p.m. and Wednesday 4:00 p.m. - 6:00 p.m.
Phone: NA
Email: Alsuwat@tu.edu.sa

Course Overview

This course introduces students to development, implementation, and analysis of efficient data structures and algorithms. Topics include analysis of sorting and searching algorithms and abstract data types such as stacks, queues, linked list, trees, graphs, and hash tables.

Learning Outcomes

By the end of the course, students should be able to:
  • To develop students’ knowledge in data structures and the associated algorithms
  • To introduce the concepts and techniques of structuring and operating on Abstract Data Types in problem solving.
  • To discuss common sorting, searching and graph algorithms
  • To study the complexity and comparisons among these various techniques
  • To apply and implement learned algorithm design techniques and data structures to solve problems

Textbook

  • Required: Mark Allen Weiss , Data Structures and Algorithms in C++, 4th edition

Examinations

  • Midterm Exam:
    • Section 334: TBD
    • Section 340: TBD
  • Final Exam:
    • Section 334: TBD
    • Section 340: TBD

Grading

  • Midterm Exam: 25%
  • Homework Assignments: 15%
  • Quizzes and Participation: 5%
  • Labs: 15%
  • Final Exam: 40%

Topics to be covered

Below are roughly the sections of the Mark Allen book that I will cover. I may de-emphasize some topics and add others, but this is basically the list.

Topic Text Reference
PART ONE STANDARD DATA STRUCTURES
Introduction / Definitions
Arrays
Pointers
Structures
Hashing
Linked List
Stacks & Queues
Trees
PART TWO STANDARD ALGORITHMS
Sorting
Searching
Algorithm Analysis

Lecture Notes and Homework Assignments

Note that changes to the table below will appear week by week as the course progresses

Week Topic Slides Assignment Due Date
Week 1 Introduction + Arrays Lecture 1
Lecture 2
Homework 1 Sep 12, 2022
Week 2 Pointers Lecture 3 - -
Week 3 Quiz 1 (340) + Quiz 1 (334) + Structures Lecture 4 Homework 2 Oct 3, 2022
Week 4 Linked List Lecture 5 - -
Week 5 More on Linked List Linked List Implementation - -
Week 6 Stacks & Queues Lecture 6 Homework 3 Oct 29, 2022
Week 7 Hashing + Midterm Exam Lecture 7 - -
Week 8 Trees Lecture 8 - -
Week 9 Sorting Lecture 9 - -
Week 10 Searching Lecture 10 - -
Week 11 Algorithm Analysis Lecture 11 Homework 4 Nov. 10, 2022
Week 12 Final Exam - - -