Warsaw University of Technology - Central Authentication SystemYou are not logged in | log in
course directory - help

Object-Oriented Programming

General data

Course ID: 103A-INxxx-ISP-EOOP Erasmus code / ISCED: (unknown) / (unknown)
Course title: Object-Oriented Programming Name in Polish: Object-Oriented Programming
Department: The Faculty of Electronics and Information Technology
Course groups: ( Algorithms and Programming )-Computer Science, Telecommunications-B.Sc.-EITI
( Algorithms and Programming )-Electronics, Telecommunications-B.Sc.-EITI
( Courses in English )--eng.-EITI
( Fundamentals )-Computer Information System Engineering-M.Sc.-EITI
( Programming Methods )-Computer Science-B.Sc.-EITI
( Technical Courses )---EITI
( Technical Courses )--eng.-EITI
ECTS credit allocation (and other scores): 6.00
Language: English
(in Polish) Jednostka decyzyjna:

(in Polish) 103000 - Wydział Elektroniki i Technik Informacyjnych

(in Polish) Kod wydziałowy:

(in Polish) EOOP

(in Polish) Numer wersji:

(in Polish) 1

Short description:

The lecture should present the object-oriented programming in C++ language and make students familiar with the object-oriented design and data abstraction, interfaces and implementations. Inheritance, polymorphism, virtual and abstract functions are introduced as top-down design methodology. Operator overloading and templates support uniformity in designing and exception handling is contemporary technique for dealing with errors. Standard library overview should result in improvement of software productivity.

Full description:

The lecture should present the object-oriented programming in C++ language and make students familiar with the object-oriented design and data abstraction, interfaces and implementations. Inheritance, polymorphism, virtual and abstract functions are introduced as top-down design methodology. Operator overloading and templates support uniformity in designing and exception handling is contemporary technique for dealing with errors. Standard library overview should result in improvement of software productivity.

Lecture contents

  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.


Laboratory contents
  • 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.



Prerequisites
TypeNunberCodeName
Obligatory1103A-CTxxx-ISA-EPFUProgramming Fundamentals


Similar Courses
CodeNameDiscount ECTS
103A-INxxx-ISP-PROIProgramowanie obiektowe5
103A-TExxx-ISP-PROEProgramowanie obiektowe5

Bibliography:

    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.

Assessment methods and assessment criteria:

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

Classes in period "Summer Semester 2019/2020" (in progress)

Time span: 2020-02-22 - 2020-09-30
Choosen plan division:


magnify
see course schedule
Type of class: laboratory, 30 hours, 70 places more information
lectures, 30 hours, 70 places more information
Coordinators: Roman Podraza
Group instructors: Anna Derezińska, Tomasz Gambin, Rajmund Kożuszek, Tomasz Martyn, Łukasz Neumann, Robert Nowak, Roman Podraza
Students list: (inaccessible to you)
Examination: Overall grade
(in Polish) Jednostka realizująca:

(in Polish) 103200 - Instytut Informatyki

Classes in period "Winter Semester 2019/2020" (past)

Time span: 2019-10-01 - 2020-02-21
Choosen plan division:


magnify
see course schedule
Type of class: laboratory, 30 hours, 60 places more information
lectures, 30 hours, 60 places more information
Coordinators: Roman Podraza
Group instructors: Anna Derezińska, Tomasz Gambin, Tomasz Martyn, Roman Podraza
Students list: (inaccessible to you)
Examination: Overall grade
(in Polish) Jednostka realizująca:

(in Polish) 103200 - Instytut Informatyki

Classes in period "Summer Semester 2018/2019" (past)

Time span: 2019-02-18 - 2019-09-30
Choosen plan division:


magnify
see course schedule
Type of class: laboratory, 30 hours, 70 places more information
lectures, 30 hours, 70 places more information
Coordinators: Roman Podraza
Group instructors: Łukasz Dąbała, Anna Derezińska, Tomasz Gambin, Rajmund Kożuszek, Tomasz Martyn, Łukasz Neumann, Roman Podraza
Students list: (inaccessible to you)
Examination: Overall grade
(in Polish) Jednostka realizująca:

(in Polish) 103200 - Instytut Informatyki

Classes in period "Winter Semester 2018/2019" (past)

Time span: 2018-10-01 - 2019-02-17
Choosen plan division:


magnify
see course schedule
Type of class: laboratory, 30 hours, 60 places more information
lectures, 30 hours, 60 places more information
Coordinators: Roman Podraza
Group instructors: Łukasz Dąbała, Anna Derezińska, Tomasz Gambin, Roman Podraza, Piotr Wąsiewicz
Students list: (inaccessible to you)
Examination: Overall grade
(in Polish) Jednostka realizująca:

(in Polish) 103200 - Instytut Informatyki

Classes in period "Summer Semester 2017/2018" (past)

Time span: 2018-02-19 - 2018-09-30
Choosen plan division:


magnify
see course schedule
Type of class: laboratory, 30 hours, 70 places more information
lectures, 30 hours, 70 places more information
Coordinators: Roman Podraza
Group instructors: Anna Derezińska, Tomasz Gambin, Kamil Kompa, Roman Podraza, Zbigniew Szymański
Students list: (inaccessible to you)
Examination: Overall grade
(in Polish) Jednostka realizująca:

