CSCB324 Състезателно програмиране - I част
Анотация:
Курсът подготовя студентите по Информатика за решаване на задачи, за които се изисква съставяне на по-сложни алгоритми. Изучава се целия път от поставяне на задачата до анализ на решенията - анализ на данните, преглед на съществуващи алгоритми за решаванети й, избиране на подходящ алгоритъм, модифициране на съществуващ или построяване на нов алгоритъм, избор на структури от данни, програмиране, тестване на програмата, анализ на ефективността на алгоритъма и програмата. Всички алгоритми се изучават заедно с най-ефективните им реализации като програми на С++.
http://nikolay.kirov.be/2023/CSCB324/index.html
Преподавател(и):
доц. Николай Киров д-р
Описание на курса:
Компетенции:
http://nikolay.kirov.be/2020/CSCB323/index.html
Предварителни изисквания:
Студентите трябва да могат да програмират на С и/или С++.
Форми на провеждане:
Редовен
Учебни форми:
Лекция
Език, на който се води курса:
Български
Теми, които се разглеждат в курса:
- Технология за ефективно програмиране на алгоритми Структури от данни - STL
- Оценка и сложност на алгоритми Бройни системи Редица на Фибоначи
- Състезание 1
- Обсъждане на задачите от Състезание 1 Най-голям общ делител, най-малко общо кратно Рекурсия
- Прости числа Комбинаторни алгоритми Разбиване на числа
- Състезание 2
- Обсъждане на задачите от Състезание 2 Сортиране чрез сравнение и трансформация
- Разделяй и владей
- Динамично оптимиране
- Състезание 3
- Обсъждане на задачите от Състезание 1 Подготовка за теста
- Тест
Литература по темите:
Учебници:
Преслав Наков, Панайот Добриков, Програмиране = ++Алгоритми; TopTeam Co., 2003, 696 страници, ISBN 954-8905-06-X
Antti Laaksonen, Competitive Programmer's Handbook, 2017, https://cses.fi/book.html
Допълнителна литература:
[1] Лендерт Амерал, Алгоритми и структури от данни в С++, ИК "Софтех", София, 2001
[2] Робърт Седжуик, Алгоритми на С. Том 1 и 2, ИК "Софтех", София, 2002 (Ч 681.3 / С 307)
[3] Саймън Харис, Джeймс Рoс, Оснoви нa aлгoритмитe, Алекс Софт, 2006 (681.325.3 / Х 277)
[4] Красимир Манев, Алгоритми в графи. Основни алгоритми, КЛМН, 2013.
[5] MIT 6.006 Introduction to Algorithms, Fall 2011
https://www.youtube.com/playlist?list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb
[6] Data Structure Visualizations
https://www.cs.usfca.edu/~galles/visualization/Algorithms.html
http://nikolay.kirov.be/2020/CSCB325/anot.html
Средства за оценяване:
http://nikolay.kirov.be/2023/CSCB324/rules.html