Algorytmika Olimpijska zima 2018/19

Język wykładowy Polski
Opiekun Karol Pokorski
Liczba godzin 30 (wyk.) 30 (ćw-prac.)
Rodzaj K2 - kurs zaawansowany
ECTS 5
Polecany dla I roku Nie
Egzamin Nie

Opis przedmiotu:

Niektórzy studenci mają doświadczenie w startach w zawodach Olimpiady Informatycznej lub nawet zawodach ACM ICPC. Niewielu jednak wie, jak wygląda proces przygotowania takiego konkursu przez organizatorów. Czasami, a może nawet często, przygotowanie zadania jest trudniejsze od jego rozwiązania. Celem tego kursu jest pokazanie tego świata właśnie z tej drugiej strony, co być może będzie też pomocne w przygotowaniach do startów. Zainteresowane osoby uzyskają też informacje o tym jak wziąć udział w pracach nad konkursami organizowanymi na naszej uczelni i poza nią. Program wykładu =============== Pierwsza część kursu obejmować będzie przegląd zagadnień związanych z przygotowaniem zadania konkursowego: właściwe przygotowanie treści, dobór limitów na rozmiar danych wejściowych, dobór ograniczeń czasu i pamięci, przygotowanie danych testowych, przygotowanie programów pomocniczych, dobór punktacji za rozwiązania częściowe, wymyślanie własnych zadań, omówienie potencjalnych błędów podczas przygotowania zadania. Dalsze zagadnienia stanowić będą wybrane, pojedyncze, nieco trudniejsze tematy. Niektóre z nich prowadzone będą na zasadzie mini seminariów przez studentów. Przykłady: * ocena jakości losowych testów w zadaniach grafowych (np. dla problemu spójności grafu czy najkrótszych ścieżek), * testowanie rozwiązań zrandomizowanych, * przygotowanie złośliwych danych dla obliczeń zmiennoprzecinkowych w zadaniach geometrycznych, * zastosowania machine learning do przygotowania danych testowych w zadaniach (na przykład: złośliwe czasowo testy w zadaniach przepływowych), * automatyczne wykrywanie niesamodzielnych rozwiązań, * bezpieczeństwo automatycznego procesu oceny. Możliwe będzie również proponowanie własnych tematów. Pod koniec kursu skupimy się na bardzo podstawowych elementach dydaktyki algorytmiki konkursowej: jak umiejętnie przekazywać zrozumianą wiedzę innym studentom i młodszym uczniom oraz jak przygotować dobrej jakości materiały edukacyjne z tej dziedziny. Program ćwiczeń/pracowni ======================== Na ćwiczeniach/pracowni w pierwszej części semestru skupimy się na dokładnej analizie kolejnych etapów przygotowania zadania zgodnie z programem wykładu. Zadania na listach będą bardzo zróżnicowane: niektóre będą wymagały napisania dokumentu w LaTeX czy Markdown, inne programu w C++, jeszcze inne skryptu w Bashu czy Pythonie. Niektóre zadania będą w formie krótkich (kilkanaście minut) mini-referatów do zaprezentowania przed grupą. Nacisk zostanie położony na jakość prezentacji i umiejętność przekazania wiadomości grupie. Niektóre zadania mogą wymagać nauczenia się prostych narzędzi (np. do tworzenia obrazków czy szyfrowania dokumentów). Ostatnią częścią pracowni będzie projekt, którym będzie wymyślenie i przygotowanie własnego zadania olimpijskiego lub przygotowanie własnego materiału edukacyjnego z zakresu algorytmiki konkursowej. Efektem ubocznym kursu ma być zbiór zadań, który wykorzystamy do wewnętrznego konkursu dla zainteresowanych oraz wśród uczniów, dla których prowadzimy zajęcia w liceach i gimnazjach. Wymagania ========= Zakłada się, że uczestnicy kursu mają obycie w tematach okołoalgorytmicznych takie jak doświadczenie w startach w zawodach algorytmicznych. Ukończenie kursu Algorytmów i Struktur Danych powinno być wystarczające.

Wykłady

Lista
Prowadzący Termin zajęć Limit Zapisani Kolejka
Karol Pokorski
cz 16:00-18:00 (s. 119) 300 6 0

UWAGA! Wyższa liczba oznacza wyższy priorytet, po zapisaniu do grupy zostajemy usunięci z kolejek o niższym priorytecie.

Ćwiczenio-pracownie

Lista
Prowadzący Termin zajęć Limit Zapisani Kolejka
Karol Pokorski
cz 18:00-20:00 (s. 104, 108) 18 6 0

UWAGA! Wyższa liczba oznacza wyższy priorytet, po zapisaniu do grupy zostajemy usunięci z kolejek o niższym priorytecie.


Konsultacje prowadzących:


Imię i nazwisko Pokój Konsultacje
Karol Pokorski 340 proszę do mnie napisać e-mail