CS214
ALGORITHMS LABORATORY
Credit: 2
Objectives
- To learn how to analyze the complexity of algorithms
- To compare and evaluate algorithms in terms of time and space complexity
- To program brute force, divide and conquer, decrease and conquer, transform and conquer, greedy, and dynamic techniques
Outcomes
- Ability to solve and analyze general algorithms based on space and time complexity
- Ability to implement and empirically compare fundamental algorithms and data structures to real-world problems
- Knowledge about different algorithmic paradigms and optimization
Experiments
- Estimating worst-case/average-case complexity of algorithms via programs
- Determining machine constants
- Programs involving some advanced data structures
- Implementing example problems
- Illustrating the different paradigms of algorithm design
- Solving miscellaneous problems e.g. problems in string manipulation, graph theory, optimization