Page 1 of 8 AY1617 – July 15, 2016 /ccaro
HOLY ANGEL UNIVERSITY
COLLEGE OF INFORMATION AND COMMUNICATIONS TECHNOLOGY DESIGN AND ANALYSIS OF ALGORITHMS
COURSE SYLLABUS
Course Code : 6DEALGO Prerequisite : 6DS
Course Credit : 3 Units (3 hours LEC) Year Level: 3rd year
Degree Program : Bachelor of Science in Computer Science (BSCS) Course Description :
This course introduces the basic algorithmic analysis and strategies. It focuses on the principles of algorithms, its design and analysis. Fundamental ideas of algorithm analysis and design strategies will be covered. Throughout the course, different algorithm design strategies will be presented. Students are expected to know how to specify algorithm and apply design strategies to any computing problems
At the end of the course, students will be able to:
Course Outcomes Graduate Outcomes Aligned to C1 Identify and define the fundamentals of
analysis of algorithm efficiency, know the algorithms performance, synthesize and decide when an algorithmic design situation calls for it. Based on the following paradigms:
(1) Brute force
(2) Decrease and conquer (3) Divide and conquer (4) Transform and conquer (5) Greedy technique (6) Dynamic Programming (7) Space and Time Trade-Offs
BSCS01: Apply knowledge of computing, science and mathematical foundations, algorithmic principles and computer science
BSCS01.1: Defend using sound science and fundamentals
BSCS02: Identify, analyze, formulate, research literature, and solve complex computing problems and requirements reaching substantiated conclusions using fundamental principles of mathematics, computing sciences, and relevant domain disciplines
BSCS02.2: Adapt on practices and standards applicable to the problem domain
BSCS02.4: Translates verbal problems into mathematical algorithms so as to construct valid arguments using the accepted symbolic system of mathematical reasoning to determine extent of information needed.
C2 Incorporate the different data structures in order to formulate the best data
BSCS03: Design and evaluate solutions for complex computing problems, and design and evaluate systems, components, or processes that meet
Page 2 of 8 AY1617 – July 15, 2016 /ccaro
structures needed for the problem.
Evaluate the different ways to analyze algorithms (expected running time, probability of error)
Select an appropriate data structure for a particular design situation.
specified needs
BSCS03.1: Formulate set of alternative solutions to address complex computing problems
BSCS05: An ability to apply mathematical foundations, algorithmic principles and computer science
BSCS05.1: Decide on the use of appropriate algorithms for development of software where the balance on logic and efficiency is kept.
Learning Evidence
As evidence of attaining the above learning outcomes, the student has to do and submit the following:
LE1 Research Project
The research project involve a real life computing case which will assess how the student will make choices of algorithms to use to address requirements needed to solve the computing problem.
Based on the following :
Prove the correctness and analyze the running time of the basic algorithms for those classic problems in various domains;
Apply the algorithms and design techniques to solve problems;
Analyze the complexities of various problems in different domains.
C1, C2
Page 3 of 8 AY1617 – July 15, 2016 /ccaro
Measurement System (LE1)
To assess the level of performance in the learning evidences, the following rubrics will be used:
LE1: Research Project
Area to Assess Point Value
Correctness of Algorithm 30
Critical Thinking 30
Style and Mechanism (documentation) 20
Organization 20
Page 4 of 8 AY1617 – July 15, 2016 /ccaro
Learning Plan:
In order to achieve the outcomes of this course, learners will go through this learning plan.
Intended Learning Outcome
Unit#
(weeks)
Course Outcome
Topic Learning Activities Assessment Activity
Student Output Define the
meaning of algorithm Understand the fundamentals ideas of algorithmic problem solving Differentiate and know the
efficiency analysis and different asymptotic notations Distinguish the analysis between non – recursive and recursive algorithms Identify the
different algorithm design technique Differentiate the different sorting, searching techniques
1 -5 CO1 Algorithm
Fundamentals of Algorithmic Problem Solving
Problem types
Fundamentals of the Analysis of Algorithm efficiency
Analysis framework Asymptotic notations
Mathematical analysis of recursive and non – recursive algorithms
Brute force
Selection sort and Bubble sort
Sequential search and Brute Force string notation
Exhaustive search
Lecture Discussion Oral Recitation
Mastery and application test (oral/written)
Required Activity
Page 5 of 8 AY1617 – July 15, 2016 /ccaro
Intended Learning Outcome
Unit#
(weeks)
Course Outcome
Topic Learning Activities Assessment Activity
Student Output
Recognize the dissimilarity of the appropriate
algorithm based on the efficiency analysis
Decide what appropriate technique is to be use in designing an correct algorithm
Divide and conquer
Merge sort
Quick sort
Binary Search
Binary tree traversal and related properties
6 Prelim
Examination Identify the
different algorithm design technique Differentiate the different sorting, searching techniques Recognize the dissimilarity of the appropriate
algorithm based on the efficiency analysis
7-11 CO1, CO2
Decrease and conquer
Insertion sort
Depth – First Search and Breadth – First Search
Topological sorting
Decrease – by – a – constant factor algorithm
Variable Size Decrease algorithm
Transform and conquer
Presorting
Gaussian Elimination
Balanced Search Trees
Lecture Discussion Oral Recitation Research Brain Storming
Mastery and application test (oral/written)
Activity and Seatwork for application of different algorithms
Proposal for Research Project (LE1)
Page 6 of 8 AY1617 – July 15, 2016 /ccaro
Intended Learning Outcome
Unit#
(weeks)
Course Outcome
Topic Learning Activities Assessment Activity
Student Output
Decide what appropriate technique is to be use in designing an correct algorithm
Heaps and Heap sort
Horner’s rule and Binary Exponentiation
Problem Reduction
12 Midterm
Examination
Identify the
different algorithm design technique Differentiate the different sorting, searching techniques Recognize the dissimilarity of the appropriate
algorithm based on the efficiency analysis
Decide what appropriate technique is to be
13 - 17 Space and Time Trade-Offs
Input enhancement in string matching
Hashing
B-Trees
Dynamic Programming
Warshall’s Algorithm
Floyd’s Algorithm
Optimal Binary Search Tree
The knapsack problem and memory functions Greedy technique
Prim’s Algorithm
Kruskal’s Algorithm
Dijkstra’s Algorithm
Huffman Trees
Lecture Discussion Oral Recitation Research Brain Storming
Mastery and application test (oral/written)
Activity and Seatwork for application of different algorithms
Research Project (LE1)
Page 7 of 8 AY1617 – July 15, 2016 /ccaro
Intended Learning Outcome
Unit#
(weeks)
Course Outcome
Topic Learning Activities Assessment Activity
Student Output use in designing
an correct algorithm
18 Final
Examination
Course References:
A. Published Materials
Introduction to the Design and Analysis of Algorithms, 3rd Edition Levitin, Anany (2012)
Hyperspectral Data Processing : Algorithm Design and Analysis Chang, Chein-I (2013)
Algorithms by Dasgupta, Sanjoy (2008)
Algorithms by Johnsonbaugh, Richard (2004)
B. Web References
http://openclassroom.stanford.edu/MainFolder/CoursePage.php?course=IntroToAlgorithms (Design and Analysis of Algorithms by Prof. Tim Roughgarden)
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms- spring-2012/ (Design and Analysis of Algorithms Open Courseware)
https://www.coursera.org/course/algo (Algorithms: Design and Analysis)
Page 8 of 8 AY1617 – July 15, 2016 /ccaro
Grading System
The final grade in this course will be composed of the following items and their weights in the final grade computation:
Class Standing 70%
Major Exam 30%
FINAL GRADE = Class Standing + Major Exam Transmutation Table:
Minimum Passing Percent Average of Subject : 50
RANGE EQUIVALENTS (COMPUTED AVERAGES & TRANSMUTED VALUES)
Range of Computed Average Range of
Transmuted Values Grade General Classification
94.0000 100.0000 97 100 1.00 Outstanding
88.0000 93.9999 94 96 1.25 Excellent
82.0000 87.9999 91 93 1.50 Superior
76.0000 81.9999 88 90 1.75 Very Good
70.0000 75.9999 85 87 2.00 Good
64.0000 69.9999 82 84 2.25 Satisfactory
58.0000 63.9999 79 81 2.50 Fairly Satisfactory
52.0000 57.9999 76 78 2.75 Fair
50.0000 51.9999 75 3.00 Passed
Below Passing Average 5.00 Failed
Failure due to absences 6.00 FA
Unauthorized Withdrawal 8.00 UW
Officially Dropped 9.00 Dropped