Teoretyczne Podstawy Informatyki 2023/24 – Ćwiczenia

Podstawowe informacje

Kurs ten jest przedmiotem wybieralnym przeznaczonym dla studentów 3 roku (6 semestru) 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. 34 bud. C-4
  • Czwartek, 1315–1500, s. D3.1 bud. C-16


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 studentom samodzielnej pracy nad opanowaniem materiału w czasie całego semestru. Punktacja z ćwiczeń jest oceną jakości i intensywności pracy studenta w czasie semestru.
  2. Wykładowca ogłasza z odpowiednim wyprzedzeniem listy zadań do samodzielnego rozwiązania przed zajęciami. Na ćwiczeniach studenci prezentują 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 studenta w semestrze zostanie anulowany.
  4. Odpowiedzi na sprawdzianach, których autorstwa prowadzący nie może ustalić (przypadek, gdy studenci 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 studenta na ćwiczeniach (jednak nie wyżej niż do 7.0).
  6. Dodatkowym warunkiem zaliczenia jest oddanie przez studenta 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ć jej właściciela. Oprócz tego student nie ma prawa 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 się nie zgadzać osobiście w trakcie konsultacji, na czacie w Teamsach, ewentualnie mailowo lub – w szczególnych przypadkach – 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 (preferowany sposób), ewentulanie 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