Teoretyczne Podstawy Informatyki 2024/25 – Ćwiczenia

Podstawowe informacje

Kurs ten jest przedmiotem wybieralnym dla 3. roku (6. semestr) studiów I stopnia na kierunku Informatyka Algorytmiczna. Są to ćwiczenia do wykładu prof. Macieja Gębali.


Zajęcia odbywają się cotygodniowo w następujących terminach:

  • Środa, 1115–1300, s. 35 bud. C-4
  • Czwartek, 1315–1500, s. 34 bud. C-4


Listy zadań, zasady zaliczenia oraz literatura podane są na stronie kursu.

Opis kursu (karta przedmiotu): INP002272Wc.pdf

Zasady zaliczenia kursu

Zaliczenie kursu składa się z dwóch części: zaliczenia ćwiczeń i kolokwium końcowego.


Zaliczenie ćwiczeń

Na ćwiczeniach obowiązują zasady ustalone przez wykładowcę.

  1. Zasadniczym celem ćwiczeń jest ułatwienie samodzielnej pracy nad opanowaniem materiału w czasie całego semestru. Punktacja z ćwiczeń jest oceną jakości i intensywności pracy w czasie semestru.
  2. Wykładowca ogłasza z odpowiednim wyprzedzeniem listy zadań do samodzielnego rozwiązania przed zajęciami. Na ćwiczeniach prezentowane są rozwiązania zadań. W trakcie rozwiązywania wyjaśniane są wątpliwości dotyczące rozwiązania oraz przedstawiane są alternatywne rozwiązania.
  3. Podstawą do zaliczenia ćwiczeń są wyniki krótkich sprawdzianów. Sprawdziany będą polegały na rozwiązaniu jednego zadania i będą punktowane w skali od 0 do 5. Materiałem obowiązującym na sprawdzianie są trzy poprzednie listy zadań. Sprawdziany przeprowadzane są bez uprzedniej zapowiedzi. Nieobecność na sprawdzianie daje 0. Jeden, najsłabszy sprawdzian każdej osoby w semestrze zostanie anulowany.
  4. Odpowiedzi na sprawdzianach, których autorstwa prowadzący nie może ustalić (przypadek, gdy osoby porozumiewają się w trakcie sprawdzianu lub przedkładają odpowiedzi o identycznej formie), nie mogą być punktowane i są traktowane jako „brak odpowiedzi”.
  5. Punktacja końcowa z ćwiczeń (średnia z ćwiczeń) jest średnią punktów ze sprawdzianów. Średnia może być podwyższona przez prowadzącego w zależności od aktywności na ćwiczeniach (jednak nie wyżej niż do 7.0).
  6. Dodatkowym warunkiem zaliczenia jest oddanie w formie pisemnej (PDF) rozwiązań przydzielonych zadań z list. Rozwiązania powinny być napisane dokładnie, w sposób formalny i przejrzysty.
  7. Punktacja końcowa (średnia z ćwiczeń) nie podlega poprawianiu po zakończeniu zajęć.

Kolokwium końcowe

  1. Kolokwium końcowe odbędzie się na ostatnim wykładzie.
  2. Na kolokwium jedyną dopuszczalną pomocą naukową jest kartka formatu A4 podpisana w taki sposób, aby z odległości 2 metrów dało się ustalić, do kogo należy. Oprócz tego nie można mieć żadnych innych kartek, książek i innych pomocy. Kartki z treścią zadań i miejscem na rozwiązania oraz brudnopisy dostarcza wykładowca.
  3. Z kolokwium można uzyskać od 0 do 5.5 punktów.

Ocena końcowa

Ocena końcowa jest jest wyliczana według wzoru 0.4 średniej z ćwiczeń + 0.6 punktów z kolokwium zaokrąglonej w górę do najbliższej oceny (2.5 zaokrągla się jednak do 2.0).

Puntky ze sprawdzianów i aktywności

Wyniki sprawdzianów przeprowadzanych na ćwiczeniach oraz informacje o punktach z aktywności będą przekazywane przez platformę MS Teams (zakładka „Oceny”).


UWAGA nr 1.
Z wynikami sprawdzianów można nie zgadzać się osobiście w trakcie konsultacji (preferowany sposób), ewentualnie na czacie w Teamsach, mailowo lub po zakończeniu zajęć. Jeśli będzie taka potrzeba, to na zajęciach po sprawdzeniu zadań będę omawiał za co odejmowałem punkty oraz przekazywał najważniejsze uwagi.


UWAGA nr 2.
Jeśli w Teamsach brakuje jakiś punktów (sprawdziany, aktywność) lub punkty nie zgadzają się ze stanem faktycznym, wszelkie uwagi proszę zgłaszać na czacie w Teamsach, mailowo, po zajęciach lub na konsultacjach.

Literatura i materiały do kursu

  • T.A. Sudkamp, Languages and Machines: An Introduction to the Theory of Computer Science, 3rd Edition, Pearson, 2006
  • Ch.H. Papadimitriou, Złożoność obliczeniowa, WNT, Warszawa 2002
  • Ch.H. Papadimitriou, Computational Complexity, 1st Edition, Addison-Wesley, 1994
  • M. Sipser, Wprowadzenie do teorii obliczeń, WNT, Warszawa 2009
  • J.E. Hopcroft, R. Motwani, J.D. Ullman, Wprowadzenie do teorii automatów, języków i obliczeń, WNT, Warszawa 2005
  • J.E. Hopcroft, R. Motwani, J.D. Ullman, Introduction to Automata Theory, Languages, and Computation, 3rd Edition, Pearson, 2007
  • Introduction to Automata Theory, Languages, and Computation – Jeffrey Ullman's page with many useful materials and resources (lecture notes, slides, exercises, exams etc.)
  • T.H. Cormen, Ch.E. Leiserson, R.L. Rivest, C. Stein, Wprowadzenie do algorytmów, Wydawnictwo Naukowe PWN, Warszawa 2012
  • Ch. Bernhardt, Obliczenia kwantowe dla każdego, Wydawnictwo Naukowe PWN, Warszawa 2020
  • Ch. Bernhardt, Quantum Computing for Everyone, The MIT Press, 2019
  • H. Barendregt, E. Barendsen, Introduction to Lambda Calculus, 1994
  • Studia Informatyczne – Języki, automaty i obliczenia – materiały z Ważniaka