Politechnika Warszawska - Centralny System Uwierzytelniania
Nie jesteś zalogowany | zaloguj się
katalog przedmiotów - pomoc

Programowanie obiektowe

Informacje ogólne

Kod przedmiotu: 103A-INxxx-ISP-PROI Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Programowanie obiektowe
Jednostka: Wydział Elektroniki i Technik Informacyjnych
Grupy: ( Informatyka )-Automatyka i robotyka-inż.-EITI
( Metody programowania )-Informatyka-inż.-EITI
( Przedmioty podstawowe )-Informatyka w multimediach-mgr.-EITI
( Przedmioty podstawowe )-Inteligentne systemy-mgr.-EITI
( Przedmioty podstawowe )-Inżynieria systemów informatycznych-mgr.-EITI
( Przedmioty podstawowe )-Sztuczna inteligencja-mgr.-EITI
( Przedmioty techniczne )---EITI
Punkty ECTS i inne: 5.00
Język prowadzenia: polski
Jednostka decyzyjna:

103000 - Wydział Elektroniki i Technik Informacyjnych

Kod wydziałowy:

PROI

Numer wersji:

1

Skrócony opis:

Przedmiot jest wprowadzeniem do metodyki programowania obiektowego i rodzajowego z wykorzystaniem mechanizmów języka C++.

Pełny opis:

Przedmiot jest wprowadzeniem do metodyki programowania obiektowego i rodzajowego z wykorzystaniem mechanizmów języka C++.



Treść wykładu
Ewolucja metod programowania: Programowanie proceduralne, sterowane danymi, modularne. Zasada ukrywania szczegółów, abstrakcyjne typy danych. Pojęcia podstawowe programowania obiektowego, obiekty, klasy, dziedziczenie, polimorfizm; struktury dziedziczenia. Informacje
wprowadzające o programowaniu rodzajowym. Przykład migracji rozwiązania
problemu od wersji proceduralnej do rodzajowej.



Mechanizmy pomocnicze języka C++: Przegląd systemu typów, typ
referencyjny; podstawy współpracy z WE/WY strumieniowym. Przeciążenia
funkcji i operatorów (polimorfizm statyczny), prototypy funkcji, listy
parametrów formalnych, parametry predefiniowane; funkcje rozwijane.
Tworzenie obiektów dynamicznych, operatory new, new [], delete, delete
[]. Zakresy interpretacji nazw, przestrzenie nazw, operator `::`.



Klasy autonomiczne: Definiowanie klas samodzielnych, składowe klasy, składowe bierne i cznne, kontrola dostępu; zaprzyjaźnienia.
Konstruktory i destruktory. Różnice pomiędzy klasami z wyróżnikiem
class, struct i union. Projektowanie klas autonomicznych, klasa
Fraction. Składowe statyczne. Klasy ze zmienną strukturą wewnętrzną,
postać kanoniczna. Klasy zagnieżdżone, zastosowanie.



Szablony i podstawy programowania rodzajowego: Klasy parametryczne. Definiowanie szablonów klas i funkcji, parametryzacja szablonów. Specjalizacje szablonów. Funkcje składowe szablonowe. Zasady
programowania rodzajowego.



Dziedziczenie i polimorfizm: Dziedziczenie bezpośrednie, pośrednie, pojedyńcze, wielobazowe. Klasy bazowe wirtualne. Dziedziczenie a zawieranie. Polimorfizm dynamiczny, funkcje wirtualne, mechanizm aktywacji funkcji wirtualnych; obiekty polimorficzne. Funkcje wirtualne czyste, klasy abstrakcyjne i interfejsy. Szablony w dziedziczeniu. Model obiektu w C++. Tworzenie i destrukcja obiektów polimorficznych.



