Zaawansowane techniki programowania w języku Python - studia zaoczne¶
Tematy
Zasady zaliczenia¶
Zasady zaliczenia przedmiotu¶
Do zaliczenia przedmiotu konieczne jest otrzymanie oceny co najmniej 3 z ćwiczeń. Uzyskanie oceny 2nb z ćwiczeń skutkuje uzyskaniem oceny 2nb z przedmiotu. Uzyskanie oceny 2 z ćwiczeń skutkuje uzyskaniem oceny 2 z przedmiotu.
Do tego przedmiotu nie ma wykładu, ocena z ćwiczeń jest oceną z przedmiotu.
Zasady zaliczenia ćwiczeń¶
Zaliczenie ćwiczeń odbywa się na podstawie jednego projektu:
projekt oddajemy na ostatnich zajęciach,
punktacja: 0 - 30 punktów (nie ma punktów ułamkowych ;) ),
temat, specyfikacja i punktacja projektu będzie podana odpowiednio wcześniej (nasz przedostatni wspólny zjazd)
trzeba być autorem rozwiązania
Obowiązująca skala ocen:
ocena |
liczba punktów |
procent sumarycznie uzyskanych punktów |
---|---|---|
5 |
od 28pkt do 30pkt |
od 91% do 100% |
4.5 |
od 25pkt do 27pkt |
od 81% do 90% |
4 |
od 22pkt do 24pkt |
od 71% do 80% |
3.5 |
od 19pkt do 21pkt |
od 61% do 70% |
3 |
od 16pkt do 18pkt |
od 51% do 60% |
2 |
poniżej 16pkt |
poniżej 51% |
2nb |
za brak projektu |
Literatura¶
Polecam oficjalny tutorial:
Książki:
Książki o poprawnym pisaniu kodu:
Książki z zadaniami:
Środowisko pracy¶
Wymagany oficjalny interpreter Pythona w wersji co najmniej 3.7 (najlepiej najnowszy).
Link do pobrania oficjalnego interpretera: https://www.python.org/downloads/
Informacja
Niektóre systemy operacyjne (np. Ubuntu 18.04) nie posiadają wymaganej wersji interpretera języka Python. Część omawianych elementów języka może nie działać.
Wybór środowiska programistycznego należy do Ciebie, chociaż polecam PyCharm.
Link do pobrania środowiska PyCharm (wersja PyCharm Community Edition jest darmowa): https://www.jetbrains.com/pycharm/download/
Można uzyskać licencję edukacyjną (ważna przez rok) dla PyCharm/InteliJ IDEA/CLion/PhpStorm, więcej informacji tutaj: https://www.jetbrains.com/community/education/
Licencję edukacyjną na produkty (nie tylko związane z Pythonem) innych firm można także otrzymać przez GitHub Student Developer Pack, więcej informacji tutaj: https://education.github.com/pack
Myślę, że warto również wypróbować Microsoft Visual Studio Code. Jest darmowy, posiada wsparcie dla wielu języków (np. C, C++, C#, Java, Robot Framework), wydawany na własnej licencji.
Link do pobrania środowiska Microsoft Visual Studio Code: https://code.visualstudio.com/
Dostępne są także środowiska programistyczne on-line, z tych polecam:
Materiały dodatkowe:
Materiały dodatkowe na YouTube:
Iteratory¶
Materiały dodatkowe:
Materiały dodatkowe na YouTube:
Generatory¶
Materiały dodatkowe:
Materiały dodatkowe na YouTube:
Wielowątkowość (multithreading)¶
Materiały dodatkowe:
Materiały dodatkowe na YouTube:
Własny wątek, dziedziczymy po klasie threading.Thread? [Python] (autor: Adam Djellouli) [PL]
Programowanie współbieżne w Pythonie! Kompendium efektywnego pythonisty (autor: Videopoint) [PL]
Threading Tutorial #1 - Concurrency, Threading and Parallelism Explained (autor: Tech With Tim) [EN]
Threading Tutorial #2 - Implementing Threading in Python 3 (Examples) (autor: Tech With Tim) [EN]
Wieloprocesorowość (multiprocessing)¶
Materiały dodatkowe:
Materiały dodatkowe na YouTube:
Dekoratory¶
Materiały dodatkowe:
Materiały dodatkowe na YouTube:
Wyrażenia regularne¶
Materiały dodatkowe:
Materiały dodatkowe na YouTube: