Personal tools

Advanced Programming - Winter 13

From Sccswiki

Jump to: navigation, search
Term
Winter 13
Lecturer
Lecture: Dr. rer. nat. Tobias Weinzierl, Alexander Breuer, Tutorials: Gerrit Buse, Roland Wittmann, M.Sc.
Time and Place
Lecture: see TUMOnline
Audience
Computational Science and Engineering, first semester (module IN1503)
Tutorials
BGCE Supervised Teaching
Exam
see below and TUMOnline for announcement and registration
Semesterwochenstunden / ECTS Credits
4 SWS (2V+2Ü) / 5 Credits
TUMonline
TUM Online Lecture TUM Online Tutorial Moodle



Contents

News

  • 13 March 2014: See below at Exam for the date of the repeat exam.
  • 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.

Concept

Concept.png

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

Week Requirements Lecture Exercise Remarks
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.

Tutorials

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.


Exam

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.

Exam Review: 03/19/14, 10 AM - 11:30 AM, 02.07.023

Repetition: 07.04.14, 17:30 - 19:00, 5620.01.102 (102, Interims Hörsaal 2); Please remember to register in advance of the exam.

Participation/registration: Only persons who have registered at TUMOnline are allowed to take part.


Recommended Reading

These links provide further information on particular topics. For literature, please consult the modul description IN1503 of the course.