Wydział Informatyki
Kierunek studiów Data Science Poziom i forma studiów pierwszego stopnia inżynierskie stacjonarne
Specjalność / Ścieżka dyplomowania --- Profil kształcenia ogólnoakademicki
Nazwa przedmiotu Podstawy programowania Kod przedmiotu DS1S1PPR
Rodzaj przedmiotu obowiązkowy
Forma zajęć i liczba godzin W Ć L P Ps T S Semestr 1
30 45 Punkty ECTS 6
Przedmioty wprowadzające
Cele przedmiotu

Przekazanie podstawowej wiedzy z zakresu programowania, ze szczególnym uwzględnieniem języka Python jako narzędzia do przetwarzania i analizy danych.
Rozwój praktycznych umiejętności implementacji algorytmów i struktur danych, stanowiących fundament dla dalszej nauki zaawansowanych technik programistycznych w data science.

Odniesienia do frameworka edukacyjnego mikrokompetencji SFIA:
Programming/software development PROG - poziom 2
Testing TEST - poziom 1

Treści programowe

Podstawowe pojęcia i koncepcje programowania. Specyfika Pythona jako języka do analizy danych. Operacje wejścia-wyjścia. Typy danych proste i kontenerowe, operacje na typach i strukturach danych. Struktury kontrolne: instrukcje warunkowe, pętle. Funkcje i moduły. Rekurencja. Praca z plikami. Testowanie i ulepszanie kodu, typy błędów. Biblioteki standardowe. Przegląd podstawowych bibliotek Pythona przydatnych w analizie danych.

Wykład:
1. Podstawy Pythona. Konsola, środowiska wirtualne, edytory kodu, zintegrowane środowiska programistyczne. Dokumentacja kodu, styl PEP 8. Definicja algorytmu.
2. Struktura programu, komentarze, operatory, rozgraniczniki, słowa kluczowe, instrukcje proste, importowanie zewnętrznych modułów, zmienne globalne i lokalne.
3. Numeryczne typy danych. Wykonywanie obliczeń w Pythonie. Pierwszeństwo operatorów.
4. Logiczny typ danych. Wyrażenia boolowskie. Operatory logiczne.
5. Złożone typy danych. Listy, krotki, słowniki, zbiory.
6. Instrukcje warunkowe. Instrukcje iteracji.
7. Wyrażenia listowe i słownikowe.
8. Biblioteki. Korzystanie z bibliotek. Standardowe biblioteki. Wykorzystanie bibliotek do rysowania.
9. Funkcje. Przekazywanie parametrów.
10. Rekurencja.
11. Operacje na napisach. Typ danych string. Formatowanie wyjścia.
12. Operacje na plikach. Podstawowe operacje odczytu i zapisu danych oraz wykorzystanie zewnętrznych modułów.
13. Liczby pseudolosowe. Pomiar czasu.
14. Testowanie i ulepszanie kodu. Typy błędów. Debugowanie programu.
15. Python a inne języki programowania. Biblioteki numpy i pandas.

Pracownia specjalistyczna:
1. Struktura programu w języku Python. Przykładowy program. Zmienne.
2. Instrukcje wejścia-wyjścia. Wprowadzenie do instrukcji warunkowej.
3. Instrukcja warunkowa.
4. Instrukcja pętli while.
5. Listy, krotki, słowniki i zbiory.
6. Instrukcja pętli for. Pętle zagnieżdżone.
7. Wyrażenia listowe i słownikowe.
8. Kolokwium 1. Typ danych string.
9. Funkcje.
10. Rekurencja.
11. Operacje na plikach.
12. Zadanie projektowe.
13. Zadanie projektowe.
14. Kolokwium 2. Zadanie projektowe.
15. Zaliczenie zadania projektowego.

Metody dydaktyczne

wykład problemowy,   programowanie z użyciem komputera,   wykład informacyjny,   wykład z prezentacją multimedialną,  

Forma zaliczenia

Wykład: egzamin pisemny z pytaniami otwartymi
Pracownia specjalistyczna: kolokwium, ocena wybranych programów realizowanych na zajęciach, ocena zadania projektowego

Symbol efektu uczenia się Zakładane efekty uczenia się Odniesienie do kierunkowych efektów uczenia się
EU1 podstawowe konstrukcje programistyczne i ich zastosowanie w Pythonie DS1_W02
EU2 zasady projektowania i implementacji algorytmów DS1_W03
DS1_W16
EU3 podstawowe struktury danych i ich zastosowanie w przetwarzaniu danych DS1_W16
EU4 implementować proste programy w języku Python DS1_U06
EU5 wykorzystywać podstawowe struktury danych i algorytmy DS1_W05
DS1_W21
EU6 tworzyć czytelny i poprawny kod źródłowy DS1_U21
EU7 systematycznego rozwijania umiejętności programistycznych DS1_K01
Symbol efektu uczenia się Sposób weryfikacji efektu uczenia się Forma zajęć na której zachodzi weryfikacja
EU1 egzamin pisemny W
EU2 egzamin pisemny W
EU3 egzamin pisemny W
EU4 kolokwium; rozwiązywanie zadań problemowych Ps
EU5 kolokwium; rozwiązywanie zadań problemowych Ps
EU6 kolokwium; rozwiązywanie zadań problemowych Ps
EU7 kolokwium; rozwiązywanie zadań problemowych Ps
Bilans nakładu pracy studenta (w godzinach) Liczba godz.
Wyliczenie
1 - udziałem w wykładach 30
2 - udziałem w innych formach zajęć 45
3 - indywidualnym wsparciem merytorycznym procesu uczenia się, udziałem w egzaminie i zaliczeniach organizowanych poza planem zajęć 4
4 - przygotowaniem do egzaminu 20
5 - przygotowaniem do bieżących zajęć o charakterze praktycznym 32
6 - wykonaniem projektu 19
RAZEM: 150
Wskaźniki ilościowe GODZINY ECTS
Nakład pracy studenta związany z zajęciami wymagającymi bezpośredniego udziału nauczyciela 79
(1)+(2)+(3)
3.2
Nakład pracy studenta związany z zajęciami o charakterze praktycznym 96
(2)+(5)+(6)
3.8
Literatura podstawowa

1. M. Lutz, M.D. Ascher, Python: Wprowadzenie, Gliwice, Helion, 2002
2. Z.A. Shaw, Python 3 : Proste wprowadzenie do fascynującego świata programowania, Gliwice, Helion, 2018
3. P. Norton, Python Od Podstaw, Gliwice, Helion, 2006
4. M. Summerfield, Python 3 : Kompletne Wprowadzenie Do Programowania. Wyd.2. ed. Gliwice, Helion, 2010

Literatura uzupełniająca

1. R. Miles, Python : Zacznij Programować!, Gliwice, Helion, 2019
2. N. Ceder, Python : Szybko I Prosto, Gliwice, Helion, 2019
3. A. Bell, Python : Uczymy Się Programowania, Gliwice, Helion, 2019

Jednostka realizująca Katedra Oprogramowania Data opracowania programu
Program opracował(a) dr inż. Dorota Duda,dr inż. Tomasz Łukaszuk,dr inż. Anna Łupińska-Dubicka 2025.03.03