PAWEŁ REMBELSKI - ALGORYTMY i STRUKTURY
DANYCH
Krótka informacja o
kursie
Tematem wykładu są algorytmy, sposoby ich projektowania i
konstruowania, metody analizy kosztów algorytmów
i metody ich
weryfikacji.
Cele kursu
Celem wykładu jest zapoznanie studentów z metodami
konstrukcji
algorytmów, metodami analizy ich kosztów oraz
analizy poprawności.
Zostaną przedstawione algorytmy rozwiązywania takich
problemów jak
wyszukiwanie, sortowanie, przechowywanie danych. Będzie też mowa o
specyfikacji i implementacji podstawowych struktur danych takich jak
stosy, kolejki, kolejki priorytetowe, słowniki, drzewa. Zastosowanie
tych struktur będzie zilustrowane na licznych przykładach. Będzie też
mowa o tym co można, a czego nie można zrobić przy pomocy komputera.
Wymagania
Przedmiot ma charakter podstawowy. Do zrozumienia treści wykładu
niezbędna jest znajomość elementów matematyki dyskretnej,
elementów
analizy matematycznej i algebry oraz programowania w zakresie
podstawowym.
Organizacja studiowania
- Wykłady są dostępne w postaci elektronicznej w internetowym
systemie edukacyjnym PJWSTK EDU. W każdym wykładzie znajduje się
kilka prostych pytań i zadań z załączonymi odpowiedziami. Radzimy
jednak zawsze najpierw samodzielnie odpowiedzieć na pytanie, a dopiero
potem sprawdzić odpowiedź. Do każdego wykładu został dołączony
zbiór
zadań do samodzielnego rozwiązywania.
- Zadania domowe są umieszczone w folderze "Zadania". W
przewidzianym terminie, każdy student powinien nadesłać rozwiązanie
pobranego zadania domowego w formie pliku .doc albo .odt. Rozwiązania powinny
zostać umieszczone w folderze "Folder Zadań". Za poprawne
rozwiązanie zadania można otrzymać maksymalnie 6 pkt.
Przewidywane jest sześć zestawów zadań (łącznie 36 pkt.). Opis specyfikacji rozwiązania zadania domowego znajduje się w folderze "Materiały". Tylko rozwiązania zgodne z w/w specyfikacją będą podlegały weryfikacji!
- Stopień przyswojenia materiału zawartego w wykładzie będzie
weryfikowany przy pomocy testów (najczęściej 1 na tydzień) w systemie
edukacyjnym
PJWSTK - Testy2. Każdy test musi zostać wykonany w przewidzianym dla
niego
terminie i czasie. Testów nie można powtarzać!. Każdy
zaliczony test, to maksymalnie 6 pkt.
Przewidywane jest czterynaście zestawów testowych (łącznie 84 pkt.).
- Studenci mogą korzystać z konsultacji za pomocą poczty
elektronicznej, chata i forum dyskusyjnego w systemie EDU.
- Sprawdzenie wiedzy na zakończenie wykładu odbywać się
będzie w
gmachu PJWSTK.
Kryterium dopuszczenia do egzaminu
- Warunkiem koniecznym do dopuszczenia do egzaminu jest kolejno:
- zdobycie co najmniej 18 pkt. z zadań domowych,
- zdobycie co najmniej 42 pkt.
z testów.
Kryterium zaliczenia ćwiczeń
- Warunkiem koniecznym do zaliczenia ćwiczeń jest kolejno:
- dopuszczenie do egzaminu,
- zdobycie co najmniej 10 pkt. z egzaminu w terminie sesji podstawowej lub sesji poprawkowej danego semestru akademickiego.
- Ocena z ćwiczeń zależy od liczby uzyskanych punktów i jest wyznaczana na podstawie współczynnika x tak, że:
x |
|
ocena |
0.00-0.49 |
® |
ndst |
0.50-0.59 |
® |
dst |
0.60-0.69 |
® |
dst+ |
0.70-0.79 |
® |
db |
0.80-0.89 |
® |
db+ |
0.90-1.00 |
® |
bdb |
gdzie x=3/20*(liczba pkt. z zadań domowych/36)+7/20*(liczba pkt. z testów/84)+10/20*(liczba pkt. z egzaminu/20).
Kryterium zaliczenia egzaminu
- Egzamin jest przeprowadzany w formie testu wielokrotnego wyboru w systemie EDU, z którego można otrzymać co najwyżej 20 pkt.
- Warunkiem koniecznym do zaliczenia egzaminu jest zdobycie co najmniej 10 pkt.
- Ocena z egzaminu zależy od liczby uzyskanych punktów i jest wyznaczana na podstawie współczynnika x tak, że:
x |
|
ocena |
0.00-0.49 |
® |
ndst |
0.50-0.59 |
® |
dst |
0.60-0.69 |
® |
dst+ |
0.70-0.79 |
® |
db |
0.80-0.89 |
® |
db+ |
0.90-1.00 |
® |
bdb |
gdzie x=(liczba pkt. z egzaminu/20).
Podręczniki podstawowe
- Cormen T., Leiserson Ch., Rivest R., Wprowadzenie do
algorytmów, WNT, 2000
- Banachowski L., Diks K., Rytter W., Algorytmy i struktury
danych,
WNT, 2001
- Dańko A., Lan Le T., Mirkowska G., Rembelski P., Smyk A., Sydow M., Algorytmy i Struktury Danych - zadania, wyd. PJWSTK, 2006
- Harel D., Rzecz o istocie informatyki, Algorytmika, WNT,
1992
Literatura uzupełniająca
- Aho A., Hopcroft J., Ulmann J., Projektowanie i analiza
algorytmów
komputerowych, PWN, 1983
- Baase S., Computer Algorithms, Addison-Wesley Pub.Comp., 2000
- Banachowski L., Kreczmar A., Rytter W., Analiza
algorytmów i
struktur danych, WNT, 1987
- Bentley J., Perełki oprogramowania, WNT, 2001
- Froidevaux Ch., Gaudel M-C., Soria M., Types de donnees et
algorithmes, EDISCIENCE, 1997
- Lipski W., Kombinatoryka dla programistów, WNT, 2004
- Mirkowska G., Salwicki A., Logika algorytmiczna dla
programistów,
WNT, 1992
- Ross K.A., Wright Ch., Matematyka Dyskretna, PWN 1999
- Sedgewick R., Algorithms, Addison-Wesley Pub. Comp., 1983