The 2012 school and workshop on "Advanced Programming Concepts" continues the series started in Dresden in 2010, and it supplements the educational programming part of the GridKa school 2012.
The school, after quickly repeating, basic programming concepts like class design, UML and design patterns, will invite the participants to work in teams of two developers each, in a highly coordinated way, on a programming project. In the course of the workshop, advanced programming techniques (revision control, integration, build systems etc.), software design principles (from class to package to module level) and software development methods within large and small projects are discussed.
The participants of the school are expected to have good knowledge of the C++ programming language and, preferably, also of Python.
Slides from the lectures are in the notes directory, along with their code examples.
A set of projects were undertaken to exercise techniques learned at the school. Information on these projects can be found in notes\projectsintro_desy.pdf. The projects are included here as submodules and can be checkout en masse using the get_submodules.sh script.