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 Programowanie obiektowe Kod przedmiotu DS1S2POB
Rodzaj zajęć obowiązkowy
Formy zajęć i liczba godzin W Ć L P Ps T S Semestr 2
30 30 Punkty ECTS 5
Program obowiązuje od 2025/2026
Przedmioty wprowadzające Podstawy programowania (DS1S1PPR),  
Cele przedmiotu Przekazanie wiedzy o koncepcjach i technikach programowania obiektowego ze szczególnym uwzględnieniem ich zastosowania w rozwoju aplikacji data science.
Rozwój praktycznych umiejętności projektowania i implementacji systemów obiektowych w języku Python, z naciskiem na tworzenie skalowalnych i utrzymywalnych rozwiązań analitycznych.

Odniesienia do standardu SFIA:
Programming/software development PROG - poziom 2
Testing TEST - poziom 2
Software design SWDN - poziom 2
Ramowe treści programowe Paradygmat programowania obiektowego w kontekście data science. Klasy i obiekty. Interfejs i implementacja klasy, hermetyzacja. Metody specjalne. Pola i metody instancyjne i statyczne. Kompozycja. Dziedziczenie. Klasy i metody abstrakcyjne. Obsługa wyjątków. Wzorce projektowe.
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ęć 30 30 30
indywidualnym wsparciem merytorycznym procesu uczenia się, udziałem w zaliczeniach organizowanych poza planem zajęć 4 4
przygotowaniem do zaliczenia wykładu/egzaminu 10
przygotowaniem do bieżących zajęć o charakterze praktycznym 32 32
wykonaniem projektu 19 19
Razem godzin: 125 64 81
Razem punktów ECTS: 5 2.6 3.2
Zakładane kierunkowe efekty uczenia się Wiedza Umiejętności Kompetencje
społeczne
DS1_W02 DS1_U12 (H1_U02) DS1_K03 (H1_K01)
DS1_W03 DS1_U02
DS1_W08 DS1_U05
DS1_W16 DS1_U06
DS1_W20 DS1_U21
Cele i treści ramowe sformułował(a) dr inż. Tomasz Łukaszuk Data: 29/05/2025
Realizacja w roku akademickim 2025/2026
 
Treści programowe
Wykład
1. Klasa i obiekt: podstawowe definicje, składowe klasy, metody i ich wywoływanie, inicjowanie obiektów.
2. Projektowanie klas programu na podstawie opisu słownego systemu.
3. Interfejs i implementacja klasy, hermetyzacja, gettery oraz settery.
4. Metody specjalne (magiczne) w klasach. Przeciążanie operatorów.
5. Pola i metody instancyjne, klasowe i statyczne.
6. Kompozycja. Dziedziczenie.
7. Dziedziczenie.
8. Dziedziczenie.
9. Błędy czasu wykonania, mechanizm wyjątków.
10. Introspekcja, dekoratory, klasy wewnętrzne.
11. Biblioteka numpy.
12. Biblioteka pandas.
13. Biblioteka matplotlib.
14. Wzorce projektowe.
15. Zaliczenie wykładu.
Pracownia specjalistyczna
1. Stos strukturalnie.
2. Korzystanie z obiektów - pliki.
3. Stos obiektowo.
4. Hermetyzacja - klasa Ułamek.
5. Metody specjalne - klasa Ułamek.
6. Kompozycja - figury.
7. Dziedziczenie - figury.
8. Metody instancyjne, klasowe i statyczne - klasa Macierz.
9. Kolokwium 1.
10. Klasy abstrakcyjne - system bankowy z różnymi typami klientów.
11. Obsługa wyjątków.
12. Zadanie projektowe.
13. Zadanie projektowe.
14. Kolokwium 2.
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 zaliczenie pisemne 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:
(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 jednego wzorca projektowego
E6 - poprawne użycie w zadaniu projektowym klas i relacji pomiędzy klasami
E7 - realizacja zadania projektowego w 2 osobowej grupie
Po spełnieniu powyższych warunków stateczna ocena wynika z sumy punktów uzyskanych w trakcie zajęć. 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 zaawansowane koncepcje programowania obiektowego w kontekście systemów data science
E2 zasady projektowania skalowalnych systemów obiektowych do analizy danych
E3 wzorce projektowe i dobre praktyki w tworzeniu systemów analitycznych
Umiejętności: student potrafi
E4 projektować i implementować obiektowe systemy do analizy danych
E5 stosować wzorce projektowe w kontekście przetwarzania danych
E6 tworzyć testowalny i utrzymywalny kod dla systemów data science
Kompetencje społeczne: student jest gotów do
E7 współpracy w zespole przy tworzeniu złożonych systemów analitycznych
Symbol efektu Sposób weryfikacji efektu uczenia się Forma zajęć na której zachodzi weryfikacja
E1 zaliczenie pisemne W
E2 zaliczenie pisemne W
E3 zaliczenie pisemne W
E4 kolokwium, rozwiązywanie zadań problemowych, ocena projektu Ps
E5 kolokwium, rozwiązywanie zadań problemowych, ocena projektu Ps
E6 kolokwium, rozwiązywanie zadań problemowych, ocena projektu Ps
E7 rozwiązywanie zadań problemowych Ps
Literatura podstawowa
1. M. Summerfield, Python 3 : Kompletne wprowadzenie do programowania. Wyd.2. ed., Gliwice, Helion, 2010
2. P. Norton, Python Od Podstaw, Gliwice, Helion, 2006
3. Z.A. Shaw, Python 3 : Proste wprowadzenie do fascynującego świata programowania, Gliwice, Helion, 2018
Literatura uzupełniająca
1. D. Hillard, Python: Dobre Praktyki Profesjonalistów, Gliwice, Helion, 2020
2. C. Jackson, Python Ninja : 70 Sekretnych Receptur I Taktyk Programistycznych, Gliwice, Helion, 2019
3. S. Kapil, Czysty Kod W Pythonie, Gliwice, Helion, 2019
4. K. Rother, Python Dla Profesjonalistów: Debugowanie, Testowanie I Utrzymywanie Kodu, Gliwice, Helion, 2018
5. Dokumentacja języka Python: https://docs.python.org/3/
Koordynator przedmiotu: dr inż. Dorota Duda, dr inż. Tomasz Łukaszuk, dr inż. Anna Łupińska-Dubicka Data: 03/03/2025