Uploaded by catallajohann

1 - CSAL101 Course Overview

advertisement
CSAL101: Algorithms and Complexity
Course Overview
Second Semester SY 2023-2024
Rodrigo C. Belleza Jr.
Dean of College of Computing and Multimedia Studies
Associate Professor V
COURSE DESCRIPTION
• The course covers approaches to the design and analysis of
algorithms including important algorithms and their complexity. It
covers topics on the analysis of algorithm efficiency,
characteristics, and examples of major algorithms such as Brute
Force and Exhaustive Search, Recursive and Backtracking,
Divide-and-Conquer, Decrease-and-Conquer, Transform and
Conquer, Space and Time Trade-Offs, Greedy algorithms,
Dynamic Programming, and Machine Learning algorithms.
LEARNING OUTCOMES
After taking this course, you should be able to:
1. Evaluate algorithms efficiency in terms of time and space
complexity;
2. Describe major algorithm designs;
3. Implement algorithms for each algorithm design; and
4. Choose among the major algorithm design the most appropriate
to solve a given problem including discussion of space and time
trade-offs.
EXPECTED OUTPUTS
LEARNING OUTCOME
PORTFOLIO OUTPUT
DUE DATE
Analysis and efficiency evaluation of algorithms under Brute
Force and Exhaustive Search algorithm design classification.
1, 2, 3, and 4
Computing problems that can be solved using recursion and
backtracking, divide and conquer, and decrease and conquer
algorithms.
Analysis and efficiency evaluation of algorithms under
transform and conquer, space and time trade-offs, and greedy
algorithm design classification.
Computing problem implementation that can be solved using
Dynamic Programming, and machine learning algorithms.
Midterm Period
Final Period
LESSON OUTLINE
WEEK
1
2
3
4
PRELIM PERIOD
LESSON/TOPIC
Course Overview
Introduction to Algorithms, Fundamentals of
the Analysis of Algorithm Efficiency and
Asymptotic Notation
Brute Force and Exhaustive Search Algorithms
Portfolio: Prelim Output
LESSON OUTLINE
WEEK
5
6
7
8
MIDTERM PERIOD
LESSON/TOPIC
Recursion and Backtracking Algorithms
Divide and Conquer Algorithms
Decrease and Conquer Algorithms
Portfolio: Midterm Output
LESSON OUTLINE
WEEK
9
10
11
12
SEMI-FINAL PERIOD
LESSON/TOPIC
Transform-and-Conquer Algorithms
Space and Time Trade-Offs Algorithms
Greedy Algorithms
Portfolio: Semi-Final Output
LESSON OUTLINE
WEEK
13
14
15-16
FINAL PERIOD
LESSON/TOPIC
Dynamic Programming Algorithms
Machine Learning Algorithms
Portfolio: Final Output
GRADING SYSTEM
• MIDTERM (40%)
• Portfolio: Prelim Output – 30%
• Portfolio: Midterm Output – 30%
• Course Learning Outcomes Activities – 40%
• FINAL (60%)
•
•
•
•
Portfolio: Semi-final Output– 30%
Portfolio: Final Output – 30%
Course Learning Outcomes Activities – 25%
Report – 15%
TOOLS
• Any programming language (Python, C/C++, Java)
REFERENCES
Books
• Levitin, Anany (2012). Introduction to The Design & Analysis of Algorithms — 3rd
ed. Pearson Education, Inc.
• Neapolitan, Richard (2015). Foundations of algorithms —Fifth edition. Jones &
Bartlett Learning, LLC
• Karumanchi (2016). Data Structure and Algorithmic Thinking with Python.
CareerMonk Publications
Online
• Geeks for Geeks. Algorithms :
https://www.geeksforgeeks.org/fundamentals-of-algorithms/
Questions
Download