Hugo Tekeng
INF1008Winter 2025Algorithms
← Back to university path

Algorithm Analysis and Design

Detailed view of the course, studied concepts, technologies used, and major academic work associated with it.

Code

INF1008

Session

Winter 2025

Domain

Algorithms

Overview

Course focused on the theoretical analysis and design of efficient algorithms. It helped me deepen my understanding of complexity, compare several algorithmic strategies, and choose the most appropriate methods depending on the problem, while considering correctness, efficiency, and application context.

Technologies used

PythonAlgorithmiqueComplexitéGraphesProgrammation dynamique

Key concepts covered

  • Definition of an algorithm
  • Time and space complexity analysis
  • Asymptotic notation
  • Analysis of algorithm efficiency
  • Solving recurrences
  • Study of sorting algorithms
  • Design of correct and efficient algorithms
  • Greedy strategies
  • Divide and conquer
  • Dynamic programming
  • Probabilistic algorithms
  • Graph exploration
  • Tree exploration
  • Automata and cellular automata
  • Genetic algorithms
  • Naive Bayesian networks
  • Problem classification
  • Introduction to quantum algorithms
  • Applied case studies
  • Choosing the right type of algorithm for a given problem

Coursework and evaluated components

  • Assignment 1 on an initial family of algorithms or case studies
  • Assignment 2 on the analysis or design of advanced algorithmic strategies
  • Practical exercises in Python
  • Midterm exam
  • Final exam