Course Plan: Algorithm Analysis and Design
Course Plan: Algorithm Analysis and Design
Course Plan: Algorithm Analysis and Design
Department of Computer
Wadi Al Dawasir, Riyadh, Saudi Arabia
Course Plan
CS 413
I. Course Identification
Credit Group Level Hours Office Hours
3 419 8 Sun 10- 12Noon Sun 1-3 PM
Tues 8-9 AM Mon8-10 AM
Tues 9-11 AM
Wed 10-12 Noon
Thurs10-12 Noon
Course Objectives
The aim of this module is to learn how to develop efficient algorithms for
simple computational tasks and reasoning about the correctness of them.
Through the complexity measures, different range of behaviors of algorithms
and the notion of tractable and intractable problems will be understood.
Prerequisites
CS 383 – Definite Structures
PAGE 2
Week 3 Correctness of algorithm, Asymptotic Quiz-2, Test-2, Final Exam
Notations, Recurrences
Week 4 Divide and Conquer, Sloppiness Assignment -1, Test-2, Final Exam
Week 5 Quick Sort, Randomized Algorithms Test 2, Final Exam
Week 6 Median, Order Statistics, Heap Sort Test 2, Final Exam
Week 7 Dynamic sets and Priority Queues Test 3, Final Exam
Week 8 Linear-time Sorting, Lower Bounds, Test 3, Quiz 3, Final Exam
Counting Sort and Radix Sort
Week 9 Competitive Analysis. Dynamic Quiz 4, Final Exam
Programming
Week 10 Greedy Algorithms, Graphs, Minimum Test 4,Assignment-2,Final Exam
Spanning Trees
Week 11 Shortest Paths: Dijkstra's Algorithm, Test 5, Final Exam
Breadth-first Search
Week 12 Bellman-Ford, Shortest Paths in Dags, Test 5, Oral-1, Final Exam
Difference Constraints
Week 13 Depth-first Search, Edge Classification, All- Test 6, Final Exam
pairs Shortest Paths.
Week 14 Computational Geometry. Network Flow. Test 6, Final Exam
String Matching, Rabin-Karp Algorithm, NP-
completeness, Approximation Algorithms
Reference Materials
“Algorithm’s in C++”, Robert Sedgwick, Christopher, 3rd edition, peter
S. Gordon publications
“An introduction to the analysis of algorithms”, Robert Sedgwick,
Philippe flajot, Addison Wesley publications.
Anany Levitin, Introduction to the Design and Analysis of Algorithms,
Pearson Education, 2007
Sara Baase, Computer Algorithms: Introduction to Design and Analysis,
Third Edition, Addison-Wesley, 2000.
PAGE 3
V. Course Learning Outcomes
No Domain Learning Outcomes
CO 1 Knowledge Clarify the need for using big(O),
omega and theta notation for
performance description. Use these
notation for giving asymptotic lower,
upper and tight bounds on time-
based and space complexity and
determine simple algorithms
complexity and timing.
CO 2 Cognitive Skills Find recurrence-relations that depict
the complicated nature of time about
recursively characterized algorithms.
Portray the idea of recursion and
give samples of its utilization.
Investigate the recursive capacities
and methodology. Identify the time
for the requirement of a recursive
arrangement suitable for an issue.
CO 3 Interpersonal Skills Implement different types of
algorithms and applied them (savage
and Responsibility
power, covetous, partition &
overcome, back-tracking, branch &
bound, and heuristic) by taking
example of common human behavior.
Procedure for numerical estimate to
take care of mathematical issues, for
example, discovering the foundations
of a polynomial.
CO 4 Communication, Plan and execute a fitting hashing
capacity for an application and its
Information
impact on determination algorithm.
Technology, Numerical Discourse about the computational
productivity of the central
Skills
algorithms for categorizing, looking,
and hashing. Find solutions of issues
utilizing the crucial diagram
algorithms, including profundity first
and expansiveness first search,
single source and all-sets most brief
ways, transitive conclusion,
topological sort, and no less than one
PAGE 4
base spreading over tree calculation.
CO 5 Psychomotor skills Case Studies –Converting any
sorting algorithm to programs and
verified in computers.
A Apply the fundamental principles and methods of Computer Science to a wide range of
applications
C Apply advanced algorithmic and mathematical concepts to the design and analysis of software
D Describe the principles, concepts, and structured techniques to assess, evaluate, and synthesize
current information and trends in various fields.
F Recognize the social and ethical responsibilities of a professional working in the discipline
I Choose current techniques, skills and tools necessary for computing practice
J An ability to apply mathematical foundations, algorithmic principles, and computer science theory
in the modeling and design of computer-based systems in a way that demonstrates
comprehension of the tradeoffs involved in design choices
K An ability to apply design and development principles in the construction of software systems of
varying complexity.
PAGE 5
VII. Assessment Methods
2 CO2
3 CO3
4 CO4
5 CO5
Course Outcome
Analysis
Prepared by Checked by
Name:Dr.Mohamed. DrAbdallaAlAmeen
Mustaq
Position:Lecturer Head of the
Department
PAGE 6
Prepared by Checked by
Date:27/Jan/2018 Date:
PAGE 7