SUBJECT

Title

Programming Languages (C++)

Type of instruction

lecture + practical

Level

bachelor

Part of degree program
Credits

5

Recommended in

Semester 4

Typically offered in

Spring semester

Course description

Bases of the programming languages: syntax, semantics, interpreter, compiler, byte-code, compilation unit, specification, body, declarations, definitions, scope, life, visibility, global and local variables, block structure, strongly-typed languages, parameter-passing, parameters and arguments, default parameters. Mathematical computations in FORTRAN. The structure of the C++ programming language. Preprocessor. Constants, types, differences between C and C++, operators, evaluation of expressions, different  ways to handle memory. Dynamic declarations. Type conversion. Functions, overloading, parameter passing, default parameters, references. Object-oriented programming in C++: classes, members, constructors, destructors, static members, access modifiers, namespaces, operators. Inheritance, multiple inheritance, hiding, polimorphism, late and early binding in C++, abstract classes and interfaces. Exception handling. Template functions and template classes. The Standard Template Library and its usage. Role of functorsBases of the programming languages: syntax, semantics, interpreter, compiler, byte-code, compilation unit, specification, body, declarations, definitions, scope, life, visibility, global and local variables, block structure, strongly-typed languages, parameter-passing, parameters and arguments, default parameters.


Mathematical computations in FORTRAN. The structure of the C++ programming language. Preprocessor. Constants, types, differences between C and C++, operators, evaluation of expressions, different ways to handle memory. Dynamic declarations. Type conversion. 

Functions, overloading, parameter passing, default parameters, references.

Object-oriented programming in C++: classes, members, constructors, destructors, static members, access modifiers, namespaces, operators. Inheritance, multiple inheritance, hiding, polimorphism, late and early binding in C++, abstract classes and interfaces. Exception handling. Template functions and template classes. The Standard Template Library and its usage. Role of functors

Readings
  • Bjarne Stroustrup: The C++ Programming Language: Special Edition, Addison-Wesley Professional; 3 edition (February 11, 2000), ISBN-10: 0201700735, ISBN-13: 978-0201700732

  • Scott Meyers: Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition), Addison-Wesley Professional; 3 edition (May 22, 2005), ISBN-10: 0321334876, ISBN-13: 978-0321334879

 

Recommended literature:

  • Bjarne Stroustrup: Programming: Principles and Practice Using C++, Addison-Wesley Professional; 1 edition (December 25, 2008), ISBN-10: 0321543726, ISBN-13: 978-0321543721