General information
Course type | AMUPIE |
Module title | Efficient Algorithms |
Language | English |
Module lecturer | dr Rafał Witkowski |
Lecturer's email | rmiw@amu.edu.pl |
Lecturer position | adiunkt |
Faculty | Faculty of Mathematics and Computer Science |
Semester | 2021/2022 (summer) |
Duration | 60 |
ECTS | 6 |
USOS code | 06-DEALLI0-E |
Timetable
Module aim (aims)
1. The aim of the course is to familiarize students with effective algorithms for solving complex programming problems and to learn how to implement them (regardless of programming language), as well as to prepare to participate in team programming competitions
Pre-requisites in terms of knowledge, skills and social competences (where relevant)
Basic course in programming (any language), algorithms and data structure, object-oriented programming.
Syllabus
Week 1: A repetition of the basics of algorithm construction and the use of data structures.
Week 2: Tricki problem solving. Programming contests rules.
Week 3: Non-standarded algorithms.
Week 4: Dynamic and greedy algorrithms.
Week 5: Advanced recuring algorithms.
Week 6: Graph algorithms.
Week 7: Geometric algorithms.
Week 8: Numeric algorithms.
Week 9: Big numbers – big input algorithms.
Week 10: Optimization methods for algorithms and source codes
Week 11: Problem solving strategy for real-life algorithmic problems.
Week 12: Solving tasks on online checkers.
Week 13: Participation in internal sparing in team programming.
Week 14: Participation in a real time team programming contest.
Week 15: Solving tasks on online checkers.
Reading list
FN. Wirth, Wprowadzenie do programowania systematycznego. Wydawnictwa Naukowo-Techniczne. Warszawa 1978.
T.H. Cormen, Wprowadzenie do algorytmów, Wydawnictwa Naukowo-Techniczne, Warszawa 2005 (lub wcześniejsze wydanie WNT, Warszawa 1999)
Sztuka programowania (The Art of Computer Programming) - Donalda Knuth
"Niebieskie książeczki" - materiały corocznie wydawane przez Komitet Organizacyjny Olimpiady Informatycznej
P. Stańczyk, Algorytmika praktyczna. Nie tylko dla mistrzów. PWN, Warszawa 2009
S. S. Skiena, M. A. Revilla, Wyzwania programistyczne, WSiP, Warszawa 2004.
A.V. Aho, J.E. Hopcroft, J.D. Ullman, Projektowanie i analiza algorytmów komputerowych, PWN, Warszawa 1983.