Effective Analysis Programming 2: Difference between revisions
From Gridkaschool
Jump to navigationJump to search
No edit summary |
|||
(One intermediate revision by the same user not shown) | |||
Line 23: | Line 23: | ||
==Exercises== |
==Exercises== |
||
===Review code of a project=== |
|||
* Start with tar ball [[File:Inertia.tgz]] |
|||
* Add missing code to Cylinder class |
|||
* test it |
|||
* check into the repository |
|||
* tag it with CVS |
|||
* improve the code using the guidelines |
|||
* commit changes tag new version |
|||
===Debugging=== |
|||
===Profiling=== |
Latest revision as of 09:38, 29 August 2012
We give an introduction to advanced topics of C++. These include inheritance, templates, stable numerical calculations, debugging and profiling. The main focus is on rules and guidelines to write clear code and avoid common pitfalls.
Desirable Prerequisite: Basic knowledge of C/C++
Books
- Stroustrup: "The C++ Programming Language", 3rd edition
- Sutter, Alexandrescu: "C++ Coding Standards"
- Press et al.: "Numerical Recipes", 3rd edition
- Meyers: "Effective C++" etc.
Nodes
- gks-044.scc.kit.edu 141.52.174.44
- gks-246.scc.kit.edu 141.52.174.246
Lectures
- Coding Guidelines 1(Organization and policy, Design style, Coding style, Function) Media:Effprog2.pdf
- Coding Guidelines 2(Organization and policy, Design style, Coding style, Function) Media:Effprog3.pdf
Exercises
Review code of a project
- Start with tar ball File:Inertia.tgz
- Add missing code to Cylinder class
- test it
- check into the repository
- tag it with CVS
- improve the code using the guidelines
- commit changes tag new version