Seminarium: wieloparadygmatowe języki programowania

Język wykładowy Polski
Semestr Zimowy
Status W ofercie
Opiekun Paweł Rychlikowski
Liczba godzin
Rodzaj Seminarium
ECTS 3
Polecany dla I roku Nie
Egzamin Nie

Opis przedmiotu:

Celem przedmiotu jest umożliwienie studentom wstępnego zapoznania się z kilkoma językami programowania łączącymi wiele paradygmatów (obiektowe, funkcyjne, logiczne, współbieżne, ...), jak również zdobycie przydatnej w pracy umiejętności szybkiego wprowadzania koleżanek i kolegów w nową technologię. Zbiór języków, którymi się będziemy zajmować ustalony zostanie metodą konkursu, do którego staną języki zaproponowane przez prowadzącego oraz przez uczestników. Na pierwszych zajęciach każda osoba zgłaszająca język będzie mogła przeprowadzić krótką "kampanię wyborczą" na rzecz swojego kandydata. Potem odbędzie się głosowanie, w którym oprócz uczestników i prowadzącego będą brali udział głosujący wirtualni: m.in. System Zapisów (preferowane są języki, które nie występują w naszej ofercie, albo są bardzo rzadko prowadzone) oraz Tiobe Programming Index (preferowane są języki, których ktoś używa, co przybliżamy premiując te, które występują w Top20, nieznacznie mniej Top50; pewne punkty można dostać za Top100). Student (lub zespół 2-osobowy) realizujący dany temat powinien przygotować 90-minutową prezentację o danym języku, w której skupia się na tym, co odróżnia ten język od innych. Ponadto powinnien przygotować krótką listę prostych zadań z tego języka (wraz z ewentualnymi notatkami, jeżeli podczas prezentacji nie zostały podane wszystkie informacje konieczne do rozwiązania zadań z listy). Oczywiście zadania powinny dotyczyć rzeczy charakterystycznych dla danego języka. Do obowiązków studenta należy również sprawdzenie rozwiązań zgłaszanych przez innych uczestników. Na ocenę wpływa prezentacja oraz (w nieco mniejszym stopniu) aktywność w rozwiązywaniu zadań stworzonych przez innych oraz udział w seminariach. Przykładowe propozycje prowadzącego (kolejność przypadkowa): Erlang, Mercury, Scala, Clojure, Lambda Prolog, Swift, D, Curry.