Obsługa sytuacji wyjątkowych: Mechanizm reagowania na sytuacje
wyjątkowe, składnia i semantyka bloku try i bloków obsługi catch,
aktywowanie wyjątku przez throw. Funkcje standardowe terminate(),
unexpected (), set_terminate (), set_unexpected (). Zasady
projektowania programów bezpiecznych, klasa szablonowa auto_ptr.
Wyjątki standardowe.



Polimorfizm i RTTI: Mechanizmy C++ do identyfikacji typów w czasie wykonania programu. Kontrolowane konwersje polimorficzne, zastosowania operatorów dynamic_cast i typeid; wyjątek bad_cast.



Biblioteka standardowa C++: Podstawowe akcesoria biblioteki -
kontenery, iteratory i algorytmy. Klasyfikacja usług biblioteki
standardowej; przegląd kontenerów sekwencyjnych i asocjacyjnych.
Wsparcie dla współpracy ze strumieniami i przetwarzania tekstów.


Zakres laboratorium
Studenci opracowują programy uwzględniające istotne aspekty programowania obiektowego. Problemy do rozwiązania obejmują: projektowanie klas autonomicznych, przeciążenie funkcji i operatorów, projektowanie klas ze zmienną strukturą obiektów, wykorzystanie reprezentacji grupowej obiektów, definiowanie szablonów klas i funkcji, wykorzystanie dziedziczenia i funkcji wirtualnych, obsługę sytuacji wyjątkowych, współpracę ze strumieniami, projektowanie klas kontenerowych i iteratorów a także wykorzystanie akcesoriów biblioteki standardowej.



Przedmioty podobne

Kod przedmiotuNazwa przedmiotuDyskonto ECTS
103A-CTxxx-ISA-EPRO3Programming 35
103A-TExxx-ISP-PROEProgramowanie obiektowe5
103A-INxxx-ISP-EOOPObject-Oriented Programming5

Literatura:

    1. B. Stroustrup: Język C++, WNT, 2000, 2002.

    2. S. B. Lippman: Podstawy języka C++, WNT 2001, 2003.

    3. S. B. Lippman: Istota języka C++, WNT, 2004.

    4. A. Koenig, B. Moo: C++ : Potęga języka, Helion, 2004.

Zajęcia w cyklu "rok akademicki 2019/2020 - sem. zimowy" (zakończony)

Okres: 2019-10-01 - 2020-02-21
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 120 miejsc więcej informacji
Wykład, 30 godzin, 120 miejsc więcej informacji
Koordynatorzy: Tomasz Śliwiński, Izabela Żółtowska
Prowadzący grup: Tomasz Śliwiński, Izabela Żółtowska
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Zajęcia w cyklu "rok akademicki 2018/2019 - sem. letni" (zakończony)

Okres: 2019-02-18 - 2019-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 150 miejsc więcej informacji
Wykład, 30 godzin, 150 miejsc więcej informacji
Koordynatorzy: Krzysztof Gracki
Prowadzący grup: Rafał Biedrzycki, Krzysztof Gracki, Wiktor Kuśmirek, Marta Łępicka, Agnieszka Malanowska, Mateusz Modrzejewski, Witold Oleszkiewicz, Aleksandra Paśnikowska, Mateusz Słowikowski
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2018/2019 - sem. zimowy" (zakończony)

Okres: 2018-10-01 - 2019-02-17
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 120 miejsc więcej informacji
Wykład, 30 godzin, 120 miejsc więcej informacji
Koordynatorzy: Tomasz Śliwiński, Izabela Żółtowska
Prowadzący grup: Paweł Bortnowski, Tomasz Śliwiński, Izabela Żółtowska
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Zajęcia w cyklu "rok akademicki 2017/2018 - sem. letni" (zakończony)

Okres: 2018-02-19 - 2018-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 150 miejsc więcej informacji
Wykład, 30 godzin, 150 miejsc więcej informacji
Koordynatorzy: Krzysztof Gracki
Prowadzący grup: Rafał Biedrzycki, Łukasz Dąbała, Krzysztof Gracki, Katarzyna Kosowska, Kazimierz Krosman, Wiktor Kuśmirek, Agnieszka Malanowska, Mateusz Modrzejewski, Witold Oleszkiewicz, Aleksandra Paśnikowska, Mateusz Słowikowski
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2017/2018 - sem. zimowy" (zakończony)

