Course syllabus

Course administration

Answers to administrative questions, for example course registration, application to examinations, re-examinations and similar, can be found at the home page of the Student Office, Link. You can contact the Student Office via email: studentoffice@math.kth.se.

Support for students with disabilities

Students with disabilities may have the right to certain compensatory support for example during examination. 
 
KTH has coordinators for students with disabilities, Funka (Links to an external site.), who deals with issues relating to functional disabilities. You should turn to Funka at funka@kth.se for information about support.  Course specific details can be found here.

Teacher

Michael Hanke, hanke@nada.kth.se, room 3444, Lindstedtvägen 25, tel. 7906278

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
  • For grid generation:
    • M. Farrashkhvalat,  J.P. Miles: Basic Structured Grid Generation. Elsevier 2003, Chapter 4, in particular 4.3
    • Vladimir D. Liseikin: Grid Generation methods (3rd ed.). Springer 2017, Chapter 5, in particular 5.4.1
  • 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: Developing, compiling, testing and running of a simple program
  • Lab 1: Do it yourself!
  • 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!

Course summary:

Date Details Due