Programowanie w języku Python - studia zaoczne

Zasady zaliczenia

Zasady zaliczenia przedmiotu

Do zaliczenia przedmiotu konieczne jest otrzymanie oceny co najmniej 3 z wykładu i co najmniej 3 z ćwiczeń. Uzyskanie oceny 2nb z ćwiczeń lub wykładu skutkuje uzyskaniem oceny 2nb z przedmiotu. Uzyskanie oceny 2 z ćwiczeń lub wykładu skutkuje uzyskaniem oceny 2 z przedmiotu.

Ocena z przedmiotu jest średnią oceny z ćwiczeń i wykładu.

Zasady zaliczenia ćwiczeń

Zasady zaliczenia ćwiczeń są ustalane przez odpowiedniego prowadzącego i będą podane na pierwszych zajęciach.

Zasady zaliczenia wykładu

Zaliczenie wykładu, odbywa się w formie egzaminu testowego na ostatnim wykładzie (czas trwania około 90 minut). W każdym z 30 pytań będą zamieszczone trzy odpowiedzi, z których tylko jedna jest prawidłowa. Za odpowiedź prawidłową otrzymuje się 1 punkt, za błędną 0 punktów.

Termin egzaminu poprawkowego zostanie ogłoszony na ostatnim wykładzie.

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 podejścia do egzaminu

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:

  1. Python Setup and Usage [EN]

  2. Python Download and Installation Instructions [Windows] [EN]

  3. Installing Python 3 on macOS [EN]

  4. Install PyCharm [EN]

  5. Instalacja i używanie Pythona [PL]

  6. Instalowanie Pythona [PL]

Materiały dodatkowe na YouTube:

  1. Instalacja Pycharm oraz Python - poradnik krok po kroku [PL]

Wprowadzenie do języka

Slajdy:

  1. Wprowadzenie do języka Python - Pierwszy program

Materiały dodatkowe:

  1. History of the software [EN]

Materiały dodatkowe na YouTube:

  1. Kurs Python 🐍: 3. Pierwszy program (autor: Krzysztof Jura) [PL]

  2. Kurs Python 🐍: 4. Tryb interaktywny (autor: Krzysztof Jura) [PL]

Podstawowe elementy języka

Slajdy:

  1. Podstawowe elementy języka - podstawowe typy danych, kolekcje, instrukcje sterujące

Materiały dodatkowe:

  1. If statement [EN]

  2. String operations [EN]

  3. for Statements [EN]

  4. The range() Function [EN]

  5. Lists [EN]

  6. Data Structures [EN]

  7. Sets [EN]

  8. Dictionaries [EN]

  9. PEP 8 – Style Guide for Python Code [EN]

