Skip to content
SISP Home
← Back to Teaching
CCPG1036 Computer Science Required

Analysis of Algorithms

This course provides an introduction to algorithm design and algorithm analysis. Covers formal techniques to determine algorithms’ efficiency in addition to algorithm design strategies that allow to solve new computational problems. Moreover, this course covers computational complexity topics and ways to reduce new computational problems to known ones to be solve efficiently through algorithms.

View evaluations
  • 2026-2S · Parallel 1 Upcoming

Topics Covered

Evaluation activities The role of algorithms in computing Algorithm analysis and asymptotic notations Algorithm analysis techniques Algorithms with data structures Algorithm design Computational complexity

Instruction Outcomes

  • Analyze the asymptotic execution time of algorithms using formal notations or empirical studies that validate the execution time hypotheses.
  • Create algorithmic solutions to real-world problems through the proper use of design strategies as an alternative to the use of the brute force strategy.
  • Identify efficient algorithms by means of the evaluation of the complexity level of various computational problems and the theory knowledge of their problems’ typology.

Student Outcomes

  • 1. Analyze a complex computing problem and apply principles of computing and other relevant disciplines to identify solutions.
  • 5. Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.

Bibliography

Textbooks

  • Cormen, T., Leiserson, C., Rivest, R. and Clifford, S. Introduction to Algorithms (4th Edition)

Supplemental Materials

  • Sedgewick, R. and Wayne, K. Algorithms (4th Edition)
  • Kleinberg, J. and Tardos, E. Algorithm Design (1st Edition)