Algorytmy i Struktury Danych

Sprawy organizacyjne

Laboratoria z Algorytmów i Struktur Danych prowadzone dla grupy nr 1 II. roku Informatyki Stosowanej w roku akademickim 2019/2020 odbywają się w piątki, w godzinach 15:30 - 17:00 w Pracowni Komputerowej nr 4 (PK4) w budynku Wydziału Fizyki, Astronomii i Informatyki Stosowanej UMK.

Obecność na zajęciach jest obowiązkowa.

Zasady zaliczenia

Zaliczenie zajęć odbywa się na podstawie wykonania zadań z listy obowiązującej w bieżącym roku akademickim. Listę zadań znaleźć można TUTAJ. Zadania o numerach 1, 2, 5, 6, 9, 10, 12, 14, 16, 21, 22, 25 są obowiązkowe i ich poprawne wykonanie niezbędne jest do otrzymania zaliczenia laboratoriów. Zadanie uznaje się za zaliczone, jeśli realizuje ono swoje założenia, implementacja nie budzi zastrzeżeń, student jest w stanie wyjaśnić swój sposób rozwiązania i odpowiedzieć na pytania go dotyczące. Rozwiązane zadania należy wysyłać mailem na adres piotra@fizyka.umk.pl. Można dokonać tego zbiorczo lub pojedynczo, ważne natomiast, aby dotrzymać terminów ich oddania. Po przesłaniu rozwiązania należy umówić się z prowadzącym celem jego rozliczenia. Zadania prezentować można w czasie odbywania zajęć lub w trakcie konsultacji.

Zadanie uznaje się za zaliczone bądź też niezaliczone - w zależności od tego, czy spełnia podane powyżej kryteria, czy też nie. Minimalna liczba zaliczonych zadań na konkretną ocenę wygląda następująco:

  • 12 zadań - dostateczny (3.0)
  • 14 zadań - dostateczny+ (3.5)
  • 16 zadań - dobry (4.0)
  • 18 zadań - dobry+ (4.5)
  • 20 zadań - bardzo dobry (5.0)

Bardzo proszę, aby nie zostawiać omówienia zadań na ostatnią chwilę - zawsze może pojawić się potrzeba poprawienia rozwiązania i przejścia przez procedurę oddania zadania raz jeszcze!

Wykonanie zadań - względy formalne

Zadania powinny być zaimplementowane w języku ANSI C i bez problemu kompilować się przy użyciu kompilatora GCC lub LLVM. Kod powinien być logicznie podzielony na funkcje operujące na odpowiednich typach i strukturach danych. Proszę pamiętać o rozdzieleniu deklaracji i definicji funkcji pomiędzy pliki .h i .c. Mile widziane są pliki makefile lub json znacznie ułatwiające budowanie projektów.

Jako rozwiązanie proszę przesyłać jedynie pliki z rozszerzeniami .c i .h - pod żadnym pozorem proszę nie załączać plików wykonywalnych. Pliki najlepiej spakować do archiwum (np. rar, zip lub 7z) nazwanego swoim numerem indeksu i w takiej formie przesłać mailem na adkres piotra@fizyka.umk.pl.

Będę bardzo wdzięczny, jeśli na początku tytułu maila znajdzie się wpis [ASD-GR1] - znacznie ułatwi mi to organizację pracy.

Terminy oddawania zadań

Ostateczne terminy, których należy przestrzegać przy rozliczaniu zadań ustalone zostały ze studentami na jednych z pierwszych laboratoriów i prezentują się następująco:

  • 29 listopada 2019r. - zadania 1, 2, 5, 6, 9, 10, 12
  • 6 grudnia 2019r. - zadania 3, 4, 7, 8, 11, 13
  • 10 stycznia 2020r. - zadania 14, 16, 21, 22, 25
  • 17 stycznia 2020r. - zadania 15, 17, 18, 19, 20, 23, 24
Bardzo proszę, aby na omówienie zadań umówić się w nieprzekraczalnym terminie 2 tygodni od powyższych dat.

Rozliczenie zadań

[AKTUALIZACJA: 25.10.2019]

ToDo LATER

Materiały przydatne w trakcie pracy z zadaniami zaliczeniowymi

Slajdy do wykładu prowadzonego przez dr hab. Norberta Jankowskiego, prof. UMK znaleźć można TUTAJ

Dlaczego warto używać wskaźników, jeśli zależy nam na szybkości? LINK

Krótka powtórka ze wskaźników w języku C