Uniwersytet Mikołaja Kopernika w Toruniu - Centralny punkt logowania
Strona główna

Programowanie obiektowe 1

Informacje ogólne

Kod przedmiotu: 0800-PROBIEKT1
Kod Erasmus / ISCED: (brak danych) / (0613) Tworzenie i analiza oprogramowania i aplikacji Kod ISCED - Międzynarodowa Standardowa Klasyfikacja Kształcenia (International Standard Classification of Education) została opracowana przez UNESCO.
Nazwa przedmiotu: Programowanie obiektowe 1
Jednostka: Wydział Fizyki, Astronomii i Informatyki Stosowanej
Grupy: Przedmiot uzupełniający-IBI
Strona przedmiotu: http://www.is.umk.pl/~kg/zajecia/
Punkty ECTS i inne: 5.00 Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.
Język prowadzenia: polski
Wymagania wstępne:

Kurs programowania strukturalnego w języku C, kurs języków programowania, języka C.

Całkowity nakład pracy studenta:

Godziny realizowane z udziałem nauczycieli (60 godz.):

- udział w wykładach – 30 godz.

- udział w laboratorium – 30 godz.


Czas poświęcony na pracę indywidualną studenta (80 godz.):

- przygotowanie do laboratorium – 30 godz.

- pisanie prac, projektów oraz przygotowanie do kolokwium – 50 godz.


Łącznie: 140 godz. (5 punktów 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:

- dla informatyki stosowanej: K_W04, K_W10, K_W11,

- dla fizyki technicznej: K_W05, K_W07

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 - zgodnie z zadaną specyfikacją - zaprojektować oraz zrealizować prosty system informatyczny, używając właściwych metod, technik i narzędzi,

U05: potrafi wykonać prostą analizę sposobu funkcjonowania oprogramowania, systemu informatycznego, czy infrastruktury informatycznej

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

U07: umie planować i przeprowadzać zaawansowane eksperymenty lub obserwacje zbudowanych modeli informatycznych dla różnego rodzaju zadań,

U08: potrafi zaadaptować wiedzę i metody fizyki do projektowania właściwych modeli komputerowych.


Efekty przedmiotowe U01-U08 realizują efekty kierunkowe:

- dla informatyki stosowanej: K_U08, K_U10, K_U12, K_U13, K_U21, K_U22,

- dla fizyki technicznej: K_U02, K_U05

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 w trakcie wykładu i w ramach laboratorium.


Metody dydaktyczne podające:

- wykład informacyjny (konwencjonalny)


Metody dydaktyczne poszukujące:

- klasyczna metoda problemowa

- laboratoryjna

- projektu


Metody dydaktyczne eksponujące:

- pokaz

Metody dydaktyczne podające:

- wykład informacyjny (konwencjonalny)

Metody dydaktyczne poszukujące:

- klasyczna metoda problemowa
- laboratoryjna
- projektu

Skrócony opis:

Celem przedmiotu jest przedstawienie metodologii projektowania i programowania obiektowego, pewnych znanych technologii obiektowych oraz specyfiki języka C++.

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 i C++20

Literatura:

1. Krzysztof Grąbczewski, Slajdy do wykładu, http://www.is.umk.pl/~kg/zajecia/PO.pdf.

2. Bjarne Stroustrup "Język C++", WNT 2002.

3. Stanley B. Lippman, Josee Lajoie "Podstawy języka C++", WNT 2001.

4. Specyfikacja standardu języka C++ - "draft" – 2.12.1996.

5. http://www.stroustrup.com/C++11FAQ.html

6. https://en.cppreference.com/w/cpp/language

7. https://lhcb.github.io/developkit-lessons/first-development-steps/05-cpp.html

Metody i kryteria oceniania:

Metody oceniania:

kolokwia sprawdzają efekty W01-W05

projekty i praca bieżąca w ramach laboratorium sprawdzają efekty U01-U08

Kryteria oceniania:

Wykład: egzamin na ocenę:

ndst < 50%

dst >= 50%

dst plus >= 57,5%

db >= 65%

db plus >= 72,5%

bdb >= 80%

Laboratorium – zaliczenie na ocenę na podstawie wyników kolokwium (40%) oraz oceny przygotowanych projektów i pracy bieżącej (60%):

ndst < 50%

dst >= 50%

dst plus >= 57,5%

db >= 65%

db plus >= 72,5%

bdb >= 80%

Zajęcia w cyklu "Semestr zimowy 2021/22" (zakończony)

Okres: 2021-10-01 - 2022-02-20
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
Wykład, 30 godzin więcej informacji
Koordynatorzy: Krzysztof Grąbczewski
Prowadzący grup: Rafał Adamczak, Krzysztof Dobosz, Krzysztof Grąbczewski
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 zimowy 2022/23" (zakończony)

Okres: 2022-10-01 - 2023-02-19
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
Wykład, 30 godzin więcej informacji
Koordynatorzy: Krzysztof Grąbczewski
Prowadzący grup: Rafał Adamczak, Krzysztof Grąbczewski, 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 zimowy 2023/24" (zakończony)

Okres: 2023-10-01 - 2024-02-19
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
Wykład, 30 godzin więcej informacji
Koordynatorzy: Krzysztof Grąbczewski
Prowadzący grup: Rafał Adamczak, Krzysztof Grąbczewski
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Zaliczenie na ocenę
Laboratorium - Zaliczenie na ocenę
Wykład - Zaliczenie na ocenę
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Mikołaja Kopernika w Toruniu.
ul. Jurija Gagarina 11, 87-100 Toruń tel: +48 56 611-40-10 https://usosweb.umk.pl/ kontakt deklaracja dostępności USOSweb 7.0.2.0-1 (2024-03-12)