AlgSecSem 2022
AlgSecSem 2022
Primary Reading
1. Course textbook: Introduction to Algorithms, Cormen, Thomas H.; Leiserson, Charles E.;
Rivest, Ronald L.; Stein, Clifford (2009). (3rd ed.). MIT Press. ISBN 0-262-03384-4.
Other References
2. Fundamentals of Computer Algorithms, E. Horowitz, & S. Sahni, Comp. Science Press, 1978.
3. Fundamentals of Sequential and Parallel Algorithms, K. Berman, and J. Paul, Vikas
Publishing Hours, 1996.
4. Algorithms, R. Sedgwick, Addison Wesley, 1988.
5. Computer Algorithms. Introduction to Design and Analysis. Sara Baase and Allen Van
Gelder. (3rd ed.). Addison Wesley. ISBN: 0-201-61244-5, 2000.
COURSE DESCRIPTION: An overview and review of advanced algorithm design and analysis
techniques. Design and evaluation techniques include divide and conquer, greedy, dynamic
programming, backtracking and branch and bound techniques. Introduction to N P-complete
problems.
INTENDED LEARNING OUTCOMES:
A. Knowledge and Understanding (1’st and 2nd level of Blooms taxonomy).
A1. Compare between algorithmic design techniques
A2. Explain the main concepts algorithms and complexity
A3. Choose the appropriate analysis method of given algorithm
B. Intellectual skill (the 3nd,4 th,5th.6the level of Blooms taxonomy).
B1. Be able to design efficient algorithms and contrast between different
algorithmic solutions.
B2. Transform solution description to implementable pseudocode algorithm steps
B3. Be able to evaluate and select the suitable solution
C. Professional and Practical skills
C1. Handling, analyzing and implementing a suitable and tested efficient solution
step for some problems.
C2. Solving advanced problems.
C3. Applying algorithmic techniques in real problems (Course project)
D. General and Transferable skills
D1. Gain the basic skills of working in teams
D2. Present the project and term report
Course Outline and Calendar (tentative):
Topics Weeks
Introduction to Design and Analysis of Algorithms 1 week A1,A2,A3
Growth of functions and complexity analysis 2 weeks A1,A2,A3,B1
Recurrences 2 weeks B1,B2,B3,C2
First Exam
Design Techniques: Incremental and Divide and Conquer 2 weeks B3,C
Greedy Design Technique 2 weeks B3,C
Graph algorithms 2 weeks B3,C1,C2,C3
Second Exam
Dynamic Programming 2 weeks A2,B1,B2
Backtracking and Branch and Bound 1 week B3,C2
Introduction to theory NP-Completeness 1 weeks C2,C3
Final Exam
TEACHING METHODS:
Lectures
Presentations
Course Policies
Assignments and term Project: Assignments must be submitted on the due date. Late
assignments are not accepted. Turn in as much of your assignments as you have finished by the
due date for practical credit.
Academic Dishonesty Policy: Students are encouraged to work and discuss together but not to
copy each other’s work. In case of copying, all parties will get a zero grade for the first offence. If
the case is repeated, students are not welcome any more in the class.
Missed Exams: No make-up exams shall be given. Excuses must be given to the office of dean.
They will be presented to the department for further discussion. The department has the right to
accept or deny students petitions.
Withdrawal from the Course: If a student is failing in the course, it is his/her responsibility to
withdraw before the deadline. The instructor will not withdraw any student because of his failing
grade.