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