Desy C++ 2013 School

The main goal of the school is to help participants learn the techniques of object oriented programming in C++. The school addresses all physicists from the student to the senior level who feel that they would profit from lectures and hands-on exercises on the following topics:

  • going from C to C++, function overloading, default parameters, operators
  • class basics, namespaces, constructors, destructors
  • C++ style input/output operations (basics)
  • dynamic memory management, pointers
  • using templates and the Standard Template Library (STL basics)
  • STL data structures and generic algorithms
  • advanced classes: function classes, inheritance, abstract base classes
  • C++ style input/output operations (advanced, class hierarchy, iterators)
  • external libraries: the Boost library
  • exceptions (maybe, depends on how we can progress with other topics)
  • handling multiple source files, using make, GIT

Participants are expected to have a basic knowledge of C or C++ (what is a class? what is a namespace?). The focus is on programming - the physics examples used are very simple.