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