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

Programming 3

General data

Course ID: 103A-CTxxx-ISA-EPRO3 Erasmus code / ISCED: (unknown) / (unknown)
Course title: Programming 3 Name in Polish: Programming 3
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) EPRO3

(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
Introduction (4h): the C/C++ language elements, basic data types, literals, references, casting, operator summary, statement summary.
Functions and Files (4h): linkage, header files, static and automatic variables, initialization of variables, default values of function parameters, function overloading, namespaces.Classes (6h): classes and members, access control, interfaces and implementation, friends, name qualification, static members, constructors and destructors, object-oriented programming.
Derived Classes (6h): inheritance, virtual functions, polymorphism, pure virtual functions, abstract classes, multiple inheritance, dynamic data structures, dynamic binding, run-time type inspection.
Operator Overloading (2h): operator functions, assignment and initialization, increment and decrement, friends and members.
Templates (2h): class template, function template.
Exception Handling (2h): error handling, throwing and catching exceptions, try block, catch blocks, discrimination of exceptions, naming of exceptions, uncaught exceptions.
Input/Output Functions (2h): streams, formatting, files.
Standard Libraries (2h): STL, containers, algorithms, iterators.




Laboratory contents
The laboratory consists of 5 simple tasks followed by a small project. The simple tasks cover the following issues:

  1. Pointers.
  2. References.
  3. Classes and objects: constructors and destructors.
  4. Inheritance.
  5. Polymorphism (virtual functions). The project requires a design of simplified simulating an institution (e.g. bank, university, hospital) using several related classes.




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

Bibliography:

    1. B. Stroustrup, "The C++ Programming Language", Third Edition, Addison-Wesley, 1998.

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

    3. H. Schildt, "C++: The Complete Reference", Third Edition, McGraw-Hill, 1998.

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, 45 places more information
lectures, 30 hours, 45 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 2012/2013" (past)

Time span: 2012-10-01 - 2013-02-19
Choosen plan division:


magnify
see course schedule
Type of class: laboratory, 30 hours, 45 places more information
lectures, 30 hours, 45 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.