C++ for Scientists Programming Simulation and/or Analysis code
The C++ course is designed for a target audience of scientists who are active in programming simulation and/or analysis code.
Prerequisites
The only prerequisite is experience in computer programming. In particular, no prior knownledge of the C language is needed. Programming experience entirely in Fortran is adequate however past experience has shown that even experienced C programmers will benefit from these sessions.
Format
The course consists of six lectures sessions of about 3 hours each. Each session with have 15 minute coffee break in the middle.
Transparencies
PostScript versions of the transparencies, printed two-up, are available from
or via AFS
/afs/slac.stanford.edu/public/users/pfkeb/c++class/session0n.ps.Z
where `n' is 1-6. There are 188 transparences all together.
Archived videos of a previous presentation of these lectures are available at:
http://www.wlap.org/cern/lectures/tech/c/
Content
The course starts with the very basics and ends with sosphicated example of tracking code. The content of each lecture is roughly the following...
- session 1: basic declarations, conditional structure, operators.
- session 2: pointers and functions.
- session 3: introduction to classes including operator overloading using 3-Vector from CLHEP (class library for high energy physics) as an example.
- session 4; more on classes with arrays and lists and including templates.
- session 5: introduction to inheritance and some thoughts on class design and dealing with legacy code.
- session 6: polymorphic inheritance with a large example taken from a simulation code.
This course is not a "hands-on" style course. Only few practical exercises is suggested in the lectures. The students are expected to take their own intiatives in getting started.
By the end of the course, one should be able to read most C++ code written by other scientists and be on their way to using C++ in their own work.
Please see the schedule for times and dates.