Python dla kognitywistów 2500-KOG-PL-OB1Z-11
Grupa początkująca:
1. Elementy wstępu do programowania na przykładzie języka Python.
2. Wprowadzenie do języka Python, przegląd najważniejszych elementów
języka i pakietów biblioteki standardowej.
3. Wprowadzenie do algorytmiki, przegląd podstawowych algorytmów i
struktur danych. Nauka tworzenia optymalnych algorytmów.
4. Omówienie najważniejszych pojęć i technik programistycznych w tym:
- struktury danych, kolekcje,
- funkcje, rekurencja,
- obsługa wyjątków,
- odczytywanie i zapis danych do pliku,
- obiektowość w Pythonie.
Grupa zaawansowana:
1. Wykład wstępny: przypomnienie i wprowadzenie wybranych elementów
języka Python, omówienie środowiska programistycznego.
2. Podstawowe i zaawansowane wykorzystanie kolekcji biblioteki
standardowej Pythona (listy, słowniki, zbiory). Rola struktur danych w
programach komputerowych.
3. Omówienie kluczowych pojęć programistycznych (rekurencja, złożoność
obliczeniowa) oraz praktyk związanych z pisaniem oprogramowania
(czytelność kodu, podział zadań pomiędzy funkcje, wykorzystanie
idiomów).
Elementy wspólne dla obu grup:
1. Metody algebry liniowej i analizy numerycznej z wykorzystaniem pakietu numpy.
2. Podstawy programowania naukowego. Przydatne funkcje biblioteki scipy.
3. Analiza i wizualizacja danych z wykorzystaniem biblioteki matplotlib.
4. W jaki sposób przyśpieszyć działanie kluczowych fragmentów
aplikacji? O wydajnych obliczeniach numerycznych w języku Python.
5. Dobre praktyki programistyczne. Wykład o ekonomii pracy
programisty, współpracy w zespole i jakości kodu.
6. Wybrane narzędzia przydatne w kognitywistyce (opcjonalne, do wyboru):
- poszerzenie wiedzy na temat analizy i wizualizacji danych z użyciem
na przykład pakietów pandas, seaborn, plotly, bokeh,
- python w analizie sieci z użyciem pakietu networkx,
- podstawy statystycznej analizy danych z użyciem pakietu scikit-learn,
- przetwarzanie języka naturalnego w pythonie,
- inne narzędzia.
Efekty kształcenia
Student potrafi pisać proste programy w języku Python. Zna od strony praktycznej podstawowe koncepcje programistyczne. Potrafi wykorzystywać metody pochodzące z zewnętrznych bibliotek. Zna podstawowe funkcjonalności pakietów numpy, scipy. Umie wykorzystywać język Python jako środowisko programistyczne do analizy danych.
Kryteria oceniania
Aktywność na ćwiczeniach, prace domowe, projekt programistyczny.
Literatura
Tutorial Python: https://docs.python.org/3/tutorial/
Python Wprowadzenie. Mark Lutz, Wyd. Helion
Efektywny Python. 59 sposobów na lepszy kod, Bred Siatkin, Wyd. Helion
A Primer on Scientific Programming with Python. Hans Petter Langtangen, Wyd. Springer Verlag GMBH
Introduction to Python for Econometrics, Statistics and Data Analysis. Kevin Sheppard: https://www.kevinsheppard.com/images/b/b3/Python_introduction-2016.pdf
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: