Podstawy Programowania 1 (PPR111)


ZasadyĆw1, Ćw2, Ćw3, Ćw4, Ćw5, Ćw6, Ćw7, Ćw8, Ćw9, Ćw10, Ćw11, Ćw12, Ćw13 


Prowadzący: Rafał Witkowski


 Zasady 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:

Na kolokwium, przy pomocy komputera, trzeba będzie rozwiązać kilka zadań (około 5), analogicznych do tych, które pojawiały się na zajęciach lub podczas zadań domowych. 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 zdania 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ć.

Za każde rozwiązane zadanie 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, lub które powinny być proste do wykonania na podstawie wiedzy zdobytej podczas zajęć. Lista ta jednak nie jest listą zadań obowiązkowych do wykonania, a owe 25 zadań mogą być dowolnymi zadaniami na sprawdzarce, oprócz kilku wymienionych niżej, a które są zwyczajnie za proste, aby brać je pod uwagę (oczywiście te zadania liczą się do rankingu, więc jeśli ktoś chce zająć w nim lepsze miejsce (zdobyć punkty za ranking), może jak najbardziej je rozwiązywać). 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 dostępny cały czas. Rozliczenie zadań ze sprawdzarki następuje w momencie chęci uzyskania wpisu przez studenta.

W przypadku wykrycia plagiatów rozwiązań, będą one anulowane, 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).

Lista zadań przerabianych na zajęciach lub podobnych do nich:
  1. Zadanie 0
  2. Zadanie 1
  3. Zadanie 24
  4. Zadanie 25
  5. Zadanie 29
  6. Zadanie 53
  7. Zadanie 54
  8. Zadanie 66
  9. Zadanie 309
  10. Zadanie 211
  11. Zadanie 120
  12. Zadanie 146
  13. Zadanie 151
  14. Zadanie ppr1
  15. Zadanie ppr2
  16. Zadanie ppr4
  17. Zadanie ppr5
  18. Zadanie ppr6
  19. Zadanie ppr9
  20. Zadanie ppr10
  21. Zadanie ppr11
  22. Zadanie 177
  23. Zadanie 169
  24. Zadanie 189
  25. Zadanie 209

 

Poza tymi można oczywiście rozwiązywać też dowolne inne zadania. Punktowane będą wszystkie z wyjątkiem zadań nr: 94, 106, 189, 191, 210.

Projekt:

Jako projekt można wykonać jedno zadanie na sprawdzarce lub stworzyć aplikację okienkową. Każdy temat projektu należy wcześniej skonsultować z prowadzącym w celu weryfikacji jego poziomu trudności. W połowie semestru pojawi się lista zadań, które zostaną zaproponowane do wyboru przez studentów.
Ż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 przewiduję dwa pytania: jedno ściśle na temat projektu i jedno ogólne, ale wiążące się z projektem (np. o typ użytych rodzajów zmiennych). Na podstawie rozmowy zostanie ustalona liczba punktów za dane rozwiązanie. 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, a także będzie ogólnie 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 po pierwsze temat jest już zajęty, a po drugie, wykonywane zadanie nie kwalifikuje się na projekt, gdyż jest zwyczajnie za proste (np. zadanie a+b). 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ż 1 dzień..