Algorithms and Data Structures 2
إنما التوفيق بيد الله سبحانه وتعالى. ولكن لا تسنى ان الله هو العدل, فكلما اجتهدت كلما حصلت, فلن يضيع الله علم عامل منكم
Announcements
All Announcements will be in the BlackBroard
About the course
This course advances the programming concepts and topics studied in 115CSM-Data Structures and Algorithms -I. The course develops the student’s understanding and abilities when using advanced programming concepts and techniques in a wide variety of computer science and real-world problems, intending to achieve an efficient implementation for solving a given problem. The main topics covered in the course include Algorithm analysis and implementation, recursion, trees & traversals, graphs, hashing.
Instructor
Dr. Mshabab Alrizah
Location: TBA
Office hourse: TBA
Lectures
Monday: 10 AM-11 AM
Tusday: 10 AM-11 AM
Thursday: 10 AM-11 AM
Teaching Assistants
No TA for this course
Office Location: nan
Office hours: nan
Email: nan
Prerequisites
115 CSM – 3
Programing Language: Java
Textbook
- Frist book: Data Structures and Algorithms in Java, 4th edition, BY Adam Drozdek,
Cengage Learning Asia, 2013- Link to Amazon Click here
- Secon Book: Data Structures and Problem Solving Using Java, 4th Edition by Mark Allen Weiss.
- Link to Amazon Click here
- Thrid book: Data Structures and Algorithms in Java, 6th Edition by Michael T. Goodrich, Roberto Tamassia, Michael H. Goldwasser. (new version)
- Link to Amazon Click here
More refrences
- 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.
Homework and programming assignments
Assignments #1:
Assignment #2:
LAB #1: on the blackboard
LAB#2:
LAB#3:
LAB#4:
Evaluation and grade
Assignments: 5% ( Assignemtn 1, Assignment 2, …….)
LAB Assignments: 5% (Lab1, Lab2, Lab,…..
Quizzes: 5%
Lab Quize: 5%
LAB final Exam: 10%
One Midterm exam: 20%
Final exam: 50%
Schedule
This schedule is subject to change depending on how the course progresses.
Date | WEEK | Topic | Slides | Assignment/ HW Due | Note |
---|---|---|---|---|---|
12-Sep | 3 | Registration issue | Lab | ||
14-Sep | 3 | Registration issue | |||
16-Sep | 3 | Overview of the course | |||
19-Sep | 4 | Introduction to objects & class in JAVA + eclipse installation | Lab | ||
21-Sep | 4 | Recall: of Object Oriented Program with Java | |||
23-Sep | 4 | Holiday | |||
26-Sep | 5 | Recall: Impelementation of Object Oriented Program with Java | Lab | ||
28-Sep | 5 | Recursion: Recursive Definitions, Rules of writing recursive Programs | |||
30-Sep | 5 | Recursion: Activation Record, methods calls and recursion implementation, | |||
3-Oct | 6 | Recursion: Fibonacci series, Factorial | Lab | ||
5-Oct | 6 | Recursion: Tail Recursion, Non- Tail Recursion, Excessive Recursion, Backtracking, 4 & 8 Queen’s Problem | |||
7-Oct | 6 | Binary Trees: Trees, Binary Trees | |||
10-Oct | 7 | Recursion: Eight queens problem and case study | Lab | ||
12-Oct | 7 | Binary Trees: Binary Search Trees, Implementing binary trees | |||
14-Oct | 7 | Binary Trees: Tree Traversal (Breadth-First Search Traversal) | |||
17-Oct | 8 | Long weekend | |||
19-Oct | 8 | Binary Trees: Tree Traversal ( Depth-First Search Traversal) | |||
21-Oct | 8 | Midterm | Midterm | ||
24-Oct | 9 | Binary Trees : :Implementing binary tree, Searching a binary search tree. | Lab | ||
26-Oct | 9 | Binary Trees: Insertion, Deletion, Tree Rotation | |||
28-Oct | 9 | Binary Trees: AVL tree Insertion and Deletion, Priority Queue | |||
31-Oct | 10 | Binary Trees: Tree traversals. insertion, deletion and case study. AVL Trees | Lab | ||
2-Nov | 10 | Binary Trees: Min-Heaps and Max- Heap Insertion & Deletion. | |||
4-Nov | 10 | Long weekend | |||
7-Nov | 11 | Binary Trees: Heaps | lab | ||
9-Nov | 11 | Multi-way Trees The family of B-Trees | |||
11-Nov | 11 | Multi-way Trees B-Tree Insertion and Deletion. | |||
14-Nov | 12 | Multi way Trees: B-Trees. | Lab | ||
16-Nov | 12 | Graphs: Graph Terminology and Definitions | |||
18-Nov | 12 | Graphs: Graph representation | |||
21-Nov | 13 | Multi way Trees: Inserting a keying in a B-Tree, deleting a keying in a B-Tree | Lab | ||
23-Nov | 13 | Graphs: Traversals, Shortest path, Spanning trees | |||
25-Nov | 13 | Graphs: Kruskal’s Algorithm, Connectivity | |||
28-Nov | 14 | Holiday | |||
30-Nov | 14 | Holiday | |||
2-Dec | 14 | Holiday | |||
5-Dec | 15 | Graphs :Graph traversals, Shortest paths. | Lab | ||
7-Dec | 15 | Hashing : Hashing Functions, Collision functions | |||
9-Dec | 15 | Hashing : Open & Closed Hashing, Linear probing | |||
12-Dec | 16 | Graphs (lab): Hashing | Lab | ||
14-Dec | 16 | Hashing :, Quadratic probing, Double Hashing, Chaining | |||
16-Dec | 16 | Hashing : Double Hashing, Chaining | |||
19-Dec | 17 | Long weekend | |||
21-Dec | 17 | Review | |||
23-Dec | 17 | Final Lab Assessment | Final Lab Assessment | ||
26-Dec | 18 | Final Exam | Final Exam | ||
28-Dec | 18 | Final Exam | Final Exam | ||
30-Dec | 18 | Final Exam | Final Exam |