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 | ||||||||||||||||||||||||