Mshabab Alrizah

Algorithms and Data Structures 1

مخترع الخوازمات هو ابو عَبد الله مُحَمَّد بن مُوسىً الخَوارِزمي عالم  رياضيات وفلك وجغرافيا مسلم

كل علوم الخوارزمات التي تدرسها هي نتيجة لجهد عالم مسلم من اوزبكستان في العهد العباسي.

ثق في نفسك بانك تستطع ان تفهم هذه المادة وتستطيع ان تظيف عليها الكثير لتخدم نفسك ووطنك

Announcements

About the course

The course aims to introduce the students to the principles of efficient algorithms to enhance their programming skills. Data Structures (Stacks, queues, strings, and trees) are described as abstract data types with their methods by training extensive examples and applications. Designing and analyzing different searching and sorting algorithms are objectives to improve the student’s skills. A brief introduction to binary trees and graphs is also covered.

Instructor

Dr. Mshabab Alrizah

Location: TBA

Office hourse: TBA

Lectures

Monday: TBA

Tusday: TBA

Teaching Assistants

TBA

Office Location: nan

Office hours: nan

Email: nan

Prerequisites

Computer Programming – II (113 CSM-4)

Programing Language: JAVA 

Textbook(s)

  • Data Structure and Algorithms in Java , (4rd Edition), Adam Drozdek.Cengage Learning 2013

Extra books ( not required )

  • Introduction to Algorithms, (3rd Edition). Thomas H. Cormen , MIT Press.
  • Algorithm Design, Jon Kleinberg and Eva Tardos, Addison-Wesley, 2005.
  • Algorithms (1st Edition), Sanjoy Dasgupta, Christos H. Papadimitriou, and Umesh V. Vazirani.

More resours

TBA

Homework and programming assignments

Assignments #1:

Assignment #2:

Evaluation and grade

Assignments: 5%  (each one 2.5%)

Quizzes: 5%

Lab Activities: 5%

Two Midterm exams: 20% (First exam 10%, second exam 10%)

Final exam: 50%

Attendance: 5%

Final Lab exam: 10%

Schedule

This schedule is subject to change depending on how the course progresses.

WeekTopicSlidesAssignment/ HW outAssignment/ HW Due
1Course Overview: Data structure, Types of data structures, Arrays and Vectors in JAVA, Abstract data types
Complexity Analysis : Algorithm and its properties, Computational and Asymptotic Complexity, Complexity Notations – Big-Omega(?) and Theta(?) Notations, The Best, Average and Worst Case Analysis.
2Complexity Analysis : Algorithm and its properties, Computational and Asymptotic Complexity, Complexity Notations – Big-Omega(?) and Theta(?) Notations, The Best, Average and Worst Case Analysis.
Linked Lists: Introduction Assignment 1
3Linked Lists: Singly Linked List and its basics operations –Insertion
Linked Lists: Singly Linked List and its basics operations –Insertion Assignment 1
4Linked Lists: Deletion and Search
Linked Lists: Circular Linked Lists
5Linked Lists: Case Study Quiz 1
Stacks: Introduction to Stack
6Stacks: Basic Operations on Stacks – clear, push and pop.
Stacks: Basic Operations on Stacks – clear, push and pop. Applications of Stack.
7Stacks: Applications of Stack , Case Study.
Mid 1 Mid 1
8Stacks: Case Study.
Queues: Introduction to Queue, Basic operations on Queue – clear, endeque, dequeue. Applications of Queue, Priority Queues. Assignment 2
9Queues: Basic operations on Queue – clear, endeque, dequeue.
Queues: Applications of Queue, Priority Queues. Assignment 2
10Queues: Applications of Queue, Priority Queues. Quiz 2
Searching: Sequential and Binary Search
11Searching: Sequential and Binary Search
Searching: Introduction to Binary Tree and Graph
12Searching: Introduction to Binary Tree and Graph
Mid 2 Mid 2
13Sorting: Sorting Techniques
Sorting: Insertion Sort, Bubble Sort
14Sorting: Quick Sort and Merge Sort
Lab exam Lab Exam
15Sorting: Case Study
Review
16Final Exam Final