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)