Karta Przedmiotu
| Politechnika Białostocka | Wydział Informatyki | ||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kierunek studiów | Data Science |
Poziom i forma studiów |
pierwszego stopnia stacjonarne |
||||||||||||||||||||||||
| Grupa przedmiotów / specjalność |
Profil kształcenia | ogólnoakademicki | |||||||||||||||||||||||||
| Nazwa przedmiotu | Podstawy programowania | E | Kod przedmiotu | DS1S1PPR | |||||||||||||||||||||||
| Rodzaj zajęć | obowiązkowy | ||||||||||||||||||||||||||
| Formy zajęć i liczba godzin | W | Ć | L | P | Ps | T | S | Semestr | 1 | ||||||||||||||||||
| 30 | 45 | Punkty ECTS | 6 | ||||||||||||||||||||||||
| Program obowiązuje od | 2025/2026 | ||||||||||||||||||||||||||
| 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 |
||||||||||||||||||||||||||
| Ramowe 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. | ||||||||||||||||||||||||||
| Inne informacje o przedmiocie | przedmiot ma związek z prowadzoną na Uczelni działalnością naukową | ||||||||||||||||||||||||||
| Wyliczenie: | Nakład pracy studenta związany z: | Godzin ogółem |
W tym kontaktowych |
W tym praktycznych |
|||||||||||||||||||||||
| udziałem w wykładach | 30 | 30 | |||||||||||||||||||||||||
| udziałem w innych formach zajęć | 45 | 45 | 45 | ||||||||||||||||||||||||
| indywidualnym wsparciem merytorycznym procesu uczenia się, udziałem w egzaminie i zaliczeniach organizowanych poza planem zajęć | 4 | 4 | |||||||||||||||||||||||||
| przygotowaniem do egzaminu | 20 | ||||||||||||||||||||||||||
| przygotowaniem do bieżących zajęć o charakterze praktycznym | 32 | 32 | |||||||||||||||||||||||||
| wykonaniem projektu | 19 | 19 | |||||||||||||||||||||||||
| Razem godzin: | 150 | 79 | 96 | ||||||||||||||||||||||||
| Razem punktów ECTS: | 6 | 3.2 | 3.8 | ||||||||||||||||||||||||
| Zakładane kierunkowe efekty uczenia się | Wiedza | Umiejętności | Kompetencje społeczne |
||||||||||||||||||||||||
| DS1_W02 | DS1_U05 | DS1_K01 | |||||||||||||||||||||||||
| DS1_W03 | DS1_U06 | ||||||||||||||||||||||||||
| DS1_W16 | DS1_U21 | ||||||||||||||||||||||||||
| Cele i treści ramowe sformułował(a) | dr inż. Tomasz Łukaszuk, dr inż. Anna Łupińska-Dubicka | Data: | 29/05/2025 | ||||||||||||||||||||||||
| Realizacja w roku akademickim | 2025/2026 | ||||||||||||||||||||||||||
| Treści programowe | |||||||||||||||||||||||||||
| 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 (realizacja stacjonarna) |
|||||||||||||||||||||||||||
| W | wykład problemowy; wykład informacyjny; wykład z prezentacją multimedialną | ||||||||||||||||||||||||||
| Ps | programowanie z użyciem komputera | ||||||||||||||||||||||||||
| Metody dydaktyczne (realizacja zdalna) |
|||||||||||||||||||||||||||
| W | wykład problemowy; wykład informacyjny; wykład z prezentacją multimedialną | ||||||||||||||||||||||||||
| - | |||||||||||||||||||||||||||
| Forma zaliczenia | |||||||||||||||||||||||||||
| W | egzamin pisemny z pytaniami otwartymi | ||||||||||||||||||||||||||
| Ps | kolokwium, ocena wybranych programów realizowanych na zajęciach, ocena zadania projektowego | ||||||||||||||||||||||||||
| Warunki zaliczenia | |||||||||||||||||||||||||||
| W | Uzyskanie min. 30% z każdego E1-E3, a po spełnieniu tego warunku ostateczna ocena wynika z sumy uzyskanych punktów. Kryteria oceny: [ 0 – 50]% punktów – 2.0 (50 – 60]% punktów – 3.0 (60 – 70]% punktów – 3.5 (70 – 80]% punktów – 4.0 (80 – 90]% punktów – 4.5 (90 – 100]% punktów – 5.0 |
||||||||||||||||||||||||||
| Ps | Minimalne wymagania dotyczące poszczególnych E: E4 - poprawne zaimplementowanie 3 zestawów programów realizowanych na zajęciach, E5 - poprawne wykorzystanie w zadaniu projektowym struktur kontenerowych do przechowywania danych oraz wykorzystanie algorytmów wyszukiwania i sortowania danych, E6 - poprawne użycie w zadaniu projektowym strukturalizacji kodu, E7 - umiejętność korzystania z dokumentacji języka Python. Po spełnieniu tych warunków ostateczna ocena wynika z sumy uzyskanych punktów. Kryteria oceny: [ 0 – 50]% punktów – 2.0 (50 – 60]% punktów – 3.0 (60 – 70]% punktów – 3.5 (70 – 80]% punktów – 4.0 (80 – 90]% punktów – 4.5 (90 – 100]% punktów – 5.0 |
||||||||||||||||||||||||||
| Symbol efektu | Zakładane efekty uczenia się | Odniesienie do efektów uczenia się zdefiniowanych dla kierunku studiów | |||||||||||||||||||||||||
| Wiedza | Umiejętności | Kompetencje społeczne |
|||||||||||||||||||||||||
| Wiedza: student zna i rozumie | |||||||||||||||||||||||||||
| E1 | podstawowe konstrukcje programistyczne i ich zastosowanie w Pythonie | ||||||||||||||||||||||||||
| E2 | zasady projektowania i implementacji algorytmów | ||||||||||||||||||||||||||
| E3 | podstawowe struktury danych i ich zastosowanie w przetwarzaniu danych | ||||||||||||||||||||||||||
| Umiejętności: student potrafi | |||||||||||||||||||||||||||
| E4 | implementować proste programy w języku Python | ||||||||||||||||||||||||||
| E5 | wykorzystywać podstawowe struktury danych i algorytmy | ||||||||||||||||||||||||||
| E6 | tworzyć czytelny i poprawny kod źródłowy | ||||||||||||||||||||||||||
| Kompetencje społeczne: student jest gotów do | |||||||||||||||||||||||||||
| E7 | systematycznego rozwijania umiejętności programistycznych | ||||||||||||||||||||||||||
| Symbol efektu | Sposób weryfikacji efektu uczenia się | Forma zajęć na której zachodzi weryfikacja | |||||||||||||||||||||||||
| E1 | egzamin pisemny | W | |||||||||||||||||||||||||
| E2 | egzamin pisemny | W | |||||||||||||||||||||||||
| E3 | egzamin pisemny | W | |||||||||||||||||||||||||
| E4 | kolokwium; rozwiązywanie zadań problemowych | Ps | |||||||||||||||||||||||||
| E5 | kolokwium; rozwiązywanie zadań problemowych | Ps | |||||||||||||||||||||||||
| E6 | kolokwium; rozwiązywanie zadań problemowych | Ps | |||||||||||||||||||||||||
| E7 | kolokwium; rozwiązywanie zadań problemowych | Ps | |||||||||||||||||||||||||
| 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 | ||||||||||||||||||||||||||
| Koordynator przedmiotu: | dr inż. Dorota Duda, dr inż. Tomasz Łukaszuk, dr inż. Anna Łupińska-Dubicka | Data: | 03/03/2025 | ||||||||||||||||||||||||