Politechnika Warszawska - Centralny System Uwierzytelniania
Strona główna

Programowanie obiektowe

Informacje ogólne

Kod przedmiotu: 103A-TExxx-ISP-PROE
Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Programowanie obiektowe
Jednostka: Wydział Elektroniki i Technik Informacyjnych
Grupy: ( Algorytmy i techniki programowania )-Elektronika, Telekomunikacja-inż.-EITI
( Przedmioty podstawowe )-Elektronika i informatyka w medycynie-mgr.-EITI
( Przedmioty podstawowe )-Mikrosystemy i systemy elektroniczne-mgr.-EITI
( Przedmioty techniczne )---EITI
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
Jednostka decyzyjna:

103000 - Wydział Elektroniki i Technik Informacyjnych

Kod wydziałowy:

PROE

Numer wersji:

1

Skrócony opis:

Celem przedmiotu jest zapoznanie studentów z paradygmatem programowania obiektowego. W ramach przedmiotu przekazywana będzie dobra praktyka projektowania i programowania obiektowego oraz umiejętność abstrakcji problemów i ich zapisu w języku programowania. Przy okazji wykładu studenci zapoznają się także ze sposobami realizacji dynamicznych struktur danych. W ramach laboratorium studenci wykonywać będą programy według zaleceń prowadzących i będą nabywać sprawności w posługiwaniu się narzędziami wspomagającymi pracę programisty.

Pełny opis:

Celem przedmiotu jest zapoznanie studentów z paradygmatem programowania obiektowego. W ramach przedmiotu przekazywana będzie dobra praktyka projektowania i programowania obiektowego oraz umiejętność abstrakcji problemów i ich zapisu w języku programowania. Przy okazji wykładu studenci zapoznają się także ze sposobami realizacji dynamicznych struktur danych. W ramach laboratorium studenci wykonywać będą programy według zaleceń prowadzących i będą nabywać sprawności w posługiwaniu się narzędziami wspomagającymi pracę programisty.



Treść wykładu
Podstawowe pojęcia: typ abstrakcyjny (klasa), obiekt, metoda dostępu, ukrywanie implementacji, dziedziczenie. Paradygmat projektowania zorientowanego obiektowo. Programowanie obiektowe.
Zasadnicze rozszerzenia w stosunku do C. Referencja i wskaźnik. Modyfikator const. Identyfikacja funkcji przez nagłówek.

Przeciążanie funkcji. Przeciążanie operatorów. Domyślne wartości parametrów formalnych.
Klasa jako typ danych. Zasady dostępu: pola prywatne i publiczne. Kontekst wprowadzany przez klasę. Statyczne pola klasy.
Tworzenie i usuwanie obiektów klasy. Konstruktory i destruktory klasy. Konstruktor kopiujący. Sposoby przekazywania argumentów funkcji i zwracania wartości.
Funkcje i klasy zaprzyjaźnione.
Relacje między klasami: składnik, podzbiór. Dziedziczenie. Dziedziczenie wielokrotne klasy bazowej. Zasady dostępu do pól klasy bazowej. Szablony.
Sposób realizacji dziedziczenia. Wirtualne dziedziczenie. Wirtualne metody.
Wyjątki: sposób zgłaszania i przechwytywania, dziedziczenie wyjątków.
Pojęcie dynamicznej struktury danych. Lista liniowa. Pierścień. Graf. Drzewo binarne. Przykłady zastosowań.
Strumieniowe wejście/wyjście.
Standardowa biblioteka klas szablonowych.



Zakres laboratorium

  • Środowisko pracy. Podział kodu na fragmenty. Zarządzanie kompilacją i konsolidacją. Narzędzie make (2h).
  • Proste klasy (2h).
  • Przeciążanie funkcji i operatorów (2h).
  • Rozdanie tematów zadań i ich analiza; zakres tematyczny: proste klasy i przeciążanie metod i operatorów (2h).
  • Implementacja programów (2h).
  • Testowanie i odbiór programów (2h).

  • Dziedziczenie, metody wirtualne, wirtualne dziedziczenie (2h).
  • Wyjątki, szablony (2h).
  • Rozdanie tematów zadań i ich analiza; zakres tematyczny: złożone struktury klas, realizacja dynamicznych struktur danych (2h).
  • Weryfikacja specyfikacji wstępnej programu (2h).
  • Dekompozycja na klasy (2h).

  • Implementacja klas (2h).
  • Podział kodu źródłowego na pliki (2h).
  • Uruchamianie i testowanie programów (2h).
  • Odbiór programów i dokumentacji (2h).



Przedmioty podobne
Kod przedmiotuNazwa przedmiotuDyskonto ECTS
103A-CTxxx-ISA-EPRO3Programming 35
103A-INxxx-ISP-PROIProgramowanie obiektowe5
103A-INxxx-ISP-EOOPObject-Oriented Programming5

Literatura:

    1. Stroustrup, B.: Język C++.
    2. Lippmann, A.: Programowanie obiektowe.
    3. Silvester, P.: System operacyjny unix.

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

Okres: 2020-10-01 - 2021-02-19
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin, 60 miejsc więcej informacji
Wykład, 30 godzin, 60 miejsc więcej informacji
Koordynatorzy: Marcin Bączyk
Prowadzący grup: Marcin Bączyk, Bartosz Dec, Marek Niewiński
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103300 - Instytut Systemów Elektronicznych

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

Okres: 2020-02-22 - 2020-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin, 160 miejsc więcej informacji
Wykład, 30 godzin, 160 miejsc więcej informacji
Koordynatorzy: Marcin Bączyk, Marek Niewiński
Prowadzący grup: Marcin Bączyk, Michał Borecki, Bartosz Dec, Marek Niewiński
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103500 - Instytut Mikroelektroniki i Optoelektroniki

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

Okres: 2019-10-01 - 2020-02-21
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin, 100 miejsc więcej informacji
Wykład, 30 godzin, 100 miejsc więcej informacji
Koordynatorzy: Marcin Bączyk
Prowadzący grup: Marcin Bączyk, Grzegorz Bogdan, Michał Borecki, Mateusz Żotkiewicz
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103300 - Instytut Systemów Elektronicznych

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

Okres: 2019-02-18 - 2019-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin, 160 miejsc więcej informacji
Wykład, 30 godzin, 160 miejsc więcej informacji
Koordynatorzy: Grzegorz Galiński, Jacek Naruniec, Marek Niewiński
Prowadzący grup: Marcin Bączyk, Piotr Bobiński, Michał Borecki, Andrzej Buchowicz, Grzegorz Galiński, Krzysztof Mroczek, Marek Niewiński, Mateusz Żotkiewicz
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103400 - Instytut Radioelektroniki i Technik Multimedialnych
103500 - Instytut Mikroelektroniki i Optoelektroniki

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

Okres: 2018-10-01 - 2019-02-17
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin, 60 miejsc więcej informacji
Wykład, 30 godzin, 60 miejsc więcej informacji
Koordynatorzy: Marcin Bączyk
Prowadzący grup: Marcin Bączyk, Dominik Kasprowicz, Grzegorz Krawczyk, Zbigniew Nasarzewski, Bartosz Połok, Mateusz Żotkiewicz
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103300 - Instytut Systemów Elektronicznych

Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Politechnika Warszawska.
pl. Politechniki 1, 00-661 Warszawa tel: (22) 234 7211 https://pw.edu.pl kontakt deklaracja dostępności USOSweb 7.0.0.0-7 (2024-03-18)