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

Object-Oriented Programming

Informacje ogólne

Kod przedmiotu: 103A-INxxx-ISP-EOOP Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Object-Oriented Programming
Jednostka: Wydział Elektroniki i Technik Informacyjnych
Grupy: ( Algorithms and Programming )-Computer Science, Telecommunications-B.Sc.-EITI
( Algorytmy i techniki programowania )-Elektronika, Telekomunikacja-inż.-EITI
( Courses in English )--eng.-EITI
( Metody programowania )-Informatyka-inż.-EITI
( Przedmioty podstawowe )-Inżynieria systemów informatycznych-mgr.-EITI
( Przedmioty techniczne )---EITI
( Technical Courses )--eng.-EITI
Punkty ECTS i inne: 6.00
Język prowadzenia: angielski
Jednostka decyzyjna:

103000 - Wydział Elektroniki i Technik Informacyjnych

Kod wydziałowy:

EOOP

Numer wersji:

1

Skrócony opis:

Wykład przedstawia programowanie obiektowe w języku C++ i zapoznaje studentów z projektowaniem obiektowym oraz abstrahowaniem danych, interfejsem klasy i implementacją. Dziedziczenie, polimorfizm, funkcje wirtualne i abstrakcyjne są prezentowane w kontekście projektowania zstępującego. Przeciążanie operatorów oraz szablony służą ujednoliceniu oprogramowania. Obsługa wyjątków jest współczesnym mechanizmem wychwytywania i reagowania na sytuacje błędne. Omówienie biblioteki standardowej ma na celu zwiększenie wydajności tworzenia oprogramowania.

Pełny opis:

Wykład przedstawia programowanie obiektowe w języku C++ i zapoznaje studentów z projektowaniem obiektowym oraz abstrahowaniem danych, interfejsem klasy i implementacją. Dziedziczenie, polimorfizm, funkcje wirtualne i abstrakcyjne są prezentowane w kontekście projektowania zstępującego. Przeciążanie operatorów oraz szablony służą ujednoliceniu oprogramowania. Obsługa wyjątków jest współczesnym mechanizmem wychwytywania i reagowania na sytuacje błędne. Omówienie biblioteki standardowej ma na celu zwiększenie wydajności tworzenia oprogramowania.

Treść wykładu

  1. Introduction (4h): the C/C++ language elements, basic data types, literals, references, casting, operator summary, statement summary.

  2. Functions and Files (4h): linkage, header files, static and
    automatic variables, initialization of variables, default values of
    function parameters, function overloading, namespaces.

  3. Classes (6h): classes and members, access control, interfaces and
    implementation, encapsulation, friends, name qualification, static
    members, constructors and destructors, initialization list, copy
    constructor, object-oriented programming.

  4. Derived Classes (6h): inheritance, virtual functions,
    polymorphism, pure virtual functions, abstract classes, multiple
    inheritance, dynamic data structures, dynamic binding, run-time type
    inspection.

  5. Operator Overloading (2h): operator functions, assignment and
    initialization, increment and decrement, friends and members.

  6. Templates (2h): class template, function template.

  7. Exception Handling (2h): error handling, throwing and catching
    exceptions, try block, catch blocks, discrimination of exceptions,
    naming of exceptions, uncaught exceptions.

  8. Input/Output Functions (2h): streams, formatting, files.

  9. Standard Libraries (2h): STL, containers, algorithms, iterators.


Zakres laboratorium
  • The laboratory consists of:

Five preliminary simple tasks

Pointers.

References.

Classes and objects: constructors and destructors.

Inheritance.

Polymorphism (virtual functions)

  • A small project requiring design of simplified simulation of an
    institution (e.g. bank, university, hospital). Implementation of
    several cooperating classes is expected as well as testing scenarios.



Poprzedniki
Typ poprzednikaNr poprzednikaKod poprzednikaNazwa poprzednika
Wymagany1103A-CTxxx-ISA-EPFUProgramming Fundamentals


Przedmioty podobne
Kod przedmiotuNazwa przedmiotuDyskonto ECTS
103A-INxxx-ISP-PROIProgramowanie obiektowe5
103A-TExxx-ISP-PROEProgramowanie obiektowe5

Literatura:

    1. H. Schildt, C++: The Complete Reference, Fourth Edition,
      McGraw-Hill, 2003.

    2. B. Eckel, Thinking in C++: Introduction to Standard C++, Volume
      One (2nd Edition), Prentice Hall Inc., 2000.

    3. B. Eckel, Ch. Allison, Thinking in C++, Volume 2: Practical
      Programming, Prentice Hall, 2003.

    4. B. Stroustrup, The C++ Programming Language, 3rd Edition,
      Addison-Wesley, 1998.

    5. I. Pohl, C++ for C Programmers, Addison-Wesley, 1998.

