Difference between revisions of "Advanced Programming - Winter 13"
(→News) |
|||
(41 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{Lecture | {{Lecture | ||
| term = Winter 13 | | term = Winter 13 | ||
− | | lecturer = [[Dr. rer. nat. Tobias Weinzierl]], [[Alexander Breuer]] | + | | lecturer = Lecture: [[Dr. rer. nat. Tobias Weinzierl]], [[Alexander Breuer]], Tutorials: [[Gerrit Buse]], [[Roland Wittmann, M.Sc.]] |
| timeplace = Lecture: see TUMOnline | | timeplace = Lecture: see TUMOnline | ||
| tutorials = BGCE Supervised Teaching | | tutorials = BGCE Supervised Teaching | ||
Line 8: | Line 8: | ||
| audience = Computational Science and Engineering, first semester (module [https://campus.tum.de/tumonline/wbStpModHB.detailPage?pKnotenNr=454189 IN1503]) | | audience = Computational Science and Engineering, first semester (module [https://campus.tum.de/tumonline/wbStpModHB.detailPage?pKnotenNr=454189 IN1503]) | ||
| exam = see below and TUMOnline for announcement and registration | | exam = see below and TUMOnline for announcement and registration | ||
− | | tumonline = [https://campus.tum.de/tumonline/lv.detail?clvnr=950112210&sprache= | + | | tumonline = [https://campus.tum.de/tumonline/lv.detail?clvnr=950112210&sprache=2 TUM Online Lecture] [https://campus.tum.de/tumonline/lv.detail?clvnr=950111289&cperson_nr=&sprache=2 TUM Online Tutorial] [https://www.moodle.tum.de/course/view.php?id=12035 Moodle] |
}} | }} | ||
+ | |||
= News = | = News = | ||
− | - 8 August 2013: Some notes on lecture concept online. | + | * 13 March 2014: See below at [[Advanced_Programming_-_Winter_13#Exam | 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 = | ||
Line 21: | Line 25: | ||
The weekly '''lecture''' discusses selected programming topics, C++ concepts, and programming language techniques. | 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. | 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. | + | If the participants are not familiar with those concepts, they have to aquire them themselves prior to the lecture ('''self-study'''). |
− | The lecturers | + | 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 = | = Lecture Slides & Tutorial = | ||
− | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
− | |||
! '''Week''' | ! '''Week''' | ||
+ | ! '''Requirements''' | ||
! '''Lecture''' | ! '''Lecture''' | ||
− | |||
! '''Exercise''' | ! '''Exercise''' | ||
− | ! ''' | + | ! '''Remarks''' |
− | |||
− | |||
|- | |- | ||
+ | | October 14-18, 2013 | ||
| | | | ||
− | |||
− | |||
− | |||
| | | | ||
| | | | ||
| No tutorials, no lecture due to CSE introductory week | | No tutorials, no lecture due to CSE introductory week | ||
|- | |- | ||
− | + | | October 21-25, 2013 | |
− | | October | + | | - |
− | + | | 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. | | 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. | | 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. | | 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. | | t.b.a. | ||
− | |||
|- | |- | ||
− | | | + | | November 25-29, 2013 |
− | + | | none | |
− | | | + | | Execution Environment, Assembly |
− | | | ||
− | |||
| t.b.a. | | t.b.a. | ||
− | |||
|- | |- | ||
− | | | + | | December 2-6, 2013 |
− | + | | Execution Environment, Assembly.. | |
− | | | + | | Autovectorization, Memory Management |
− | |||
− | | | ||
| t.b.a. | | t.b.a. | ||
− | |||
|- | |- | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
− | Slides, information on lecture rooms, schedules, exam registrations, and so forth are available at TUMOnline. | + | Slides, information on lecture rooms, schedules, exam registrations, and so forth are available at Moodle. You can register via TUMOnline. |
= Tutorials = | = 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 = | = 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. | Exam duration: 90 min. | ||
− | Helping material: | + | Helping material: None. |
Content: All topics of lecture and tutorials. | Content: All topics of lecture and tutorials. | ||
− | Repetition: | + | 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. | Participation/registration: Only persons who have registered at TUMOnline are allowed to take part. | ||
+ | |||
+ | |||
<!-- | <!-- | ||
Inspect exam: Exams can be inspected on Monday, March 11, 2013, at room MI 02.05.041 from 14:00-16:00. | Inspect exam: Exams can be inspected on Monday, March 11, 2013, at room MI 02.05.041 from 14:00-16:00. | ||
Line 207: | Line 138: | ||
Repetition: The repetition exam takes place on Wednesday, July 24, from 14:30 through 16:00 in MI 00.04.011 (MI Hörsaal 2). Please note that you have to register at [https://campus.tum.de/tumonline/wbregisterexam.lv_termine?cstp_sp_nr=950105914&cheader=J TUMOnline] prior to the exam. This also holds for students who have been registered for the original exam and did not pass. Re-registration in that case also is mandatory. | Repetition: The repetition exam takes place on Wednesday, July 24, from 14:30 through 16:00 in MI 00.04.011 (MI Hörsaal 2). Please note that you have to register at [https://campus.tum.de/tumonline/wbregisterexam.lv_termine?cstp_sp_nr=950105914&cheader=J TUMOnline] prior to the exam. This also holds for students who have been registered for the original exam and did not pass. Re-registration in that case also is mandatory. | ||
--> | --> | ||
+ | |||
= Recommended Reading = | = Recommended Reading = | ||
Latest revision as of 17:02, 18 March 2014
- 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
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
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.