Uniwersytet Mikołaja Kopernika w Toruniu - Centralny punkt logowania
Strona główna

Kurs komputerowy - Python 2

Informacje ogólne

Kod przedmiotu: 0800-KK-PYTH2
Kod Erasmus / ISCED: (brak danych) / (0613) Tworzenie i analiza oprogramowania i aplikacji Kod ISCED - Międzynarodowa Standardowa Klasyfikacja Kształcenia (International Standard Classification of Education) została opracowana przez UNESCO.
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 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.
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 2021/22" (zakończony)

Okres: 2022-02-21 - 2022-09-30
Wybrany podział planu:
Przejdź do planu
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 2023/24" (w trakcie)

Okres: 2024-02-20 - 2024-09-30
Wybrany podział planu:
Przejdź do planu
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.
ul. Jurija Gagarina 11, 87-100 Toruń tel: +48 56 611-40-10 https://usosweb.umk.pl/ kontakt deklaracja dostępności USOSweb 7.0.2.0-1 (2024-03-12)