Programowanie obiektowe
Informacje ogólne
Kod przedmiotu: | 0800-AR2PROB |
Kod Erasmus / ISCED: |
(brak danych)
/
(0613) Tworzenie i analiza oprogramowania i aplikacji
|
Nazwa przedmiotu: | Programowanie obiektowe |
Jednostka: | Wydział Fizyki, Astronomii i Informatyki Stosowanej |
Grupy: | |
Punkty ECTS i inne: |
3.00
|
Język prowadzenia: | polski |
Wymagania wstępne: | Podstawy programowania w języku C. |
Rodzaj przedmiotu: | przedmiot obligatoryjny |
Całkowity nakład pracy studenta: | Godziny realizowane z udziałem nauczycieli (45 godz.): - udział w wykładach – 15 godz. - udział w laboratorium – 30 godz. Czas poświęcony na pracę indywidualną studenta (45 godz.): - przygotowanie do laboratorium – 15 godz. - pisanie prac, projektów – 15 godz. - przygotowanie do kolokwium – 15 godz. Łącznie: 90 godz. (3 punkty ECTS) |
Efekty uczenia się - wiedza: | W01: posiada wiedzę w zakresie tworzenia i analizy algorytmów, analizy ich złożoności obliczeniowej, zapisu algorytmów w języku C++. W02: posiada wiedzę na temat projektowania i programowania obiektowego z użyciem narzędzi dostępnych w języku C++. W03: ma podstawową wiedzę o cyklach życia systemów projektowanych i implementowanych obiektowo; posiada wiedzę w zakresie obiektowych konstrukcji systemów, posiada wiedzę o przydatnych narzędziach, bibliotekach programowania obiektowego i sposobach ich wykorzystania do budowania systemów. W04: zna metody i techniki rozwiązywania zadań inżynierskich poprzez odpowiednie projektowanie obiektowych modeli. W05: zna możliwości narzędzi programistycznych w zakresie tworzenia obiektowo-zorientowanych rozwiązań. Efekty przedmiotowe W01-W05 realizują efekty kierunkowe K_W03, K_W05. |
Efekty uczenia się - umiejętności: | U01: ma umiejętność formułowania algorytmów i ich programowania z użyciem wybranych narzędzi programistycznych oraz potrafi ocenić złożoność obliczeniową algorytmów i problemów informatycznych U02: potrafi stworzyć model obiektowy prostego systemu informatycznego; potrafi zastosować metody analizy problemu, wyodrębniania niezależnych modułów, uogólniania zagadnień dla tworzenia rozwiązań problemów w postaci obiektowo zorientowanych modeli U03: potrafi dokonać identyfikacji i sformułować specyfikację prostych zadań informatyczno-inżynierskich; potrafi wykorzystywać właściwe narzędzia programistyczne w celu obsługi obiektowo zorientowanych projektów U04: potrafi ocenić, na podstawowym poziomie, przydatność rutynowych metod i narzędzi informatycznych oraz wybrać i zastosować właściwą metodę i narzędzia do typowych zadań informatycznych U05: umie planować i przeprowadzać zaawansowane eksperymenty lub obserwacje zbudowanych modeli informatycznych dla różnego rodzaju zadań, Efekty przedmiotowe U01-U05 realizują efekty kierunkowe K_U03, K_U05, K_U10, |
Efekty uczenia się - kompetencje społeczne: | K01: jest świadomy odpowiedzialności za zadania programistyczno-inżynierskie realizowane w zespole i potrafi przyjąć funkcję lidera Efekt przedmiotowy K01 realizuje efekty kierunkowe K_K02, K_K03 |
Metody dydaktyczne: | Wykład ilustrowany jest licznymi przykładami. Materiały są udostępniane w formie elektronicznej. Problemy projektowe i implementacyjne są dyskutowane i rozwiązywane na bieżąco w ramach laboratorium. Metody dydaktyczne podające: - wykład informacyjny (konwencjonalny) Metody dydaktyczne poszukujące: - klasyczna metoda problemowa - laboratoryjna - projektu |
Metody dydaktyczne podające: | - wykład informacyjny (konwencjonalny) |
Metody dydaktyczne poszukujące: | - klasyczna metoda problemowa |
Skrócony opis: |
Kurs obejmuje kluczowe aspekty programowania obiektowego w C++, takie jak kapsułkowanie, polimorfizm, dziedziczenie (w tym wielokrotne i wirtualne) oraz abstrakcyjne typy danych. Uczestnicy zapoznają się z wzorcami (templates), obsługą wyjątków oraz specyficznymi cechami C++, takimi jak RTTI, STL i przestrzenie nazw. Program uwzględnia również nowości wprowadzane w standardach C++11–C++23. Laboratoria komputerowe pozwalają na praktyczne przećwiczenie omawianych zagadnień. |
Pełny opis: |
Program zajęć: 1. Projektowanie obiektowe - kapsułkowanie, ochrona danych 2. Klasy i obiekty, ochrona danych przez modyfikatory dostępu 3. Tworzenie i destrukcja obiektów i tablic obiektów 4. Polimorfizm - przeciążanie operatorów 5. Dziedziczenie, a. Klasy bazowe i pochodne, hierarchie klas b. Dziedziczenie wielokrotne, dziedziczenie wirtualne 6. Abstrakcyjne typy danych a. Metody wirtualne, klasy abstrakcyjne, wirtualne destruktory b. Interfejsy a klasy abstrakcyjne 7. Wzorce (ang. templates) funkcji i klas 8. Obsługa wyjątków 9. Specyfika C++ a. l-wartości i r-wartości, efektywne przekazywanie argumentów itp. b. Przestrzenie nazw c. RTTI - runtime type identification d. Standard Template Library (STL) 10. Rozszerzenia języka C++ w standardach C++11, C++14, C++17, C++20 i C++23 Laboratorium obejmuje zajęcia komputerowe umożliwiające praktyczne przećwiczenie zagadnień omawianych na wykładzie. |
Literatura: |
1. https://isocpp.org 2. https://en.cppreference.com/w/ 3. Bjarne Stroustrup "Język C++", WNT 2002. 4. Stanley B. Lippman, Josee Lajoie "Podstawy języka C++", WNT 2001. 5. Specyfikacja standardu języka C++ - "draft" – 2.12.1996. 6. https://www.stroustrup.com/C++.html 7. https://en.cppreference.com/w/cpp/language 8. https://lhcb.github.io/developkit-lessons/first-development-steps/05-cpp.html |
Metody i kryteria oceniania: |
Metody oceniania: kolokwium sprawdzające efekty przedmiotowe W01-W05, projekty i praca bieżąca w ramach laboratorium sprawdzające umiejętności U01-U05. Kryteria oceniania: Wykład: zaliczenie bez oceny na podstawie kolokwium przeprowadzonego w ramach laboratorium nznal < 50% zal >= 50% Laboratorium – zaliczenie na ocenę na podstawie wyników kolokwium (40%) oraz oceny przygotowanych projektów i pracy bieżącej (60%): ndst- 50% dst- 60% dst plus- 65% db- 70% db plus- 75% bdb- od 80% |
Praktyki zawodowe: |
nie dotyczy |
Zajęcia w cyklu "Semestr letni 2022/23" (zakończony)
Okres: | 2023-02-20 - 2023-09-30 |
Przejdź do planu
PN WT WYK
ŚR CZ LAB
PT |
Typ zajęć: |
Laboratorium, 30 godzin
Wykład, 15 godzin
|
|
Koordynatorzy: | Krzysztof Grąbczewski | |
Prowadzący grup: | Sebastian Meszyński | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: |
Przedmiot -
Zaliczenie na ocenę
Laboratorium - Zaliczenie na ocenę Wykład - Zaliczenie na ocenę |
Zajęcia w cyklu "Semestr letni 2023/24" (zakończony)
Okres: | 2024-02-20 - 2024-09-30 |
Przejdź do planu
PN WT WYK
ŚR CZ LAB
PT |
Typ zajęć: |
Laboratorium, 30 godzin
Wykład, 15 godzin
|
|
Koordynatorzy: | Krzysztof Grąbczewski, Sebastian Meszyński | |
Prowadzący grup: | Sebastian Meszyński | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: |
Przedmiot -
Zaliczenie na ocenę
Laboratorium - Zaliczenie na ocenę Wykład - Zaliczenie |
Zajęcia w cyklu "Semestr letni 2024/25" (w trakcie)
Okres: | 2025-02-24 - 2025-09-20 |
Przejdź do planu
PN WT WYK
ŚR CZ LAB
PT |
Typ zajęć: |
Laboratorium, 30 godzin
Wykład, 15 godzin
|
|
Koordynatorzy: | Sebastian Meszyński | |
Prowadzący grup: | Sebastian Meszyński | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: |
Przedmiot -
Zaliczenie na ocenę
Laboratorium - Zaliczenie na ocenę Wykład - Zaliczenie na ocenę |
Właścicielem praw autorskich jest Uniwersytet Mikołaja Kopernika w Toruniu.