Okres: 2017-10-01 - 2018-02-18
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 120 miejsc więcej informacji
Wykład, 30 godzin, 120 miejsc więcej informacji
Koordynatorzy: Tomasz Śliwiński
Prowadzący grup: Tomasz Śliwiński
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Zajęcia w cyklu "rok akademicki 2016/2017 - sem. letni" (zakończony)

Okres: 2017-02-20 - 2017-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 166 miejsc więcej informacji
Wykład, 30 godzin, 166 miejsc więcej informacji
Koordynatorzy: Krzysztof Gracki
Prowadzący grup: Krzysztof Gracki
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2016/2017 - sem. zimowy" (zakończony)

Okres: 2016-10-01 - 2017-02-19
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 90 miejsc więcej informacji
Wykład, 30 godzin, 90 miejsc więcej informacji
Koordynatorzy: Tomasz Śliwiński
Prowadzący grup: Tomasz Śliwiński
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Zajęcia w cyklu "rok akademicki 2015/2016 - sem. letni" (zakończony)

Okres: 2016-02-23 - 2016-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 165 miejsc więcej informacji
Wykład, 30 godzin, 165 miejsc więcej informacji
Koordynatorzy: Krzysztof Gracki
Prowadzący grup: Krzysztof Gracki
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2015/2016 - sem. zimowy" (zakończony)

Okres: 2015-10-01 - 2016-02-22
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 120 miejsc więcej informacji
Wykład, 30 godzin, 120 miejsc więcej informacji
Koordynatorzy: Tomasz Śliwiński
Prowadzący grup: Tomasz Śliwiński
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Zajęcia w cyklu "rok akademicki 2014/2015 - sem. letni" (zakończony)

Okres: 2015-02-23 - 2015-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 160 miejsc więcej informacji
Wykład, 30 godzin, 160 miejsc więcej informacji
Koordynatorzy: Andrzej Pająk
Prowadzący grup: Andrzej Pająk
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2014/2015 - sem. zimowy" (zakończony)

Okres: 2014-09-29 - 2015-02-22
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 120 miejsc więcej informacji
Wykład, 30 godzin, 120 miejsc więcej informacji
Koordynatorzy: Tomasz Śliwiński
Prowadzący grup: Tomasz Śliwiński
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Zajęcia w cyklu "rok akademicki 2013/2014 - sem. letni" (zakończony)

Okres: 2014-02-24 - 2014-09-28
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 148 miejsc więcej informacji
Wykład, 30 godzin, 148 miejsc więcej informacji
Koordynatorzy: Andrzej Pająk
Prowadzący grup: Andrzej Pająk
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2013/2014 - sem. zimowy" (zakończony)

Okres: 2013-10-01 - 2014-02-23
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 100 miejsc więcej informacji
Wykład, 30 godzin, 100 miejsc więcej informacji
Koordynatorzy: Michał Warchoł
Prowadzący grup: Michał Warchoł
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Zajęcia w cyklu "rok akademicki 2012/2013 - sem. letni" (zakończony)

Okres: 2013-02-20 - 2013-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 120 miejsc więcej informacji
Wykład, 30 godzin, 120 miejsc więcej informacji
Koordynatorzy: Andrzej Pająk
Prowadzący grup: Andrzej Pająk
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2012/2013 - sem. zimowy" (zakończony)

Okres: 2012-10-01 - 2013-02-19
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 80 miejsc więcej informacji
Wykład, 30 godzin, 80 miejsc więcej informacji
Koordynatorzy: Michał Warchoł
Prowadzący grup: Michał Warchoł
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Politechnika Warszawska.