Wprowadzenie do programowania w języku Python 2400-ZEWW825
• Podstawy Pythona. Konsola, środowiska wirtualne, edytory kodu, zintegrowane środowiska programistyczne, dokumentacja kodu, styl PEP 8. Co to algorytm i kontrola wersji
• Podstawy programowania na przykładzie Pythona: typy zmiennych, podstawowe struktury danych (lista, krotka, zbiór, słownik), kontrola przepływu (instrukcje warunkowe, pętle, wyjątki)
• Funkcje. Struktura, zakres, parametry, rekurencja, lambda
• numpy (algebra liniowa)
• pandas (operacje na danych)
• Sieć i dane: biblioteki requests i BeautifulSoup. HTTP, API, HTML, XML, JSON
• Klasy i dziedziczenie
• List/dictionary comprehensions, generatory, iteratory. Zaawansowane struktury danych (collections, trees)
• Pliki, przetwarzanie tekstu, wyrażenia regularne. Tworzenie efektywnego i szybkiego kodu, wielowątkowość, profilowanie
Rodzaj przedmiotu
Koordynatorzy przedmiotu
Efekty kształcenia
WIEDZA
Student/ka umie wyjaśnić różnicę między zintegrowanym środowiskiem programistycznym a edytorem tekstu
Student/ka ma świadomość istnienia różnych struktur danych, w tym innych niż podstawowe i wie, która jest odpowiednia do rozwiązania konkretnych problemów
Student/ka zna pojęcia funkcji i klasy oraz wie, że nie ograniczają się one do konkretnego języka
Student/ka wie, do jakich zastosowań użyć podstawowych bibliotek języka Python oraz jak wyszukiwać biblioteki potrzebne mu do konkretnych zastosowań
Student/ka wie, jak dane w internecie są ustrukturyzowane, co to Application Programming Interface oraz jakie są jego zastosowania
Student/ka rozróżnia powszechne formaty danych i wie, jakiego narzędzia należy użyć do ich wczytania
Student/ka wie, gdzie szukać informacji dotyczących programowania
UMIEJĘTNOŚCI
Student/ka potrafi skonfigurować środowisko wirtualne oraz wybrać narzędzie, w którym będzie pisać kod, odpowiednio do swoich potrzeb
Student/ka potrafi przeanalizować dane samodzielnie pobrane ze źródeł internetowych do wykorzystania w jej/jego pracy licencjackiej lub magisterskiej
Student/ka jest w stanie przygotować prostą aplikację wykorzystującą źródła internetowe
Student/ka potrafi napisać kod, który rozwiązuje problem w sposób efektywny
Student/ka umie wyszukiwać rozwiązania problemów w wyszukiwarce internetowej i dostosować znalezione rozwiązania
KOMPETENCJE SPOŁECZNE
Student/ka rozumie, że potrzebna jest zarówno praca własna, jak i stałe poszerzanie swojej wiedzy w komunikacji z innymi, aby osiągnąć sukces w programowaniu
Student/ka ma świadomość, że prawdopodobnie rozwiązanie problemu stojącego przed nią/nim zostało już znalezione i należy korzystać z doświadczenia innych
Kryteria oceniania
Wymagane są:
1) rozwiązanie zbioru zadań sprawdzających podstawową wiedzę i umiejętności.
2) projekt końcowy.
Do zaliczenia przedmiotu wymagane jest zaliczenie obu części. Jeśli przedmiot został zaliczony, ocena końcowa zależy wyłącznie od projektu końcowego.
Literatura
Sweigart, A. (2019), “Automate the Boring Stuff with Python: Practical Programming for Total Beginners”, 2nd Edition, No Starch Press
Shaw, Z. (2016), “Learn Python 3 the Hard Way”, Addison-Wesley Professional
McKinney, W. (2012),”Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython”, O’Reilly
VanderPlas, J. (2016), Python Data Science Handbook: Essential Tools for Working with Data, O’Reilly
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: