Programista Python
Przedmiot
Opis przedmiotu
Podstawy programowania w języku Python
Podstawy programowania komputerowego. Kompilacja a interpretacja. Python a inne języki programowania. Wersje Pythona. Podstawowe metody. Komentarze. Zmienne i konwencje nazewnicze. Podstawowe typy danych. Operatory (arytmetyczne, formatowania i wyprowadzania danych przypisania, logiczne, bitowe). Zasady rządzące budowaniem wyrażeń. Wprowadzanie i konwertowanie danych. Instrukcje warunkowe. Pętle. Funkcje. Struktury danych (listy, krotki, zbiory, słowniki). Moduły oraz pakiety. Obsługa wyjątków. Podstawy programowania zorientowanego obiektowo (dziedziczenie, abstrakcja, enkapsulacja, polimorfizm). Wyrażenia lambda. Operacje na plikach.
Obsługa baz danych
Wprowadzenie do systemów baz danych. Podstawy języka SQL. Tworzenie i zarządzanie relacjami w bazie danych. Dostęp do baz danych ze środowiska Python. Transakcje i wycofywanie zmian.
Programowanie z wykorzystaniem Django
Wykorzystywanie Django do tworzenia dynamicznych aplikacji Webowych z wykorzystaniem modeli, widoków oraz szablonów. Praca z bazą danych i obsługa zapytań QuerySet, mapowanie obiektowo-relacyjne (ORM) w Django. Tworzenie własnych serwisów REST z wykorzystaniem podejścia TDD (Test driven development) oraz Django REST Framework. Zabezpieczanie aplikacji w podejściu sesyjnym oraz bezstanowym.
Projektowanie warstwy klienta aplikacji webowych
Język HTML. Kaskadowe arkusze stylów CSS. Wprowadzenie do języka JavaScript. Najważniejsze obiekty języka JavaScript. Techniki tworzenia zaawansowanych stron WWW przy jednoczesnym użyciu HTML, CSS oraz JavaScript. Wykorzystanie lekkiego frameworka Flask do tworzenia REST API. Analiza istniejących REST API. Wykorzystanie narzędzia Postman do wywoływania zapytań HTTP. Aplikacje webowe typu Single Page Application z wykorzystaniem frameworka Angular: wprowadzenie do języka TypeScript, podstawowe elementy i struktura projektu Angular, komponenty i wiązanie danych, dyrektywy, serwisy i wstrzykiwanie zależności, mechanizm przekierowań, formularze i walidacja, żądania HTTP.
Wykorzystanie bibliotek Pythona do analizy i przetwarzania danych
Podstawowe zagadnienia związane z analizą i przetwarzaniem danych. Wprowadzenie do narzędzia Jupyter Notebook. Przetwarzanie danych z wykorzystaniem biblioteki Pandas i numPy. Wizualizacja danych przy użyciu biblioteki matplotlib. Wstęp do uczenia maszynowego.
Zarządzanie projektem
Założenia Agile. Zwinne zarządzanie projektem na podstawie metodyki SCRUM. System kontroli wersji na przykładzie Git i GitHub. Wykorzystanie PyCharm jako zintegrowanego środowiska programistycznego dla języka programowania Python. Zarządzanie zależnościami pakietów.