Celem kursu jest podniesienie umiejętności programowania w wybranym języku. Studenci będą ćwiczyli umiejętności programistyczne w paradygmatach: proceduralnym, obiektowym oraz funkcyjnym. Treści obejmują m.in. instrukcje warunkowe, pętle iteracyjne, sekwencyjne struktury danych, funkcje, programy z argumentami pozycyjnymi, obsługę wyjątków, budowanie własnych klas oraz inne zaawansowane techniki obiektowe m.in.: indeksatory, przeciążanie operatorów, delegaty, interfejsy czy klasy abstrakcyjne, a także wykorzystanie specjalistycznych modułów wybranego języka programowania. Ilustracja omawianych zagadnień oparta będzie o język programowania Python.
Tematyka ćwiczeń laboratoryjnych:
- Środowisko uruchomieniowe języka Python. Praca w trybie interaktywnym oraz skryptowym w różnych systemach operacyjnych
- Wprowadzanie i wyprowadzanie danych, instrukcja warunkowa, instrukcja iteracyjna WHILE, instrukcje iteracyjne FOR, typy wartościowe i typy referencyjne
- Sekwencje – łańcuchy znaków, krotki, listy, zbiory i słowniki
- Funkcje i ich wykorzystanie do tworzenia własnych modułów i pakietów, programy z argumentami pozycyjnymi
- Obsługa wyjątków, operacje na plikach
- Podstawy programowania obiektowego: klasy, metody, obiekty i pola, konstruktory i atrybuty klas, polimorfizm i dziedziczenie, modyfikatory dostępu do pól oraz metod
- Tworzenie interfejsów graficznych GUI jako przykład wykorzystania paradygmatu programowania obiektowego. Wykorzystanie elementów graficznych i multimedialnych
- Zaawansowane techniki obiektowe m.in.: indeksatory, przeciążanie operatorów, delegaty, interfejsy czy klasy abstrakcyjne
- Elementy programowania funkcyjnego (iteratory, generatory)
- Wykorzystanie specjalistycznych modułów wybranego języka programowania (np. scipy oraz numpy) do obliczeń w ekonometrii (m.in. operacje na macierzach i wektorach, analiza statystyczna dużych zbiorów danych)
- Autorzy kursu: Marcin Ziółkowski