Materiały dodatkowe na YouTube:

  1. Kurs Python 3 [#5] Instrukcje warunkowe (autor: Piotr Baja) [PL]

  2. Kurs Python 3 [#7] Pętla while (autor: Piotr Baja) [PL]

  3. Kurs Python 3 [#8] Pętla for (autor: Piotr Baja) [PL]

  4. Python – podstawy: listy, krotki, słowniki, zbiory, pętle, funkcje, generatory, pliki, konteksty (autor: Maciej Komosiński) [PL]

Funkcje

Slajdy:

  1. Funkcje - Definicja i wywołanie funkcji, przekazywanie argumentów, zwracanie wartości

Materiały dodatkowe:

  1. Functions [EN]

  2. Defining functions [EN]

Materiały dodatkowe na YouTube:

  1. Kurs Python 3 [#13] Funkcje (autor: Piotr Baja) [PL]

  2. Czym są funkcje? [Python] odc. 10 z serii podstaw Pythona (autor: Adam Djellouli) [PL]

Rekurencja

Slajdy:

  1. Rekurencja - Żeby zrozumieć rekurencję, najpierw musisz zrozumieć rekurencję

Materiały dodatkowe:

  1. Rekurencja [PL]

Materiały dodatkowe na YouTube:

  1. Czym jest rekurencja? [Python] odc. 26 z serii podstaw Pythona (autor: Adam Djellouli) [PL]

  2. Rekurencja w Pythonie - wprowadzenie (Python kurs dla początkujących #27) (autor: Szymon Wolny) [PL]

Podział projektu na pliki - Moduły i pakiety, moduły standardowe

Slajdy:

  1. Podział projektu na pliki - Moduły i pakiety, moduły standardowe

Materiały dodatkowe:

  1. Modules (+ Standard Modules, Packages) [EN]

  2. The import system [EN]

  3. Moduły [PL]

Materiały dodatkowe na YouTube:

  1. Kurs Python 3 [#14] Własne moduły, import, from, as (autor: Piotr Baja) [PL]

  2. Lekcja 11. KURS PYTHON 3. Moduły. Pakiety. (autor: WebCrew Tomasz Jaśniewski) [PL]

Formatowanie napisów

Slajdy:

  1. Formatowanie napisów - %-formatting, str.format(), f-strings

Materiały dodatkowe:

  1. PyFormat - Using % and .format() for great good! [EN]

  2. Python String Format Cookbook [EN]

Materiały dodatkowe na YouTube:

  1. Kurs Python 3 [#9] enumerate, format, break (autor: Piotr Baja) [PL]

Wirtualne środowisko

Slajdy:

  1. Wirtualne środowisko - PyPI, venv

Materiały dodatkowe:

  1. venv — Creation of virtual environments [EN]

  2. PyCharm - Configure a virtual environment [EN]

  3. Python – wirtualne środowisko pracy [PL]

  4. Python 3 & venv [PL]

Materiały dodatkowe na YouTube:

  1. 02 - Kurs Python - Virtualenv + PIP [PL]

  2. PyWaw #69 - Środowiska wirtualne i zarządzanie zależnościami w Pythonie (autor: Piotr Grzesik) [PL]

Operacje wejścia/wyjścia - Pliki

Slajdy:

  1. Operacje wejścia/wyjścia - Pliki

Materiały dodatkowe:

  1. Input and Output - Reading and Writing Files [EN]

Materiały dodatkowe na YouTube:

  1. Operacje na plikach tekstowych [Python] odc. 30 z serii podstaw Pythona (autor: Adam Djellouli) [PL]

  2. Python #6 - Zapis i odczyt danych z plików tekstowych + Obsługa Plików CSV (*.CSV) (autor: Mały Ale Wariat) [PL]

Operacje wejścia/wyjścia - Pickle

Slajdy:

  1. Operacje wejścia/wyjścia - Pickle

Materiały dodatkowe:

  1. pickle — Python object serialization [EN]

  2. Don’t Pickle Your Data [EN]

Wprowadzenie do obsługi wyjątków

Materiały dodatkowe:

  1. Errors and Exceptions [EN]

  2. Wyjątki (autor: Katarzyna Miernik, AGH) [PL]

  3. Testowanie w Pythonie (o wyjątkach) [PL]

Materiały dodatkowe na YouTube:

  1. Kurs Python 3 [#17] Wyjątki (Exceptions) (autor: Piotr Baja) [PL]

  2. 12. Kurs Python 3 - obsługa wyjątków (try, except) (autor: Kanał o Wszystkim) [PL]

Przykładowe programy do wykładów

Wykład 1, 2 - Zasady zaliczenia; Literatura; Środowisko pracy; Wprowadzenie do języka; Podstawowe elementy języka

  1. Książka telefoniczna (słownik; pętla while)

Wykład 3, 4 - Funkcje; Rekurencja; Podział projektu na pliki - Moduły i pakiety, moduły standardowe

  1. Książka telefoniczna (funkcje)

  2. Fibonacci (funkcja rekurencyjna, iteracyjna; asercje; testy; TDD)

Wykład 5, 6 - Formatowanie napisów; Wirtualne środowisko; Operacje wejścia/wyjścia - Pliki; Operacje wejścia/wyjścia - Pickle

  1. Fibonacci (czytanie i zapisywanie pliku - historia)

  2. Fibonacci (czytanie i zapisywanie pliku - cache)

  3. Fibonacci (pickle)

Wykład 7 - Wprowadzenie do obsługi wyjątków

  1. NBP (wyjątki)

  2. Łączenie PDF (wyjątki)

Wykład 8 - Egzamin