Courses Catalogue

Syllabus of the course: Introduction to the C++ Programming Language

In this web page we provide the syllabus of the course Introduction to the C++ Programming Language, offered by the Department of Physics.
The list of the courses offered during the current accademic year is available here.
The list of all courses offered by the Department of Physics is available here.

InstructorS. Stamatiadis
ProgramFriday, 17:00-20:00, Computer Room 3
Web page
Goal of the courseThe course is an introduction to the C++ programming language. Core elements of the language are presented, in accordance with the relevant C++ Standard of 1998. Moreover, modern techniques of programming are employed, focusing on scientific computing.
SyllabusIntroduction - Fundamental types and operators of C++.
C++ syntax, reserved keywords, naming rules. Fundamental types: boolean, character, integer, real, complex.
The "void" type. Enumerations. Declarations and scope of variables and constants. Structures.
Arithmetic operators, priorities. Namespaces, references, pointers.

Control structures, Loops.
If statement, (?:) operator, the switch statement, the assert function. Loop structures: while, do while, for. continue, break statements.

Function definition, declaration and usage. the main function. Overloading, function template. Math functions.

Standard Library
Containers: vector, deque, list, set/multiset, map/multimap. Iterators. Algorithms, function objects.

Advanced topics
Introduction to classes: encapsulation, inheritance, polymorphism.
Introduction to object-based and object oriented programming.
Large program structure. Interface to Fortran and C.

Bibliography 1. Andrew Koenig and Barbara E. Moo. Accelerated C++: practical programming by example. C++ In-Depth Series. Addison Wesley, Reading, MA, USA, 2000.
2. Stanley B. Lippman. Essential C++. C++ In-Depth Series. Addison Wesley, Reading, MA, USA, 2000.
3. John R. Hubbard. Programming with C++. Schaum's Outline Series. McGraw-Hill, second edition, June 2000.
5. Bruce Eckel. Thinking in C++. Introduction to Standard C++, volume 1. Prentice Hall, second edition, 2000.
6. Stanley B. Lippman, Josée Lajoie and Barbara E. Moo. C++ Primer. Addison Wesley, Reading, MA, USA, fourth edition, February 2005.
7. Bjarne Stroustrup. Programming - Principles and Practice Using C++. Addison Wesley, Reading, MA, USA, 2008.
8. Bjarne Stroustrup. The C++ Programming Language. Addison Wesley, Reading, MA, USA, third edition, 1997.

University of Crete - Department of Physics - P.O Box 2208 - GR-71003 Heraklion, Greece
phone: +30 2810 394300 - fax: +30 2810 394301