Advanced Programming - Winter 13
- Winter 13
- Lecture: Dr. rer. nat. Tobias Weinzierl, Alexander Breuer, Tutorials: Gerrit Buse, Roland Wittmann, M.Sc.
- Time and Place
- Lecture: see TUMOnline
- Computational Science and Engineering, first semester (module IN1503)
- BGCE Supervised Teaching
- see below and TUMOnline for announcement and registration
- Semesterwochenstunden / ECTS Credits
- 4 SWS (2V+2Ü) / 5 Credits
- TUM Online Lecture TUM Online Tutorial Moodle
- 15 November 2013: The exam date is published in TUM Online (21st of February, 8:30-10:00). Please register for the exam there.
- 24 October 2013: Please cf. Moodle for lecture material. The first slides are online, more to come.
- 8 August 2013: Some notes on lecture concept online.
The weekly lecture discusses selected programming topics, C++ concepts, and programming language techniques. As this is not a preparatory course and as programming skills are among the prerequesites, we rely on many fundamental C++ aspects. If the participants are not familiar with those concepts, they have to aquire them themselves prior to the lecture (self-study). The lecturers publish checklists/slides prior to the session on knowledge required for the lecturers.
In the weekly tutorials, tutors participating in the Supervised Teaching programme first give a brief presentation on selected topics. These talks comprise outlooks and studies on topics not covered by the lecture and the exam that are however mandatory to program successfully today. Examples for topics are systematic testing and debugging, runtime measurements, build environments and so forth. Afterwards, the tutors present and discuss solutions on selected worksheet problems. The worksheets are published online roughly a week before the corresponding tutorials. This way, all participants have the opportunity to study the problems at home before they are presented solutions and additional information on the challenges. There is no mandatory homework however.
Our tutors are mentored by two senior Ph.D. students due to the Supervised Teaching programme and get didactic feedback and evaluation permanently.
For motivated students, we provide a course project accompanying the lectures and tutorials. This project is part of a Ernst Otto Fischer teaching award and is voluntary. Interested students are given access to the FRAVE installation at LRZ. They get access to complex software environments and state-of-the-art visualisation and computing environments. Strating from this environments, the worksheets hold additional programming tasks that are to be realised within this software environment. Step by step, they realise a complex simulation framework. The tasks are to be tackled either individually or in small groups (preferred), and shall give extraordinary motivated students the opportunity to train and improve their programming skills at hands of real-world simulation challenges. Extraordinary successful groups will be given the opportunity to present their results at an national or international conference.
Lecture Slides & Tutorial
|October 14-18, 2013||No tutorials, no lecture due to CSE introductory week|
|October 21-25, 2013||-||Introduction and motivation, the von Neumann architecture, Flynn's taxonomy||no tutorials but support to install compilers, software, and so forth|
|October 28-November 1, 2013||Variable declaration, identifier naming rules, built-in data types, simple expressions||C/C++ memory layout, SSE/AVX data types, integer and float representations, automatic type conversion, auto keyword||t.b.a.|
|November 4-8, 2013||Functions||Functional programming: Call semantics, scoping, recursion, call-stack and register save mechanisms, lambda expressions||t.b.a.|
|November 11-15, 2013||Loops||Applicative programming: Branches and scopes, header and implementation files, global variables, instruction reordering (outlook)||t.b.a.|
|November 18-22, 2013||Linear algebra||Heap management: Cache architectures, new and delete, garbage collection, the restrict keyword, classic container realisations (single-linked list, trees, ...)||t.b.a.|
|November 25-29, 2013||none||Execution Environment, Assembly||t.b.a.|
|December 2-6, 2013||Execution Environment, Assembly..||Autovectorization, Memory Management||t.b.a.|
Slides, information on lecture rooms, schedules, exam registrations, and so forth are available at Moodle. You can register via TUMOnline.
All organisational details on the tutorials as well as the rooms and dates can be found in TUMOnline. See the corresponding link on the top of this page. All lecture material for the tutorials is published in Moodle. See the link above as well.
Date: 21 February 2014
Time: 08:30 - 10:00
Location: 5602.EG.001 (00.02.001, MI Hörsaal 1)
Exam duration: 90 min.
Helping material: None.
Content: All topics of lecture and tutorials.
Repetition: There will be a repetition of the exam. This will take place at the end of the summer term. Registration is due to TUMOnline and mandatory. Please doublecheck a priori with your course regulations whether you are allowed to take part in any case or whether your are allowed only if you have failed the first try.
Participation/registration: Only persons who have registered at TUMOnline are allowed to take part.
These links provide further information on particular topics. For literature, please consult the modul description IN1503 of the course.