From: Julius Hrivnac <Julius.Hrivnac@cern.ch>
Date: Mon, 5 May 1997 16:30:20 GMT
Subject:  C++ Course Announcement
Message-Id: <E9pv6K.K53@nntp-hep.fzu.cz>



Please note that Paul Kunz will be giving his very popular and highly
recommended C++ course again on 14-18 July. The course is organised  by
the
CERN Education Services, it costs 200 CHF, and advance  registration is
required.

A simplified application procedure has been set up,
specially for Team Visitors, in order to facilitate the
enrolment : ask your Group Leader to send an e-mail to the
DTO of your Division (M. Burri for PPE or M. Storr for ECP)
referring to the 'C++ for Particle Physicists' course
and giving your name, your CERN ID number and, if you are
not paid by CERN, the Team account number to which the
course fee has to be charged (CHF 200.- per person). Your
DTO will forward your application to the Technical
Training Secretariat. No application sent directly to
the Technical Training Secretariat will be accepted.


Here is a description of the course.

C++ for Particle Physicists

The course was developed for the BaBar collaboration and is
designed for a target audience of particle physicists
who are active in programming simulation, reconstruction, and/or
analysis code.

- Prerequisites

The only prerequiest is experience in computer programming.  In
particular, no prior knowledge of the C language is needed.
Programming experience entirely in Fortran is adequate.


- Format

The course consists of six lectures of about 1.5 hours each.
However, it would be prudent to reserve a two hour time slot for each
lecture.  Some of the sessions will run over by 10-15 minutes if
there are lots of questions during the lecture. A late afternoon
informal discussion session will also be scheduled.

Note that there will be two lectures on the first day.

- Transparencies

PostScript versions of the transparencies, printed two-up, are
available from


ftp://ftp.slac.stanford.edu/users/pfkeb/c++class/session0n.ps.Z

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.

Note that an older version of the transparencies are available via
the BaBar Web pages.  These correspond to the first version of the
course and the BaBar video tapes, but no longer correspond to the
current version.

- 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...

o session 1: basic declarations, conditional structure, operators.

o session 2: pointers and functions.

o session 3: introduction to classes including operator
overloading using 3-Vector from CLHEP as example.

o session 4; more on classes with arrays and lists and including
templates.

o session 5: introduction to inheritance and complete physics
analysis.

o session 6: more on inheritance with polymorphic classes from
Gismo.


- Text book.

The choosen text book is

John J. Barton and Lee R. Nackman
Scientific and Engineering C++
Addison-Wesley
IBSN: 0-201-53393-6

The book is available for 50 SFr from the CERN COmputing Books Selling
Service (see their catalogue and details of how to purchase at
http://wwwinfo.cern.ch/uco/cobs/).  About half the lectures follow
examples from the text book, the other half uses examples of code
written by particle physicists.

- The World Wide Web pages for the text book are at

http://www.research.ibm.com/
xw-SoftwareTechnology-books-SciEng-AboutSciEng.html

- This course is not a "hands-on" style course.  Only one practical
exercise 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, in principle,
any C++ code written for HEP.

--
##################################################################
# E-mail: Julius.Hrivnac@cern.ch                                 #
# WWW:    http://www-hep.fzu.cz/~hrivnac/                        #
# S-mail: PPE Division; 40-3D-11; CERN; 1211 Geneve; Switzerland #
# voice: (022)-767-3170                                          #
##################################################################