Ważne
Egzamin: 18.06.2015 11:00-14:00 w C-13 sala 1.31
Egzamin poprawkowy: 01.07.2015 11:00-14:00 w C-13 sala 1.31
Osoby o następujących numerach indeksów są zwolnione z egzaminu z oceną celującą, bo uzyskały przynajmniej 150% normy na ćwiczeniach i (prawie) 100% na laboratoriach. Proszę się upewnić dwa razy:
013208786
013208815
013208727
013211584
013208800
012204389
013208749
013208761
013208745
013208752
013208808
Uwaga
Wykład w dniu 5 czerwca nie odbędzie się i zostanie odrobiony 19 czerwca w godzinach 9:15 - 11:00 w sali D1.312B.
Serwer testowy
Zadania laboratoryjne można (ale nie trzeba) testować na serwerze z testami.
Zasady zaliczania
Zaliczenie ćwiczeń (kwestie nieustalone tu ustala prowadzący ćwiczenia):
na koniec semestru, prowadzący ćwiczenia przekazuje prowadzącemu wykład punktację w zakresie 0 - 100%
zadania ukazują się co tydzień, w piątki po wykładzie
na ćwiczeniach mogą (powinny) się odbywać kartkówki z materiału z wszystkich poprzednich ćwiczeń
Zaliczenie laboratorium (kwestie nieustalone tu ustala prowadzący laboratorium):
na koniec semestru, prowadzący laboratorium przekazuje prowadzącemu wykład punktację w zakresie 0 - 100%
zadania ukazują się w piątki po wykładzie, przewidziane są cztery większe programy
zadania należy oprogramować w języku C (nie C++ ani żadnym innym wariancie obiektowym)
Zaliczenie egzaminu
termin egzaminu: wkrótce
termin egzaminu poprawkowego: wkrótce
egzamin składa się z dwóch części:
50 minut test z wiedzy
1h:50min zadań takich jak na ćwiczeniach
Progi do zaliczenia:
ćwiczenia na przynajmniej 50%
laboratorium na przynajmniej 50%
egzamin - próg części testowej: 70%, próg części zadaniowej: 50%
Składniki oceny końcowej:
25%: punkty z ćwiczeń
25%: punkty z laboratorium
10%: punkty z testowej części egzaminu
40%: punkty z zadaniowej części egzaminu
Skala ocen:
10% - 50%: ndst
50% - 60%: dst
60% - 70%: dst+
70% - 80%: db
80% - 90%: db+
90% - 100%: bdb
Zagadnienia omówione na wykładzie:
Stabilne skojarzenie w grafie dwudzielnym
Złożoność obliczeniowa, kopiec
Algorytmy grafowe: BFS, DFS, spójne składowe, silnie spójne składowe
Algorytmy zachłanne
Dziel i rządź
Programowanie dynamiczne
Drzewa BST, zbalansowane - AVL i czerwono-czarne
Skip-listy, quick-sort
Wybór k-tego elementu - losowy i deterministyczny, sortowania liniowe - przez zliczanie, kubełkowe, radix-sort, tablice hashujące
Teoria liczb: sito Eratostenesa, algorytm Euklidesa, testowanie pierwszości
Algorytmy aproksymacyjne
Algorytmy online
Lista zagadnień na egzamin (ma pomóc, ale nie gwarantuję, że jest pełna):
Złożoność - co oznaczają dolne i górne ograniczenia, złożoność pamięciowa, złożoność obliczeniowa, analiza najgorszego przypadku, dolne ograniczenie na sortowanie w modelu z porównaniami i w modelu sortowania na liczbach, sortowanie przez wstawianie, sortowanie przez wybór, sortowanie przez scalanie, sortowanie kopcowe, sortowanie bąbelkowe, sortowanie szybkie, co to jest sortowanie stabilne, rozwiązywanie podstawowych równań rekurencyjnych (znanych z przykładów analizy dziel i zwyciężaj), działania na kopcu, budowa kopca z tablicy, przechodzenie grafu wszerz, przechodzenie grafu w głąb, spójne składowe, silnie spójne składowe, drzewa, drzewa zbalansowane i operacje rotacji, działania modulo liczba pierwsza, ciąg Fibonacciego, wrzucanie kul do pojemników i wpływ na hashowanie.
Zadania na ćwiczenia:
Dodatkowe zadania z list dra Marcina Kika (tutaj link), jeśli skończą się zadania na poprzednich listach: 2a.31, 2b.2, 2b.13, 2b.18, 3a.12, 4a.5, 6.7, 6.17, 7.6
Zadania na laboratorium:
Oprogramuj drzewo zbalansowane: AVL lub czerwono-czarne. Zadanie lepsze drzewo.
Proste zadania z list ćwiczeniowych: Cykle w grafie skierowanym, Szeregowanie zadań, Znaczne inwersje, Najdłuższy podciąg rosnący. Trzeba zrobić wszystkie 4.
Literatura
"Algorithm Design", Jon Kleinberg, Eva Tardos
Literatura uzupełniająca
"Algorithms", Sanjoy Dasgupta, Christos Papadimitriou, Umesh Vazirani (wydane również przez PWN)
"Introduction to Algorithms", Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein (wydane również przez WNT i PWN)
EGZAMIN - wyniki
Wstępne wyniki w arkuszu poniżej. Zaraz tu dopiszę zmiany zasad (wyłącznie na Państwa korzyść). Jeszcze może przemnożę punkty innych sprawdzających.
Próg zaliczenia testu zmieniony na 50%.
Próg zaliczenia egzaminu zmieniony na 1 pkt. Procenty są liczone od 2 punktów.
W kolumnie "Zdane" jest wartość logiczna - czy przekroczone są wszystkie progi z ćwiczeń, laboratorium, testu i egzaminu.
W kolumnie "Pkt ocen. autom." jest obliczona wartość 25% ćw + 25% lab + 10% testu + 40% egzaminu
W kolumnie "Ocena" jest proponowana ocena (wszystko powyżej 5.0 to cel), zgodnie z wzorem z początku semestru, ale jest zaokrąglanie zamiast podłogi (przy obcinaniu do pełnych dziesiątków procent).
Na poprawce można pisać sam test lub samą część zadaniową lub obie części.
Jeszcze złagodziłem - 0.3 zamiast 0.1 za poprawne ograniczenie dolne na sortowanie bez dowodu i próg zmniejszony do 0.8. Więcej nie zmniejszę.
UWAGA: dodałem 0.2 punkta tym osobom, które w drugim zadaniu tworzyły dodatkową listę i na koniec podstawiały ją pod listę A. Dodałem tym, których zadanie poza tym było poprawne lub prawie poprawne.
Na razie są surowe dane z poprawy. Progi: 10 pkt dla testu i 2 pkt dla części zadaniowej.
Jeśli ktoś poprawiał tylko test, punkty i ocena są liczone zgodnie z poprzednimi progami i wzorem.
Jeśli ktoś poprawiał egzamin, progiem jest 2 punkty, a maksimum to 4 punkty i ocena liczona jest z wzorem podanym na początku semestru i wciąż widniejącym na stronie.