Treści kursu
- Wprowadzenie lub utrwalenie i przećwiczenie podstawowych składników i pojęć programowania: algorytm, interpreter, skrypt, zmienna, instrukcja warunkowa, pętla.
- Możliwości i działanie rozszerzonej konsoli Pythona.
- Podstawy Pythona:
- operacje na liczbach i tekście, podstawowe typy danych, konwersja typów,
- operacje na liczbach i tekście,
- operacje wejścia i wyjścia, formatowanie wyjścia,
- szablon skryptu,
- zasady PEP8,
- korzystanie ze standardowych modułów Pythona.
- Instrukcje warunkowe proste i złożone, przykładowe algorytmy warunkowe.
- Pętle w Pythonie ze znaną i nieznaną liczbą powtórzeń, sekwencje liczbowe, obiekty iterowalne, przykłady algorytmów iteracyjnych.
- Algorytmy iteracyjno-warunkowe.
- Złożone typy danych w Pythonie: napisy, listy, tuple, zbiory, słowniki.
- Zmienne globalne, lokalne, przestrzenie nazw, zakresy.
- Definiowanie funkcji, funkcje parametryczne, zwracanie wartości, typy argumentów, w tym zmiennej długości.
- Klasyczne struktury danych: stos, kolejka, lista.
- Wykorzystanie złożonych typów danych do emulowania stosu, kolejki i listy.
- Podstawy programowania obiektowego: klasa, obiekt, instancja, atrybuty.
- Definiowanie klas: konstruktor, destruktor, atrybuty, metody typu setter i getter, wykorzystanie dekoratorów do definiowania właściwości.
- Porównanie programowania strukturalnego i obiektowego na przykładach.
- Obsługa plików w formatach json i csv.
- System ORM – tworzenie modeli, operacje CRUD, implementacja przykładowych schematów baz.
- Tworzenie obiektowej aplikacji z interfejsem graficznym w PyQt pozwalającej na obsługę bazy danych za pomocą systemu ORM.
- Tworzenie aplikacji multimedialnej z obsługą działań użytkownika z wykorzystaniem biblioteki PyGame: wersja strukturalna i obiektowa.
- Wizualizacja algorytmów za pomocą biblioteki PyGame i Matplotlib.
- Implementacja strategii walki robota w grze RobotGame: programowanie funkcyjne, wykorzystanie operacji na zbiorach, implementacja mechanizmów sztucznej inteligencji, wykorzystanie API gry.
Uwaga: lista zagadnień może ulec zmianom.