Uniwersytet Mikołaja Kopernika w Toruniu - Centralny punkt logowaniaNie jesteś zalogowany | zaloguj się
katalog przedmiotów - pomoc

Kurs komputerowy - Python 2

Informacje ogólne

Kod przedmiotu: 0800-KK-PYTH2 Kod Erasmus / ISCED: (brak danych) / (0613) Tworzenie i analiza oprogramowania i aplikacji
Nazwa przedmiotu: Kurs komputerowy - Python 2
Jednostka: Wydział Fizyki, Astronomii i Informatyki Stosowanej
Grupy: Kursy komputerowe dla Fizyki Technicznej s2
Przedmioty do wyboru dla Informatyki Stosowanej s1
Punkty ECTS i inne: 2.00
Język prowadzenia: polski
Wymagania wstępne:

Kurs Python 1, i.e.:

1. Typy wbudowane

2. Niesekwencyjne typy iterowalne (zakres, plik, kursor bazy danych)

3. Listy składane, narzędzia programowania funkcyjnego (map, filter), funkcje anonimowe

4. Klasy, dziedziczenie, przysłanianie metod, przeciążanie operatorów

5. Programy wielowątkowe, blokady, kolejki

6. Programowanie sieciowe na poziomie gniazd

7. Podstawy obliczeń numerycznych z modułami numpy, scipy, pyplot

Całkowity nakład pracy studenta:

60 godzin:

30 godzin zajęć

30 godzin pracy własnej i przygotowania do testu końcowego

Efekty uczenia się - wiedza:

1. Teoria iteratorów i koprocedur oraz ich implementacji przez generatory. Mechanizmy komunikacji pomiędzy koprocedurą a programem głównym.


2. Znajomość wzorców współbieżności: mikrowątki, wątki podprocesy oraz nieblokujących operacji we/wy.


3. Dogłębna znajomość struktury języka: metod specjalnych klas, mechanizmów dziedziczenia, teorię funkcji pamiętających stan, domknięć funkcji i klas wykonywalnych.


4. Mechanizmy kontroli dostępu do atrybutów w klasach, dynamicznie generowane atrybuty, deskryptory, metody klas i metody statyczne.


5. Synchronizacja podprocesów w zrównoleglonych obliczeniach numerycznych.


Realizuje efekty: K_W03, K_W05, K_W07 dla FT i K_W01, K_W10 dla IS

Efekty uczenia się - umiejętności:

1. Umiejętność tworzenia i używania iteratorów


2. Umiejętność tworzenia mikrowątków przez koprocedury, komunikacji z koprocedurami, używania nieblokujących operacji wejścia/wyjścia


3. Umiejętność zaawansowanego programowania obiektowego i introspekcji.


4. Umiejętność zarządzania atrybutami w klasach


5. Umiejętność zrównoleglania obliczeń za pomocą podprocesów i sunchronizacji podprocesów.


Realizuje efekty: K_U06 dla FT i K_U01, KU_09, KU_10, KU_13, KU_22 dla IS


Efekty uczenia się - kompetencje społeczne:

Brak

Metody dydaktyczne:

Pracownia komputerowa - podawanie treści z jednoczesnym ich programowaniem przez studentów pod nadzorem

Metody dydaktyczne poszukujące:

- ćwiczeniowa
- laboratoryjna

Skrócony opis:

1. Iteratory i generatory, moduł itertools, koprocedury, mikrowątki, nieblokujące operacje wejścia-wyjścia

2. Programowanie funkcyjne, moduł functools, funkcje pamiętające stan, domknięcia funkcji, klasy wykonywalne

3. Dekoratory funkcji i klas

4. Menedżery kontekstu

5. Zaawansowane zagadnienia klas:

- metody statyczne i metody klas

- atrybuty pseudoprywatne

- metody __getattr__ / __getattribute__, dynamicznie generowane atrybuty, emulacja pseudoprywatności

- __slots__ - kontrola dostępności nazw

- deskryptory i właściwości

6. Moduł multiprocessing - programowanie równoległe, komunikacja między procesami, synchronizacja.

7. Problemy numeryczne w numpy / scipy

Pełny opis:

1. Iteratory i generatory, moduł itertools, koprocedury, mikrowątki, nieblokujące operacje wejścia-wyjścia

2. Programowanie funkcyjne, moduł functools, funkcje pamiętające stan, domknięcia funkcji, klasy wykonywalne

3. Dekoratory funkcji i klas

4. Menedżery kontekstu

5. Zaawansowane zagadnienia klas:

- metody statyczne i metody klas

- atrybuty pseudoprywatne

- metody __getattr__ / __getattribute__, dynamicznie generowane atrybuty, emulacja pseudoprywatności

- __slots__ - kontrola dostępności nazw

- deskryptory i właściwości

6. Moduł multiprocessing - programowanie równoległe, komunikacja między procesami, synchronizacja.

7. Problemy numeryczne w numpy / scipy

Literatura:

http://pl.wikibooks.org/wiki/Zanurkuj_w_Pythonie

https://docs.python.org/2/

https://docs.python.org/3/

Mark Lutz: Python

David Beazley, Brian K. Jones: Python receptury

Gniewomir Sarbicki: Python. Kurs dla nauczycieli i studentów

Metody i kryteria oceniania:

Kolokwium końcowe

33% - 50% - ocena: 3

50% - 67% - ocena: 3+

67% - 83% - ocena: 4

83% - 100% - ocena: 4+

100% - ocena: 5

W przypadku epidemii - oceny na podstawie projektów zaliczeniowych związanych z zagadnieniami kursu i przygotowanych jako tutoriale - statyczne strony html.

Zajęcia w cyklu "Semestr letni 2017/18" (zakończony)

Okres: 2018-02-26 - 2018-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin więcej informacji
Koordynatorzy: Gniewomir Sarbicki
Prowadzący grup: Gniewomir Sarbicki
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Zaliczenie na ocenę
Laboratorium - Zaliczenie na ocenę

Zajęcia w cyklu "Semestr letni 2018/19" (zakończony)

Okres: 2019-02-25 - 2019-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin więcej informacji
Koordynatorzy: Gniewomir Sarbicki
Prowadzący grup: Gniewomir Sarbicki
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Zaliczenie na ocenę
Laboratorium - Zaliczenie na ocenę

Zajęcia w cyklu "Semestr letni 2019/20" (zakończony)

Okres: 2020-02-29 - 2020-09-20
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin więcej informacji
Koordynatorzy: Gniewomir Sarbicki
Prowadzący grup: Gniewomir Sarbicki
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Zaliczenie na ocenę
Laboratorium - Zaliczenie na ocenę

Zajęcia w cyklu "Semestr letni 2020/21" (w trakcie)

Okres: 2021-02-22 - 2021-09-20
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin więcej informacji
Koordynatorzy: Gniewomir Sarbicki
Prowadzący grup: Gniewomir Sarbicki
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Zaliczenie na ocenę
Laboratorium - Zaliczenie na ocenę
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Mikołaja Kopernika w Toruniu.