Metody i kryteria oceniania:

During the lab exercises it is possible to score up to 40 points:


  • 15 points for first five exercises (5*3)

  • 25 points for the project

  • 8 points for the Preliminary Project (PP)

  • 9 points for the Code in C++ (CC)

  • 8 points for the Final Project (FP)


Maximum score for the mid-term test is 20 points and for final test is
40 points. There are also up to 10 short tests (during lectures), each
one for 1 point.

The final result is based on the following pattern:


  • A: 91-110 points

  • B+: 81-90 points

  • B: 71-80 points

  • C+: 61-70 points

  • C: 51-60 points

  • D: 0 -50 points

Zajęcia w cyklu "rok akademicki 2020/2021 - sem. zimowy" (jeszcze nie rozpoczęty)

Okres: 2020-10-01 - 2021-02-19
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 60 miejsc więcej informacji
Wykład, 30 godzin, 60 miejsc więcej informacji
Koordynatorzy: Roman Podraza
Prowadzący grup: Anna Derezińska, Tomasz Gambin, Tomasz Martyn, Roman Podraza
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103200 - Instytut Informatyki

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

Okres: 2020-02-22 - 2020-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 70 miejsc więcej informacji
Wykład, 30 godzin, 70 miejsc więcej informacji
Koordynatorzy: Roman Podraza
Prowadzący grup: Anna Derezińska, Tomasz Gambin, Rajmund Kożuszek, Tomasz Martyn, Łukasz Neumann, Robert Nowak, Roman Podraza
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103200 - Instytut Informatyki

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, 60 miejsc więcej informacji
Wykład, 30 godzin, 60 miejsc więcej informacji
Koordynatorzy: Roman Podraza
Prowadzący grup: Anna Derezińska, Tomasz Gambin, Tomasz Martyn, Roman Podraza
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. letni" (zakończony)

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


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 70 miejsc więcej informacji
Wykład, 30 godzin, 70 miejsc więcej informacji
Koordynatorzy: Roman Podraza
Prowadzący grup: Łukasz Dąbała, Anna Derezińska, Tomasz Gambin, Rajmund Kożuszek, Tomasz Martyn, Łukasz Neumann, Roman Podraza
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, 60 miejsc więcej informacji
Wykład, 30 godzin, 60 miejsc więcej informacji
Koordynatorzy: Roman Podraza
Prowadzący grup: Łukasz Dąbała, Anna Derezińska, Tomasz Gambin, Roman Podraza, Piotr Wąsiewicz
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. letni" (zakończony)

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


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 70 miejsc więcej informacji
Wykład, 30 godzin, 70 miejsc więcej informacji
Koordynatorzy: Roman Podraza
Prowadzący grup: Anna Derezińska, Tomasz Gambin, Kamil Kompa, Roman Podraza, Zbigniew Szymański
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, 32 miejsc więcej informacji
Wykład, 30 godzin, 32 miejsc więcej informacji
Koordynatorzy: Roman Podraza
Prowadzący grup: Roman Podraza
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. letni" (zakończony)

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


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 60 miejsc więcej informacji
Wykład, 30 godzin, 60 miejsc więcej informacji
Koordynatorzy: Roman Podraza
Prowadzący grup: Roman Podraza
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, 24 miejsc więcej informacji
Wykład, 30 godzin, 24 miejsc więcej informacji
Koordynatorzy: Roman Podraza
Prowadzący grup: Roman Podraza
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. letni" (zakończony)

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


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 40 miejsc więcej informacji
Wykład, 30 godzin, 40 miejsc więcej informacji
Koordynatorzy: Roman Podraza
Prowadzący grup: Roman Podraza
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, 32 miejsc więcej informacji
Wykład, 30 godzin, 32 miejsc więcej informacji
Koordynatorzy: Roman Podraza
Prowadzący grup: Roman Podraza
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. letni" (zakończony)

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


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 30 miejsc więcej informacji
Wykład, 30 godzin, 30 miejsc więcej informacji
Koordynatorzy: Roman Podraza
Prowadzący grup: Roman Podraza
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, 30 miejsc więcej informacji
Wykład, 30 godzin, 30 miejsc więcej informacji
Koordynatorzy: Roman Podraza
Prowadzący grup: Roman Podraza
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. letni" (zakończony)

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


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 36 miejsc więcej informacji
Wykład, 30 godzin, 36 miejsc więcej informacji
Koordynatorzy: Roman Podraza
Prowadzący grup: Roman Podraza
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, 30 miejsc więcej informacji
Wykład, 30 godzin, 30 miejsc więcej informacji
Koordynatorzy: Roman Podraza
Prowadzący grup: Roman Podraza
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. letni" (zakończony)

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


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

103200 - Instytut Informatyki

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