Course PM
Program construction in C++ for Scientific Computing, pcpp18
Teacher
Michael Hanke, hanke@nada.kth.se, room 3444, Lindstedtvägen 25, tel. 7906278
Course registration
For course registration, use MyPages.
For all other administrative information please visit the web representation of the Student affairs office here.
Literature
- The main reference for C++ is: Stanley B. Lippman, Jose Lajoie, Barbara E. Moo: C++ Primer (5th ed.). Addison-Wesley, 2013
- Additional good reading includes:
- Jan Skansholm: C++ direkt (3:e upplagan). Studentlitteratur, 2013
- Suely Oliveira, David Steward: Writing Scientific Software: A Guide to Good Style. Cambridge University Press, 2006
- Occasionally, reference to other sources will be given where appropriate.
- The slides of the lectures will be published in advance on this web site. You should have ready them at the lectures in order to be able to make notes!
- Slides for the eleventh chapter.
- Slides for the tenth chapter.
- Slides for the nineth chapter.
- Slides for the eighth chapter.
- Slides for the seventh chapter.
- Slides for the sixth chapter.
- Slides for the fifth chapter.
- Slides for the fourth chapter.
- Slides for the third chapter.
- Slides for the second chapter.
- Slides for the first chapter.
Preliminary schedule
- Lect 1 and 2: Introduction and first examples
- Ex 1: Develping, compiling, testing and running of a simple program
- Lab 1: Do it yourself! Here, you will find the instructions for Lab 1 as well as the necessary file trace.cpp.
- Ex 2: Evaluation of lab 1
- Lect 3: Classes in C++
- Lect 4: C++ operators and their overloading
- Lect 5: IO
- Lect 6: Grids
- Lect 7: Inheritance, applications
- Lect 9: Move, Copy, and Co
- Ex 3: Grid generation
- Lect 10: Templates, STL
- Lect 11: Efficient programs
- Lect 12: PDEs and their implementation
- Further lectures include topics like efficient programming, composition objects, expression templates. If needed, tools like make will be touched.
- The last lecture/excercise will be devoted to repetions.
Home projects
During the course you will submit three project reports. The forth project is not compulsory but may give uo to three bonus credits for the written examination. For PhD-students taking the PhD-level version of this course, project 4 is compulsory! The descriptions and deadlines are as follows:
- Project 1, deadline 28th September 2018
- Project 2, deadline 26th October 2018. The following files will be necessary: r8mat_expm1.cpp and r8lib.cpp as well as the corresponding header files r8mat_expm1.h, r8lib.h.
- Project 3, deadline 30th November 2018
- Project 4, deadline 10th January 2019
The written reports shall be handed in at the student expedition of the School of Engineering Sciences (Teknikringen 8D). The projects could be done individually or in a group of two (preferred!).
Examination
The examination includes two parts:
- Projects reports (PRO1) Projects 1, 2, 3
- Written examination (TEN1)