Week number  Units  Instructional Objectives(Actions that prove the students adoption of specified behavior and achievement, learning outcomes, content)  Readings  Keywords 
Unit Number  Unit/Chapter/Subject title  Reference Number  Pages 
First   First meeting:  Introducing the curriculum (course content)  Review of the previous prerequisite (basics)  Highlighting the knowledge and skills the curriculum is based on  1) Presenting an overview of the curriculum's content and extent 2) Clarifying curriculum requirements 3) Specifying methods of communication between students and their instructors 4) Clarifying the assessment techniques/methods of the learning objectives 5) Clarifying policies concerning instruction, classroom participation and assessment 6) Advising students on note taking and time management techniques 7) Introductory test (pretest)    Exam purpose, Time management, Note taking strategies 
Second  First Unit  Unit 1: Introduction   Explain the main objectives of Data Structure
 Learn the main objectives of Algorithms
 Show the main difference between the objectives of Data Structures and Algorithms.
 #1  125  Data Structures objectives. Algorithms objectives 
Third  Second Unit  Unit 2: Some Basics of Algorithms   Explain the definition of an Algorithm;
 Understand the Principle of optimality;
 Show the Time and space complexity of an Algorithm;
 Use on Asymptotic notations O (Big „Oh?) ? (Big „Omega?) and ? (Theta) Notations
 #1  30  70  Algorithm, Optimality, Complexity 
Fourth  Unit 3  Role of Algorithms in Computing   Explain the properties of an Algorithm
 Show the Pseudocode conventions for algorithm
 Discuss the performance of algorithms
 #1  80  120  Algorithms Properties, Performance 
Fifth  Unit 4  Analysis of Algorithms I   Learn the Time and space complexity of an Algorithm;
 Explain and use of various types of analyses of algorithms; and
 Analyze worstcase running times of algorithms
 #1  125  150  Complexity, Worstcase analysis 
Sixth  Unit 5  Analysis of Algorithms II   Define a Recurrence Method;
 Solve recurrence equations that arises in recursive algorithms;
 Some more examples to understand Time and Space Complexity
 #1  150  170  Recurrence Relation, Recurrence equation 
Seven  Unit 6  Analysis of Algorithms II   Explain more nonrecursive examples to understand Time and Space Complexity;
 Explain more recursive examples to understand Time and Space Complexity;
 #1  170  190  Recursion 
Eight  Unit 7  Design Technique I   Use DivideandConquer strategy for solving problems; and
 Explain different algorithms by using the above technique.
 #1  200  220  Design Techniques 
Nine  Unit 8  Design Technique II  o Explain and apply the Greedy technique for solving optimization problems; o Explain when an algorithmic design situation calls for it; and o Explain Some applications such as MST, single shortest path, and Huffman codes  #1  220  230  Design Technique 
Ten  Unit 9  Traversal Techniques  o Explain and apply various graph search techniques; and o Discuss relative merits and demerits of these search techniques.  #1  220  240  Graph search 
Eleven  Unit 10  Graph Applications   Explain some applications such as topological sort;
 Show the construction of strong components and articulation points.

 #1  240  250  Strong components Articulation points 
Twelve  Unit 11  Dynamic Programming Design Technique Longest Common Subsequence   Explain the dynamic programming technique for solving optimization problems;
 explain when an algorithmic design situation calls for it; and
 Show the problem longest common subsequence (LCS)
 #1  250  260  Dynamic Programming 
Thirteen  Unit 11  Exact String Searching: Checking  o Explain what an exact String Searching algorithm is;  Describe the performance issues;
 Be familiar with the different checking operations; and
 Show some exact string searching algorithms such naïve algorithm.
 #1  270280  String Searching 
Fourteen  Unit 12  Approximate Searching   Explain what an approximation algorithm is;
 Describe some applications using approximation algorithms; and
 Show some algorithms and examples using k mismatches.
 #1  290  300  Approximate string searching 