Concepts of object oriented programming and the C++ syntax are treated in 8 oral lectures, which are largely based on an English textbook (see below), but clarified with examples from physics en demonstrations in the lecture room.
The course as a whole is very practical and hands-on oriented. Tens of ready to use example programs are provided and discussed with the students, who can use the working code as a base or skeleton for their own code development.
Eight lectures of two hours contain, in brief, an introduction to the internal workings of a computer, the basic C++ syntax and program structure and a first encounter with writing and using external classes and the use of data structures from the Standard Template Library (STL). Students will learn to manipulate text and files from within their programs. We emphasize the application of the acquired skills by solving simple physics problems that are handed out to the students at the end of every lecture. Working out these problems is obligatory within a period of 1-3 weeks, depending on the difficulty level of the particular assignment.
The Practical hands on sessions are organized in the computer classes of the campus and are supervised by the professor.
Microsoft Visual Studio is used as a graphical programming environment, including an easy to use text editor, C++ compiler and debugger.
Students will receive a freeware version of this program and all source code of the example programs used throughout the course.
During the hands on sessions, students can modify and test the example programs or work on their assignments in an environment where they can ask questions to the supervisor.
In order to evaluate the assignments, that contribute to 50% of the total grade, each student will submit his source code and short written report of the programming strategy and solutions to the problem before a given deadline on the electronic Blackboard system. At the start of each hands on session a random student will be invited to present his/her solution to the rest of the class.
The remaining half of the final exam score will be earned in a similar way, by working on a more complex final assignment. All assignments are graded based on the correctness and user-friendliness of the source code AND the discussion of the physical/numerical problem solutions.