General information

Course type AMUPIE
Module title Introduction to algorithms
Language English
Module lecturer prof. UAM dr hab. William Mance
Lecturer's email wilman@amu.edu.pl
Lecturer position Professor
Faculty Faculty of Mathematics and Computer Science
Semester 2024/2025 (summer)
Duration 60
ECTS 5
USOS code 06-DITALW0-E

Timetable

The schedule of this course is expected to roughly follow the given outline. There will be a significant degree of flexibility given to cover topics of interest to the particular students in the class.

Week 1: Basic mathematical topics needed in the course such as proof by induction, techniques from calculus, graphs and trees, summation formulas

Week 2: Recursion, correctness proofs, Big O Notation, the halting problem

Week 3: Searching and sorting

Week 4: Algorithms from number theory

Week 5: Approximation algorithms

Week 6: Approximation algorithms

Week 7: Randomized algorithms

Week 8: Geometric algorithms

Week 9: Graph and tree algorithms (for example, breadth-first search and depth-first search)

Week 10: Graph and tree algorithms

Week 11: Lower bounds and NP-completeness

Week 12: Algorithms for computer graphics

Week 13: String algorithms

Week 14: More mathematical algorithms

Week 15: Computability

Module aim (aims)

To introduce students to basic algorithms from many different areas. In particular, students will be expected to learn how to analyze efficiency of algorithms.

Pre-requisites in terms of knowledge, skills and social competences (where relevant)

Experience programming and at least some basic calculus. Students from all different backgrounds are encouraged to sign up as there will be a significant amount of flexibility on which topics will be covered.

Syllabus

Reading list

Introduction to algorithms by Thomas H. CormenCharles E. LeisersonRonald L. RivestClifford Stein

The art of computer programming by Donald Knuth