(501324-3) Data Structure

Homepage and Syllabus

Disclaimer

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

Meeting time and place

  • Section 4948:
    • Tuesday 12:00 p.m. - 3:00 p.m. (Via Blackboard)

Instructor: Dr. Emad Alsuwat

Course Homepage: https://emadalsuwat.github.io/datastructure-Fall2023.html
Office: W101 CIT
Office hours: Monday 5:00 a.m. - 8: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 4948: TBD
  • Final Exam:
    • Section 4948: 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 Syllabus Week - - -
Week 2 Introduction Lecture 1 - -
Week 3 Arrays Lecture 2 Homework 1 Sep 18, 2023
Week 4 Pointers Lecture 3 - -
Week 5 Quiz 1 (340) + Quiz 1 (334) + Structures Lecture 4 Homework 2 Oct 7, 2023
Week 6 Linked List Lecture 5 - -
Week 7 More on Linked List Linked List Implementation - -
Week 8 Stacks & Queues Lecture 6 - -
Week 9 Stacks & Queues Lecture 6 Homework 3 Dec 7, 2023
Week 10 Midterm Exam - - -
Week 11 Hashing Lecture 7 - -
Week 12 Trees Lecture 8 - -
Week 13 Sorting Lecture 9 - -
Week 14 Mid-Semester Break - - -
Week 15 Searching Lecture 10 - -
Week 16 Algorithm Analysis Lecture 11 Homework 4 Dec 7, 2023
Week 17 Revision - - -
Week 18 & 19 Final Exams - - -