(in Polish) 103200 - Instytut Informatyki

Classes in period "Winter Semester 2017/2018" (past)

Time span: 2017-10-01 - 2018-02-18
Choosen plan division:


magnify
see course schedule
Type of class: laboratory, 30 hours, 32 places more information
lectures, 30 hours, 32 places more information
Coordinators: Roman Podraza
Group instructors: Roman Podraza
Students list: (inaccessible to you)
Examination: Overall grade
(in Polish) Jednostka realizująca:

(in Polish) 103200 - Instytut Informatyki

Classes in period "Summer Semester 2016/2017" (past)

Time span: 2017-02-20 - 2017-09-30
Choosen plan division:


magnify
see course schedule
Type of class: laboratory, 30 hours, 60 places more information
lectures, 30 hours, 60 places more information
Coordinators: Roman Podraza
Group instructors: Roman Podraza
Students list: (inaccessible to you)
Examination: Overall grade
(in Polish) Jednostka realizująca:

(in Polish) 103200 - Instytut Informatyki

Classes in period "Winter Semester 2016/2017" (past)

Time span: 2016-10-01 - 2017-02-19
Choosen plan division:


magnify
see course schedule
Type of class: laboratory, 30 hours, 24 places more information
lectures, 30 hours, 24 places more information
Coordinators: Roman Podraza
Group instructors: Roman Podraza
Students list: (inaccessible to you)
Examination: Overall grade
(in Polish) Jednostka realizująca:

(in Polish) 103200 - Instytut Informatyki

Classes in period "Summer Semester 2015/2016" (past)

Time span: 2016-02-23 - 2016-09-30
Choosen plan division:


magnify
see course schedule
Type of class: laboratory, 30 hours, 40 places more information
lectures, 30 hours, 40 places more information
Coordinators: Roman Podraza
Group instructors: Roman Podraza
Students list: (inaccessible to you)
Examination: Overall grade
(in Polish) Jednostka realizująca:

(in Polish) 103200 - Instytut Informatyki

Classes in period "Winter Semester 2015/2016" (past)

Time span: 2015-10-01 - 2016-02-22
Choosen plan division:


magnify
see course schedule
Type of class: laboratory, 30 hours, 32 places more information
lectures, 30 hours, 32 places more information
Coordinators: Roman Podraza
Group instructors: Roman Podraza
Students list: (inaccessible to you)
Examination: Overall grade
(in Polish) Jednostka realizująca:

(in Polish) 103200 - Instytut Informatyki

Classes in period "Summer Semester 2014/2015" (past)

Time span: 2015-02-23 - 2015-09-30
Choosen plan division:


magnify
see course schedule
Type of class: laboratory, 30 hours, 30 places more information
lectures, 30 hours, 30 places more information
Coordinators: Roman Podraza
Group instructors: Roman Podraza
Students list: (inaccessible to you)
Examination: Overall grade
(in Polish) Jednostka realizująca:

(in Polish) 103200 - Instytut Informatyki

Classes in period "Winter Semester 2014/2015" (past)

Time span: 2014-09-29 - 2015-02-22
Choosen plan division:


magnify
see course schedule
Type of class: laboratory, 30 hours, 30 places more information
lectures, 30 hours, 30 places more information
Coordinators: Roman Podraza
Group instructors: Roman Podraza
Students list: (inaccessible to you)
Examination: Overall grade
(in Polish) Jednostka realizująca:

(in Polish) 103200 - Instytut Informatyki

Classes in period "Summer Semester 2013/2014" (past)

Time span: 2014-02-24 - 2014-09-28
Choosen plan division:


magnify
see course schedule
Type of class: laboratory, 30 hours, 36 places more information
lectures, 30 hours, 36 places more information
Coordinators: Roman Podraza
Group instructors: Roman Podraza
Students list: (inaccessible to you)
Examination: Overall grade
(in Polish) Jednostka realizująca:

(in Polish) 103200 - Instytut Informatyki

Classes in period "Winter Semester 2013/2014" (past)

Time span: 2013-10-01 - 2014-02-23
Choosen plan division:


magnify
see course schedule
Type of class: laboratory, 30 hours, 30 places more information
lectures, 30 hours, 30 places more information
Coordinators: Roman Podraza
Group instructors: Roman Podraza
Students list: (inaccessible to you)
Examination: Overall grade
(in Polish) Jednostka realizująca:

(in Polish) 103200 - Instytut Informatyki

Classes in period "Summer Semester 2012/2013" (past)

Time span: 2013-02-20 - 2013-09-30
Choosen plan division:


magnify
see course schedule
Type of class: laboratory, 30 hours, 30 places more information
lectures, 30 hours, 30 places more information
Coordinators: Roman Podraza
Group instructors: Roman Podraza
Students list: (inaccessible to you)
Examination: Overall grade
(in Polish) Jednostka realizująca:

(in Polish) 103200 - Instytut Informatyki

Course descriptions are protected by copyright.
Copyright by Warsaw University of Technology.