Stacks Image 9299

Języki i Paradygmaty Programowania

Usually the first problems you solve with the new paradigm are the ones that were unsolvable with the old paradigm.
Joel A. Barker

Zasady zaliczenia

  • Ocena wystawiana z grupy kursów jest średnią ważoną ocen osiągniętych przez studenta z kolokwium (waga 60%) i z laboratorium (waga 40%), przy czym obie oceny muszą być pozytywne.
  • Kolokwium odbędzie się w ostatnim tygodniu zajęć (termin i miejsce kolokwium będzie podane na tej stronie).
  • Podczas laboratorium komputerowego student prezentuje samodzielnie rozwiązane zadania z przygotowanych przez wykładowcę list zadań (lista 0 jest rozruchowa i nie na ocenę).
  • Osoba prowadząca laboratorium ocenia wykonanie wszystkich list zadań. Każdy tydzień spóźnienia zaliczenia listy skutkuje obniżeniem oceny o pół stopnia (maksymalna ocena za listę: po tygodniu spóźnienia 4.5, po dwóch 4.0, po trzech 3.5, po czterech 3.0). Jeśli student nie odda listy zadań, to ma za nią 0 punktów.
  • Zadania należy rozwiązywać samodzielnie. Osoba sprawdzająca rozwiązanie zadania na laboratorium ma prawo nie zaliczyć zadania jeśli student nie potrafi wyjaśnić działania programu, nie zna jego elementów, nie potrafi wykonać drobnych modyfikacji kodu itp.
  • Zaliczenie list odbywa się podczas laboratorium przy komputerze (nie przysyłać programów e-mailem).
  • W ostatnim tygodniu zajęć prowadzący zajęcia laboratoryjne wysyłają do wykładowcy oceny jakie osiągnęli studenci w ich grupach (ocena z laboratorium).
  • Nie można zaliczać laboratorium w czasie sesji - ocena z laboratorium musi być wystawiona w ostatnim tygodniu zajęć.
  • Wykładowca oblicza średnią ważoną ocen z kolokwium i z laboratorium a następnie wyliczoną średnią wpisuje studentowi do protokołu w JSOS.
  • Jeśli student otrzymał z kolokwium i z laboratorium obie oceny bardzo dobre, to może odpowiadać u wykładowcy na ocenę celującą. Powinien poinformować wykładowcę o takim zamiarze jeszcze przed rozpoczęciem sesji egzaminacyjnej i umówić się na konsultacje w pierwszym tygodniu sesji.

Plan wykładu

  • Koncepcje i paradygmaty programowania (4g) (prezentacja)
  • Przegląd paradygmatów na przykładzie języka programowania Oz (8g) (prezentacja)
  • Elementy języka programowania Scheme (4g) (prezentacja)
  • Elementy języka programowania Haskell (4g) (prezentacja)
  • Elementy języka programowania Erlang (4g) (prezentacja)
  • Elementy języka programowania Prolog (4g) (prezentacja)
  • Kolokwium (2g)
Prezentacja dostępna jest w postaci pliku JPP.pdf.
Wybrane przykłady do wykładu będą zamieszczane w repozytorium all-all-jpp.git.

Literatura

Literatura podstawowa

Literatura uzupełniająca

Materiały dodatkowe

Stacks Image 2855

diagram wykonał Peter Van Roy

Film o monadach:

Narzędzia

Mozart/Oz

Scheme

Haskell

Erlang

Prolog

Laboratorium

  • Lista 0 (instalacja narzędzi)
  • Lista 1 (elementy języka Oz) [termin zaliczenia: do 7 laboratorium]
  • Lista 2 (elementy języka Scheme) [termin zaliczenia: do 9 laboratorium]
  • Lista 3 (elementy języka Haskell) [termin zaliczenia: do 11 laboratorium]
  • Lista 4 (elementy języka Erlang) [termin zaliczenia: do 13 laboratorium]
  • Lista 5 (elementy języka Prolog) [termin zaliczenia: do 15 laboratorium]

Kolokwium

Termin i miejsce

Wyniki

Kolokwium poprawkowe

Termin i miejsce

Wyniki

TBA