Advanced Programming - Winter 12: Difference between revisions
(→News) |
|||
(41 intermediate revisions by 3 users not shown) | |||
Line 6: | Line 6: | ||
| credits = 4 SWS (2V+2Ü) / 5 Credits | | credits = 4 SWS (2V+2Ü) / 5 Credits | ||
| audience = Computational Science and Engineering, first semester (module [http://drehscheibe.in.tum.de/myintum/kurs_verwaltung/cm.html?id=IN1503 IN1503]) | | audience = Computational Science and Engineering, first semester (module [http://drehscheibe.in.tum.de/myintum/kurs_verwaltung/cm.html?id=IN1503 IN1503]) | ||
| exam = see TUMOnline for announcement and registration | | exam = see below and TUMOnline for announcement and registration | ||
| tumonline = [https://campus.tum.de/tumonline/LV.detail?clvnr=950071871 Lecture] | | tumonline = [https://campus.tum.de/tumonline/LV.detail?clvnr=950071871 Lecture] | ||
: [https://campus.tum.de/tumonline/lv.detail?clvnr=950070043 Tutorials] | : [https://campus.tum.de/tumonline/lv.detail?clvnr=950070043 Tutorials] | ||
Line 14: | Line 14: | ||
= News = | = News = | ||
* Date and deep link to TUMOnline for the repetition exam are online. | |||
* Starting from November 13, 2012, the lecture takes place in the Interimshörsaal 2 (black building next to the Computer Science building). | |||
* Inspect exam: Exams can be inspected on Monday, March 11, 2013, at room MI 02.05.041 from 14:00-16:00. | |||
* Inspect repeat exam: Exams can be inspected on Monday, August 09, 2013, at room MI 02.05.041 from 10:00-12:00. | |||
= Lecture Slides & Tutorial = | = Lecture Slides & Tutorial = | ||
Line 25: | Line 29: | ||
! '''Hands-on report''' | ! '''Hands-on report''' | ||
! '''Exercise''' | ! '''Exercise''' | ||
! '''Exercise Material''' | |||
! '''Note''' | ! '''Note''' | ||
|- | |- | ||
Line 30: | Line 35: | ||
| October 15-19, 2012 | | October 15-19, 2012 | ||
| | | | ||
| | |||
| | | | ||
| | | | ||
Line 37: | Line 43: | ||
| October 22-26, 2012 | | October 22-26, 2012 | ||
| Introduction, variables, identifiers & expressions | | Introduction, variables, identifiers & expressions | ||
| | |||
| | | | ||
| | | | ||
Line 46: | Line 53: | ||
| [http://www5.in.tum.de/lehre/vorlesungen/adv_prog/ws12/tutorials/tutorial_presentation_1.pdf History of computer architectures & the C programming language] | | [http://www5.in.tum.de/lehre/vorlesungen/adv_prog/ws12/tutorials/tutorial_presentation_1.pdf History of computer architectures & the C programming language] | ||
| [http://www5.in.tum.de/lehre/vorlesungen/adv_prog/ws12/tutorials/worksheet_1.pdf Worksheet 1] | | [http://www5.in.tum.de/lehre/vorlesungen/adv_prog/ws12/tutorials/worksheet_1.pdf Worksheet 1] | ||
| [http://www5.in.tum.de/lehre/vorlesungen/adv_prog/ws12/tutorials/1_src.tar.gz Source 1] | |||
| No lecture due to Allerheiligen/Allerseelen | | No lecture due to Allerheiligen/Allerseelen | ||
|- | |- | ||
Line 51: | Line 59: | ||
| November 5-9, 2012 | | November 5-9, 2012 | ||
| Control structures, branches & scopes | | Control structures, branches & scopes | ||
| IDEs & Debugging | | [http://www5.in.tum.de/lehre/vorlesungen/adv_prog/ws12/tutorials/tutorial_presentation_2.pdf IDEs & Debugging] | ||
| [http://www5.in.tum.de/lehre/vorlesungen/adv_prog/ | | [http://www5.in.tum.de/lehre/vorlesungen/adv_prog/ws12/tutorials/worksheet_2.pdf Worksheet 2] | ||
| [http://www5.in.tum.de/lehre/vorlesungen/adv_prog/ws12/tutorials/2_src.tar.gz Source 2] | |||
| | | | ||
|- | |- | ||
Line 58: | Line 67: | ||
| November 12-16, 2012 | | November 12-16, 2012 | ||
| Functions & functional programming | | Functions & functional programming | ||
| Unit tests & test paradigms | | [http://www5.in.tum.de/lehre/vorlesungen/adv_prog/ws12/tutorials/tutorial_presentation_3.pdf Unit tests & test paradigms] | ||
| | | [http://www5.in.tum.de/lehre/vorlesungen/adv_prog/ws12/tutorials/worksheet_3.pdf Worksheet 3] | ||
| | | [http://www5.in.tum.de/lehre/vorlesungen/adv_prog/ws12/tutorials/3_src.tar.gz Source 3] | ||
| Changed lecture room for the subsequent weeks | |||
|- | |- | ||
| | | | ||
| November 19-23, 2012 | | November 19-23, 2012 | ||
| Applicative programming & source code organisation | | Applicative programming & source code organisation | ||
| The build process: makefiles and beyond | | [http://www5.in.tum.de/lehre/vorlesungen/adv_prog/ws12/tutorials/tutorial_presentation_4.pdf The build process: makefiles and beyond] | ||
| [http://www5.in.tum.de/lehre/vorlesungen/adv_prog/ws12/tutorials/worksheet_4.pdf Worksheet 4] | |||
| t.b.a. | | t.b.a. | ||
| Lecture | | Lecture moved to 02.09.014 on short note | ||
|- | |- | ||
| | | | ||
| November 26-30, 2012 | | November 26-30, 2012 | ||
| Pointers, structs & arrays 1 | | Pointers, structs & arrays 1 | ||
| Memory architectures | | Memory architectures & function pointers in C | ||
| | | [http://www5.in.tum.de/lehre/vorlesungen/adv_prog/ws12/tutorials/worksheet_5.pdf Worksheet 5] | ||
| | | [http://www5.in.tum.de/lehre/vorlesungen/adv_prog/ws12/tutorials/5_src.tar.gz Source 5] | ||
| Changed lecture room for the subsequent weeks (back to Medienraum) | |||
|- | |- | ||
| | | | ||
| December 3-7, 2012 | | December 3-7, 2012 | ||
| Pointers, structs & arrays 2 | | Pointers, structs & arrays 2 | ||
| | | [http://www5.in.tum.de/lehre/vorlesungen/adv_prog/ws12/tutorials/tutorial_presentation_6.pdf BLAS, SSE, and low-level math routines] | ||
| | | [http://www5.in.tum.de/lehre/vorlesungen/adv_prog/ws12/tutorials/worksheet_6.pdf Worksheet 6] | ||
| --- | |||
| | | | ||
|- | |- | ||
Line 86: | Line 99: | ||
| December 10-14, 2012 | | December 10-14, 2012 | ||
| Recap session | | Recap session | ||
| | | [http://www5.in.tum.de/lehre/vorlesungen/adv_prog/ws12/tutorials/tutorial_presentation_7.pdf Performance analysis] | ||
| | | [http://www5.in.tum.de/lehre/vorlesungen/adv_prog/ws12/tutorials/worksheet_7.pdf Worksheet 7] | ||
| --- | |||
| | | | ||
|- | |- | ||
Line 93: | Line 107: | ||
| December 17-21, 2012 | | December 17-21, 2012 | ||
| Object-based programming | | Object-based programming | ||
| OpenMP | | [http://www5.in.tum.de/lehre/vorlesungen/adv_prog/ws12/tutorials/tutorial_presentation_8.pdf OpenMP] | ||
| [http://www5.in.tum.de/lehre/vorlesungen/adv_prog/ws12/tutorials/worksheet_8.pdf Worksheet 8] | |||
| t.b.a. | | t.b.a. | ||
| | | | ||
Line 100: | Line 115: | ||
| January 7-11, 2013 | | January 7-11, 2013 | ||
| Object-oriented programming | | Object-oriented programming | ||
| | | [http://www5.in.tum.de/lehre/vorlesungen/adv_prog/ws12/tutorials/TBB.pdf TBB] | ||
| Recap | |||
| t.b.a. | | t.b.a. | ||
| | | | ||
Line 107: | Line 123: | ||
| January 14-18, 2013 | | January 14-18, 2013 | ||
| t.b.a. | | t.b.a. | ||
| | | [http://www5.in.tum.de/lehre/vorlesungen/adv_prog/ws12/tutorials/MPI.pdf MPI] | ||
| [http://www5.in.tum.de/lehre/vorlesungen/adv_prog/ws12/tutorials/worksheet_9.pdf Worksheet 9] | |||
| t.b.a. | | t.b.a. | ||
| | | | ||
Line 114: | Line 131: | ||
| January 21-25, 2013 | | January 21-25, 2013 | ||
| t.b.a. | | t.b.a. | ||
| | | [http://www5.in.tum.de/lehre/vorlesungen/adv_prog/ws12/tutorials/SE_Patterns.pdf Design patterns] | ||
| [http://www5.in.tum.de/lehre/vorlesungen/adv_prog/ws12/tutorials/worksheet_10.pdf Worksheet 10] | |||
| t.b.a. | | t.b.a. | ||
| | | | ||
Line 120: | Line 138: | ||
| | | | ||
| January 28-February 1, 2013 | | January 28-February 1, 2013 | ||
| C++11 | | C++11 | ||
| | | [http://www5.in.tum.de/lehre/vorlesungen/adv_prog/ws12/tutorials/cpp11.pdf Applied C++11] | ||
| t.b.a. | |||
| t.b.a. | | t.b.a. | ||
| | | | ||
Line 128: | Line 147: | ||
| February 4-8, 2013 | | February 4-8, 2013 | ||
| Recap | | Recap | ||
| Recap | | Recap | ||
| Recap | |||
| REcap | |||
| | | | ||
|- | |- | ||
Line 163: | Line 183: | ||
Basic programming skills are recommended. | Basic programming skills are recommended. | ||
= Exam = | |||
Exam duration: 90 min. | |||
Helping material: Any hand written or printed material (no electronic devices) may be used during the exam. | |||
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. | |||
Inspect exam: Exams can be inspected on Monday, March 11, 2013, at room MI 02.05.041 from 14:00-16:00. | |||
Inspect repeat exam: Exams can be inspected on Monday, August 09, 2013, at room MI 02.05.041 from 10:00-12:00. | |||
Exam: [[File:Exam.pdf]] | |||
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 = | ||
* | These links provide further information on particular topics. For literature, please consult the modul description [http://drehscheibe.in.tum.de/myintum/kurs_verwaltung/cm.html?id=IN1503 IN1503] of the course. | ||
* | |||
* | * [http://homepages.gac.edu/~mc38/2001J/documentation/g++.html Using g++] | ||
* [http://www.cprogramming.com/tutorial/c-vs-c++.html Difference between C and C++ (at least some of them)] | |||
* [http://www.stack.nl/~dimitri/doxygen/ Doxygen] | |||
* [http://www.doxys.dk Doxys] | |||
* [http://en.wikipedia.org/wiki/The_Art_of_Computer_Programming The Art of Computer Programming] | |||
* [http://docs.sun.com/source/806-3568/ncg_goldberg.html What Every Computer Scientist Should Know About Floating-Point Arithmetic] | |||
* [http://www.netzmafia.de/skripten/ad/ad13.html Remarks on C (German)] | |||
* [http://www.eclipse.org/cdt Eclipse with C/C++ Development Tooling] |
Latest revision as of 15:28, 2 August 2013
- Term
- Winter 12
- Lecturer
- Dr. rer. nat. Tobias Weinzierl
- Time and Place
- Lecture: see TUMOnline
- Audience
- Computational Science and Engineering, first semester (module IN1503)
- Tutorials
- Kaveh Rahnema, M.Sc. , Dipl.-Inf. Martin Schreiber
- Exam
- see below and TUMOnline for announcement and registration
- Semesterwochenstunden / ECTS Credits
- 4 SWS (2V+2Ü) / 5 Credits
- TUMonline
- Lecture
- Tutorials
News
- Date and deep link to TUMOnline for the repetition exam are online.
- Starting from November 13, 2012, the lecture takes place in the Interimshörsaal 2 (black building next to the Computer Science building).
- Inspect exam: Exams can be inspected on Monday, March 11, 2013, at room MI 02.05.041 from 14:00-16:00.
- Inspect repeat exam: Exams can be inspected on Monday, August 09, 2013, at room MI 02.05.041 from 10:00-12:00.
Lecture Slides & Tutorial
The tutorial offers weekly programming exercises in C++. They are inspired by common problems from scientific computing. Besides the tutorials, programming consulting is offered.
Nr. | Week | Lecture | Hands-on report | Exercise | Exercise Material | Note |
---|---|---|---|---|---|---|
October 15-19, 2012 | No tutorials, no lecture due to CSE introductory week | |||||
October 22-26, 2012 | Introduction, variables, identifiers & expressions | No tutorials, only lecture | ||||
October 29-November 2, 2012 | History of computer architectures & the C programming language | Worksheet 1 | Source 1 | No lecture due to Allerheiligen/Allerseelen | ||
November 5-9, 2012 | Control structures, branches & scopes | IDEs & Debugging | Worksheet 2 | Source 2 | ||
November 12-16, 2012 | Functions & functional programming | Unit tests & test paradigms | Worksheet 3 | Source 3 | Changed lecture room for the subsequent weeks | |
November 19-23, 2012 | Applicative programming & source code organisation | The build process: makefiles and beyond | Worksheet 4 | t.b.a. | Lecture moved to 02.09.014 on short note | |
November 26-30, 2012 | Pointers, structs & arrays 1 | Memory architectures & function pointers in C | Worksheet 5 | Source 5 | Changed lecture room for the subsequent weeks (back to Medienraum) | |
December 3-7, 2012 | Pointers, structs & arrays 2 | BLAS, SSE, and low-level math routines | Worksheet 6 | --- | ||
December 10-14, 2012 | Recap session | Performance analysis | Worksheet 7 | --- | ||
December 17-21, 2012 | Object-based programming | OpenMP | Worksheet 8 | t.b.a. | ||
January 7-11, 2013 | Object-oriented programming | TBB | Recap | t.b.a. | ||
January 14-18, 2013 | t.b.a. | MPI | Worksheet 9 | t.b.a. | ||
January 21-25, 2013 | t.b.a. | Design patterns | Worksheet 10 | t.b.a. | ||
January 28-February 1, 2013 | C++11 | Applied C++11 | t.b.a. | t.b.a. | ||
February 4-8, 2013 | Recap | Recap | Recap | REcap |
Slides, information on lecture rooms, schedules, exam registrations, and so forth are available at TUMOnline.
Tutorials
Nr. | Weekday | Time | Room | Tutors |
---|---|---|---|---|
1 | Tuesday | 4:30 pm | 02.07.023 | Arash Bakhtiari <bakhtiar AT in DOT tum DOT de>, Dmitry Pinaev <pinaev AT in DOT tum DOT de> |
2 | Friday | 8:30 am | 02.07.023 | Carlos Pachajoa <cpachaj AT gmail DOT com>, Marco Seravalli <marco DOT seravalli AT tum DOT de> |
Prerequisites
Basic programming skills are recommended.
Exam
Exam duration: 90 min.
Helping material: Any hand written or printed material (no electronic devices) may be used during the exam.
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.
Inspect exam: Exams can be inspected on Monday, March 11, 2013, at room MI 02.05.041 from 14:00-16:00.
Inspect repeat exam: Exams can be inspected on Monday, August 09, 2013, at room MI 02.05.041 from 10:00-12:00.
Exam: File:Exam.pdf
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 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
These links provide further information on particular topics. For literature, please consult the modul description IN1503 of the course.