Difference between revisions of "Advanced Programming - Winter 12"

From Sccswiki
Jump to navigation Jump to search
m
 
(51 intermediate revisions by 3 users not shown)
Line 2: Line 2:
 
| term = Winter 12
 
| term = Winter 12
 
| lecturer = [[Dr. rer. nat. Tobias Weinzierl]]
 
| lecturer = [[Dr. rer. nat. Tobias Weinzierl]]
| timeplace = Lecture: T.B.A.
+
| timeplace = Lecture: see TUMOnline
 
| tutorials = [[Kaveh Rahnema, M.Sc.]] , [[Dipl.-Inf. Martin Schreiber]]
 
| tutorials = [[Kaveh Rahnema, M.Sc.]] , [[Dipl.-Inf. Martin Schreiber]]
 
| 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 = T.B.A.
+
| 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 44: Line 51:
 
| October 29-November 2, 2012
 
| October 29-November 2, 2012
 
|  
 
|  
| 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]
| t.b.a.
+
| [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]
| t.b.a.
+
| [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]
| t.b.a.
+
| [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]
| Lecture on November 22 takes place in room MI 02.09.014.
+
| [http://www5.in.tum.de/lehre/vorlesungen/adv_prog/ws12/tutorials/worksheet_4.pdf Worksheet 4]
|
+
| t.b.a.
 +
| 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
| t.b.a.
+
| [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
| Performance analysis
+
| [http://www5.in.tum.de/lehre/vorlesungen/adv_prog/ws12/tutorials/tutorial_presentation_6.pdf BLAS, SSE, and low-level math routines]
| t.b.a.
+
| [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
| BLAS, SSE, and low-level math routines
+
| [http://www5.in.tum.de/lehre/vorlesungen/adv_prog/ws12/tutorials/tutorial_presentation_7.pdf Performance analysis]
| t.b.a.
+
| [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 & TBB
+
| [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
| t.b.a.
+
| [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.
| 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.
| 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
| History of C++ & related programming languages
+
| [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 135: Line 155:
  
  
'''Time and place'''
+
Slides, information on lecture rooms, schedules, exam registrations, and so forth are available at TUMOnline.
 
 
Room: T.B.A.
 
  
 +
= Tutorials =
  
 +
{| class="wikitable"
 +
|-
 +
! '''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 =
 
= Prerequisites =
 
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 =
<!--
+
 
* Paul and Harvey Deitel: Java - How to Program. Pearson, 8th edition (2010)
+
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.
* David J. Barnes and Michael Kölling: [http://www.bluej.org/objects-first/ Objects First with Java - A Practical Introduction using BlueJ], Prentice Hall/Pearson Education
+
 
* Tony Gaddis: Starting out with Java. Addison Wesley, 3rd edition (2008)
+
* [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 17: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.