Uniwersytet Warszawski - Centralny System Uwierzytelniania
Strona główna

Zaawansowane techniki programistyczne (z przykładami w Pythonie)

Informacje ogólne

Kod przedmiotu: 1000-2P10ZTP
Kod Erasmus / ISCED: 11.303 Kod klasyfikacyjny przedmiotu składa się z trzech do pięciu cyfr, przy czym trzy pierwsze oznaczają klasyfikację dziedziny wg. Listy kodów dziedzin obowiązującej w programie Socrates/Erasmus, czwarta (dotąd na ogół 0) – ewentualne uszczegółowienie informacji o dyscyplinie, piąta – stopień zaawansowania przedmiotu ustalony na podstawie roku studiów, dla którego przedmiot jest przeznaczony. / (0612) Database and network design and administration Kod ISCED - Międzynarodowa Standardowa Klasyfikacja Kształcenia (International Standard Classification of Education) została opracowana przez UNESCO.
Nazwa przedmiotu: Zaawansowane techniki programistyczne (z przykładami w Pythonie)
Jednostka: Wydział Matematyki, Informatyki i Mechaniki
Grupy: Przedmioty monograficzne dla III - V roku informatyki
Punkty ECTS i inne: (brak) Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.

zobacz reguły punktacji
Język prowadzenia: angielski
Rodzaj przedmiotu:

monograficzne

Skrócony opis:

Laboratorium ma na celu zapoznanie studentów z przemysłowymi przykładami użycia zaawansowanych technik programistycznych, takich jak:

* iteracja z przełączaniem kontekstu,

* dekoracja klas i funkcji,

* metaklasy,

* programowanie hybrydowe,

* introspekcja.

Pełny opis:

Laboratorium ma na celu zapoznanie studentów z przemysłowymi przykładami użycia zaawansowanych technik programistycznych, takich jak:

* iteracja z przełączaniem kontekstu,

* dekoracja klas i funkcji,

* metaklasy,

* programowanie hybrydowe,

* introspekcja.

Każdy mechanizm zostanie omówiony, zilustrowany przykładami z istniejących i szeroko wykorzystywanych bibliotek (np. Django, Twisted) oraz będzie przedmiotem cząstkowego zadania zaliczeniowego.

Zaliczenie: Podstawą zaliczenia będzie terminowe przedłożenie rozwiązań cząstkowych zadań zaliczeniowych (5 zadań).

Forma zajęć: Przed omówieniem każdej partii materiału uczestnicy otrzymają materiały do przyswojenia oraz zadania. Zajęcia będą mieć formę dyskusji nad problemami pojawiającymi się po lekturze otrzymanych materiałów oraz pracy nad zadaniami przy wsparciu ze strony prowadzących. Omówienie każdej partii materiału zakończy się oddaniem zadania zaliczeniowego.

Wymagania wstępne:

* C, Python

* wzorce projektowe

* programowanie obiektowe

O prowadzących: Prowadzący są aktywnymi programistami pracującymi w przemyśle od ponad dziesięciu lat.

Marcin Kaszyński aktywnie korzysta z języka Python od pięciu lat, jest autorem komercyjnych kursów tego języka i poświęconych mu wystąpień na konferencjach. Obecnie pracuje jako kierownik techniczny w SetJam.com prowadząc sześcioosobowy zespół programistów używających głównie Pythona. Grzegorz Jakacki aktywnie korzysta z języka Python od pięciu lat, pracował m.in. nad aplikacją sieciową Nordicbet, stworzoną w całości w języku Python przez zespół trzydziestu programistów, obecnie kieruje firmą Codility.com tworzącą produkt programistyczny w języku Python.

Przedmiot nie jest oferowany w żadnym z aktualnych cykli dydaktycznych.
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Warszawski.
Krakowskie Przedmieście 26/28
00-927 Warszawa
tel: +48 22 55 20 000 https://uw.edu.pl/
kontakt deklaracja dostępności USOSweb 6.8.1.0-4 (2023-02-27)