---
tags: year2-2
---
# Algorithm Design
## Introduction
### Goal
- Formulate computational problem into a clear requirement
- Design algorithm to solve the problem correctly and efficiently
### Topics
- Complexity Analysis
- NP-Completeness (Can the problem be solved in reasonable time)
- Sythesis of algorithm
- Divide and Conquer
- Dynamic Programming
- Greedy
- Graph Algorithm
- State Space Search
### Example Problems
Problem Statement in this course contains
- Precise constraint of the input
- Required properties of the output
#### GCD
Find the greatest divisor of the number a and b
#### Fibonacci
Find n-th fibonacci number
**Solutions**
- Recursive (exponential time)
- Matrix + Divide and conquer (logarithmic time)
- Homogenous Recurrent RElation
- Eigen Vector
### Course Material
- MyCourseVille: Homework & Quiz
- Discord: Discussion
- Grader: Homework
- Zoom: Online Class
- Youtube: Lecture video
For official matter or direct message, Contact Prof. using email.
### Scoring
- 15% Activity
- 5% Small Quiz
- 20% HW