Podstawy Programowania - Zasady zaliczania przedmiotu


Harmonogram

Kryteria zaliczenia przedmiotu:

Literatura:

  1. N. Wirth, Wprowadzenie do programowania systematycznego. Wydawnictwa Naukowo-Techniczne. Warszawa 1978.
  2. B. Eckel, Thinking in C, Beta 3 . 2006.
  3. B. Eckel, Thinking in C++, Wydawnictwo Helion, 2002
  4. J. Grębosz, Symfonia C++, Oficyna Kallimach, Kraków 1993.
  5. T.H. Cormen, Wprowadzenie do algorytmów, Wydawnictwa Naukowo-Techniczne, Warszawa 2005 (lub wcześniejsze wydanie WNT, Warszawa 1999)
  6. A. Struzińska-Walczak, K. Walczak, Nauka programowania dla początkujących. C++, Wydawnictwo W&W, Warszawa 2002,

Szczegółowy opis składowych zaliczenia:

Kolokwium:

Podczas kolokwium przy pomocy komputera trzeba będzie rozwiązać kilka zadań (około 3), analogicznych do tych, które pojawiały się na zajęciach lub jako zadania domowe. W czasie kolokwium będzie można korzystać ze wszelkich przyniesionych ze sobą materiałów oraz z sieci internetowej. Absolutnie zabronione jest korzystanie z jakiegokolwiek rodzaju komunikatorów, pod karą bezwzględnego opuszczenia sali bez zaliczenia (trzeba uważać na „przypadkowe” kliknięcia). Nie wolno także korzystać z mejli na tych samych zasadach.
Do zaliczenia kolokwium powinno wystarczyć przerobienie ze zrozumieniem zadań, które będziemy rozwiązywać na sprawdzarce.

Sprawdzarka:

Sprawdzarka znajduje się pod adresem: acm.edu.pl. Każdy uczestnik zajęć powinien tam założyć sobie konto, gdyż na tej sprawdzarce będziemy pracować.

Każde zadanie pojawiające się na zajęciach będą pojawiały się na liście poniżej wraz z terminem ich wykonania. Za każde rozwiązane zadanie rozwiazane w terminie otrzymuje się 1 punkt. Nie jest istotna trudność zadań, wszystkie punktowane są tak samo. Poniżej znajduje się lista zadań, które zostały już omówione na zajęciach, wraz z terminami ich wykonania.

Zadania na sprawdzarce można rozwiązywać przez cały semestr, 24h na dobę, przez siedem dni w tygodniu. Sprawdzarka dostępna jest jako serwis internetowy aktywny przez cały czas.

W przypadku wykrycia plagiatów rozwiązań, będą one anulowane, przyznane zostanie -1 punkt za takie rozwiązanie, oraz oczywiście pogorszy się opinia o danym studencie. W przypadku wykrycia plagiatu w momencie chęci uzyskania wpisu może się okazać, że student dostanie ocenę gorszą, niż wynika mu z punktów (poprzez cofnięcie mu odpowiedniej liczby acceptów na sprawdzarce oraz ewentualnych punktów dodatkowych).

Lista zadań przerabianych na zajęciach z terminami znajduje się tutaj.

Projekt:

Tematy projektów pojawią się pod koniec grudnia.
Warunkiem, który projekt musi spełniać - musi w nim być zawarta jakaś operacja na plikach. Tzn. jakieś dane (wejściowe, wyjściowe, lub jakieś inne) muszą być pobrane lub zapisane bezpośrednio z pliku.

Żadne dwa tematy projektów nie mogą się powtarzać. Tematy projektów należy zgłaszać osobiście podczas zajęć, mejlem, lub podczas dyżurów. W przypadku zgłoszenia dwóch osób do takiego samego projektu, pod uwagę brana będzie kolejność zgłoszeń.
Każdy projekt trzeba będzie obronić osobiście podczas rozmowy z prowadzącym. Rozmowa ma na celu zweryfikowanie zrozumienia prezentowanego kodu oraz umiejętności nabytych podczas zajęć w ogóle. Dla każdego przewidywane są dwa pytania: jedno ściśle na temat projektu i jedno ogólne, ale wiążące się z projektem (np. o rodzaje zmiennych). Na podstawie rozmowy zostanie ustalona liczba punktów za projekt. UWAGA! Wykonywane zadanie nie musi zostać zaakceptowane przez sprawdzarkę, aby dostać za nie punkty, nawet maksymalną liczbę. Jeśli podczas rozmowy student będzie się dobrze orientował w swoim programie, a także po jakieś podpowiedzi, szybko zauważy i zrozumie swój błąd oraz będzie ogólnie bardzo dobrze zorientowany w przedmiocie naszych zajęć, otrzyma najwyższą możliwą ocenę.
Każdy temat projektu musi zostać wcześniej zweryfikowany. Tzn. nie można przyjść w dniu oddawania projektów z gotowym projektem i chęcią jego bronienia. Może się okazać, że temat jest już zajęty. Jeśli ktoś wie, że zrobienie projektu zajmie mu nieco więcej czasu, najlepiej skonsultować temat jeszcze przed rozpoczęciem jego wykonania. Temat projektu będzie też można w dowolnej chwili zmienić, ale na tych samych zasadach, co wcześniej zgłosić.
Tematy projektów nie będą bardzo wymagające. Czas wykonania projektu dla średniego studenta nie powinien wynieść więcej niż 2 dni. Nie chodzi w nim o stworzenie wymyślnej aplikacji lub jakiegoś megaskryptu, a jedynie o samodzielne napisanie jakiegoś kodu, który będzie zarazem podstawą do przeprowadzenia rozmowy na temat tego, czego się uczyliśmy (jakby egzamin ustny).