Difference between revisions of "Kompaktkurs Einführung in die Programmierung - Summer 12"

From Sccswiki
Jump to navigation Jump to search
(Created page with '{{Lecture | term = Summer 12 | lecturer = Dr. rer. nat. Tobias Weinzierl | timeplace = März 2012 | credits = 4 SWS / 6 Credits | audience = Für die Mathematik-Studiengäng…')
 
m
 
(25 intermediate revisions by the same user not shown)
Line 2: Line 2:
 
| term = Summer 12
 
| term = Summer 12
 
| lecturer = [[Dr. rer. nat. Tobias Weinzierl]]
 
| lecturer = [[Dr. rer. nat. Tobias Weinzierl]]
| timeplace = März 2012
+
| timeplace = 19.3.2012 bis 3.4.2012 <br> Vorlesung gibt es Montags bis Freitags 9-12 Uhr im Interimshörsaal 2. <br> Am 2.4. findet die Vorlesung im Interimshörsaal 1 statt! <br> Tutorien gibt es Montags bis Freitags 14:00-15:30 Uhr in den jeweiligen Übungsräumen (siehe TumOnline).
 
| credits = 4 SWS / 6 Credits
 
| credits = 4 SWS / 6 Credits
 
| audience =  Für die Mathematik-Studiengänge ist das das "Praktikum Einführung in eine Programmiersprache" MA8001, vgl. Abschnitt A1.6 im  [http://www-sb.ma.tum.de/study/studplan/pdf/BSc_studplan_Math.pdf Studienplan] (bzw. für Studierende nach der alten Studienordnung die Veranstaltung "Einführung in die Programmierung").
 
| audience =  Für die Mathematik-Studiengänge ist das das "Praktikum Einführung in eine Programmiersprache" MA8001, vgl. Abschnitt A1.6 im  [http://www-sb.ma.tum.de/study/studplan/pdf/BSc_studplan_Math.pdf Studienplan] (bzw. für Studierende nach der alten Studienordnung die Veranstaltung "Einführung in die Programmierung").
 
:Hörer anderer Fachrichtungen, die C lernen wollen, sind ebenfalls willkommen!
 
:Hörer anderer Fachrichtungen, die C lernen wollen, sind ebenfalls willkommen!
| exam =  Klausur, am Freitag 25.3.2011, 13:30-14:45 Uhr im Hörsaal MW2001
+
| exam =  <span style="color:#ff0000">Klausureinsicht: Freitag 17.8.2012 von 10-12 Uhr im Raum 02.05.041</span>
| tutorials = [[Matous Sedlacek]]
+
| tutorials = [[Matous Sedlacek]], Alexander Schiendorfer, Vladislav Lisitsyn, Jaclyn Rodrigues Monteiro
 
: Der wesentliche Teil dieses Kurses besteht darin, die Übungsaufgaben zu bearbeiten, d.h., die dort verlangten Programme in der Regel erst mit Papier und Bleistift zu entwerfen und dann zu implementieren.
 
: Der wesentliche Teil dieses Kurses besteht darin, die Übungsaufgaben zu bearbeiten, d.h., die dort verlangten Programme in der Regel erst mit Papier und Bleistift zu entwerfen und dann zu implementieren.
: Zur Unterstützung gibt es an den Vorlesungstagen eine
+
: Zur Unterstützung gibt es an den Vorlesungstagen Tutorien zu denen Sie sich über TumOnline anmelden können.
:* ''Programmierberatung'' t.b.a.
 
:* ''Vorstellung der aktuellen Lösung'' t.b.a
 
 
}}
 
}}
  
= <span style="color:#ff0000">NEWS </span> =
+
= NEWS =
 +
 
 +
# '''Zeitraum:''' Der Blockkurs findet vom 19.3.2012 bis 3.4.2012 statt.
 +
# '''Klausur:''' Findet am 18.4.2012 statt. Siehe unten.
 +
# '''Vorlesung:''' Montags bis Freitags 9-12 Uhr im Interimshörsaal 2.
 +
# '''Tutorien:''' Montags bis Freitags 14:00-15:30 Uhr in den jeweiligen Übungsräumen (siehe TumOnline).
 +
# '''Ausnahmeregelung am 21.3.2012:''' Die Übungen finden an diesem Tag jeweils in einem anderen Übungsraum statt! (siehe TumOnline bzw. vorab Information im jeweiligen Tutorium). Zeitpunkt aber gleich! Vorlesung findet an diesem Tag im üblichen Interimshörsaal 2 statt!
 +
# '''Ausnahmeregelung am 2.4.2012:''' Vorlesung findet an diesem Tag (Montag) im <br> Interimshörsaal 1 statt! Zeitpunkt aber gleich. An diesem Tag finden die Tutorien in den üblichen Räumlichkeiten statt!
 +
# ''' Klausureinsicht''': Mittwoch 23.5.2012 von 10-12 Uhr im Raum 02.05.041.
 +
# ''' Wiederholungsklausur''': Freitag 13.7.2012 von 14:30-15:45 Uhr im Interim HS 1 (siehe unten).
 +
# <span style="color:#ff0000">''' Klausureinsicht''': Freitag 17.8.2012 von 10-12 Uhr im Raum 02.05.041 (siehe unten). </span>
  
t.b.a.
 
  
 
= Anmeldung =
 
= Anmeldung =
  
t.b.a.
+
Es ist NUR eine Anmeldung zur Klausur und zu den Übungen nötig!
 +
Anmeldung zur Klausur wird vom 19.3.2012-3.4.2012 über TumOnline möglich sein.
 +
Die Anmeldung zu den Tutorien ist allgemein ab jetzt möglich.
  
 
= Vorbereitung =  
 
= Vorbereitung =  
Zur Vorbereitung auf den Kurs kann ein Ausdruck der Folien dienen (siehe unten). Zusätzlich ist es hilfreich sich vorab mit den technischen Dingen vertraut zu machen. Dies hängt davon ab, wo man die Programmieraufgaben lösen möchte:
 
* Wenn man in der SUN-Halle arbeitet, sollte man dort mit den Grundfunktionen vertraut sein (Textdateien bearbeiten, WWW-Browser)
 
* Wenn man auf seinem eigenen Rechner arbeiten will, kann man sich um einen C-Übersetzer kümmern (Funktion im Moment unwichtig, installieren kann man ihn auch so). Für Windows-Systeme sind drei (von vielen) kostenlosen Möglichkeiten [http://www.bloodshed.net/dev/ Dev-C++] (mit schöner bunter Benutzeroberfläche) und [http://www.cygwin.com/ Cygwin] bzw. [http://www.mingw.org/ MinGW] (enthalten beide einen kommandozeilenbasierten C-Übersetzer).
 
* Hinweis für Windows Benutzer: Alternative zum üblichen "Editor" unter Windows, der manchmal Zeilenumbrüche von (unter Unix/Linux erstellten) Textdateien nicht korrekt wiedergibt, ist die "WordPad-MFC-Anwendung" die damit keine Probleme haben sollte.
 
* '''Übersetzung und Ausführung von Programmen.''' Als Beispielprogramm kann das Programm [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss11/01Einfuehrung/prog0.cpp prog0.cpp] dienen.
 
** ''Anleitung für die Sunhalle''<br/> Vorausgesetzt wird, dass man sich soweit auskennt, dass man einen Webbrowser offen hat sowie ein Terminalfenster, um gleich die folgenden Kommandos eingeben zu können (am Anfang befinden wir uns dazu am besten in unserem Homeverzeichnis)
 
*** Ein neues Verzeichnis anlegen: <tt>mkdir EiPro</tt>
 
*** in dieses Verzeichnis wechseln: <tt>cd EiPro</tt>
 
*** Mittels des Browsers das Programm prog0.cpp in das neue Verzeichnis speichern
 
*** Wieder im Terminalfenster: Inhalt des Verzeichnisses anzeigen lassen: <tt>ls</tt> <br/>(sollte "prog0.cpp" ausgeben)
 
*** Übersetzen: <tt>g++ prog0.cpp</tt>
 
*** Inhalt des Verzeichnisses anzeigen lassen: <tt>ls</tt><br/>(sollte "a.out" und "prog0.cpp" ausgeben)
 
*** Programm ausführen: <tt>./a.out</tt><br/>(sollte a: 37, b: 41, c: -4, d : 6, e: 156 ausgeben)
 
*** Programm bearbeiten: <tt>nedit prog0.cpp &</tt><br/> Z.B. aus 37 eine andere Zahl machen, abspeichern, übersetzen, ausführen,...
 
** ''Auf dem heimischen Rechner'' <br/> Hier nur ein paar kurze Hinweise für die Benutzer von Windows & Dev-C++:
 
*** Das Programm kann man mit Dev-C++ öffnen (File -> Open Project or File), bearbeiten und übersetzen (Execute -> Compile), das ausführbare Programm heißt hier in der Voreinstellung nicht a.out, sondern so wie der Quelltext, in unserm Fall also prog0.exe
 
*** Zum Ausführen ist ein Terminalfenster (Windows-Sprechweise: Eingabeaufforderung) hilfreich (wenn man das Programm innerhalb von Dev-C++ ausführt, verschwindet die Ausgabe, bevor man sie lesen kann...)<br />Das Navigieren in's richtige Verzeichnis mittels <tt>cd</tt> kann hier etwas komplizierter sein, je nachdem, in welchem Verzeichnis man am Anfang landet. Den Inhalt eines Verzeichnisses sehen wir hier mit <tt>dir</tt>; wenn wir im richtigen Verzeichnis sind, wird das Programm einfach mittels <tt>prog0</tt> ausgeführt.
 
*** Es ist jedoch einfacher, im Programm vor der schließenden geschweiften Klammer noch eine Zeile <code>std::cin.get();</code> einzufügen, dann wartet das Programm an dieser Stelle, bis man die Enter-Taste drückt und man kann das Programm auch innerhalb von Dev-C++ ausführen (Execute -> Run).
 
* '''Speicherlecks: Tools für die Überprüfung korrekter Freigabe des Freispeichers:'''
 
** ''Unter Linux:'' z.B. valgrind http://valgrind.org/
 
** ''Unter Windows (Tools nicht getestet):'' z.B.
 
*** für Visual C++ den Visual Leak Detector http://www.codeproject.com/KB/applications/visualleakdetector.aspx
 
*** mpatrol http://sourceforge.net/projects/mpatrol/
 
*** mem http://c.snippets.org/browser.php?sect=37#37
 
  
= Vorlesungs- und Übungsmaterial =
+
Es hilfreich sich vorab mit den technischen Dingen vertraut zu machen. Dies hängt davon ab, wo man die Programmieraufgaben lösen möchte. Siehe dazu detaillierte Beschreibung auf dem ersten Übungsblatt.
 +
 
 +
'''Speicherlecks: Tools für die Überprüfung korrekter Freigabe des Freispeichers:'''
 +
* ''Unter Linux:'' z.B. valgrind http://valgrind.org/
 +
* ''Unter Windows (Tools nicht getestet):'' z.B.
 +
** für Visual C++ den Visual Leak Detector http://www.codeproject.com/KB/applications/visualleakdetector.aspx
 +
** mpatrol http://sourceforge.net/projects/mpatrol/
 +
** mem http://c.snippets.org/browser.php?sect=37#37
 +
 
 +
= Übungsmaterial =
 +
 
 +
Vorlesungsfolien sind in TumOnline zugänglich!
 +
 
 +
{| class="wikitable"
 +
|-
 +
| '''Tag''' || '''Übungen und Programmschablonen''' || '''Lösungsvorschläge zu den Übungsaufgaben'''
 +
|-
 +
| '''Montag <br> 19.03.12''' || [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/01Einfuehrung/blatt1/blatt1.pdf blatt1.pdf] <br> [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/01Einfuehrung/code/prog0.cpp prog0.cpp] || [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/01Einfuehrung/blatt1/blatt1_lsg.pdf blatt1_lsg.pdf] <br> [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/01Einfuehrung/code/arith.cpp arith.cpp] <br> [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/01Einfuehrung/code/hello.cpp hello.cpp]
 +
|-
 +
| '''Dienstag <br> 20.03.12''' || [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/02Ausgabe/blatt2/blatt2.pdf blatt2.pdf] <br> [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/02Ausgabe/code/blatt2.cpp blatt2.cpp] <br> [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/02Ausgabe/code/drucken.cpp drucken.cpp] <br> [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/02Ausgabe/code/pi_seriell.cpp pi_seriell.cpp] || [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/02Ausgabe/code/blatt2_lsg.cpp blatt2_lsg.cpp] <br> [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/02Ausgabe/code/drucken_lsg.cpp drucken_lsg.cpp]
 +
|-
 +
| '''Mittwoch <br> 21.03.12''' || [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/03Ausdruecke/blatt3/blatt3.pdf blatt3.pdf] <br> [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/03Ausdruecke/code/collatz.cpp collatz.cpp] || [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/03Ausdruecke/code/ausdruecke.cpp ausdruecke.cpp] <br> [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/03Ausdruecke/code/collatz_lsg.cpp collatz_lsg.cpp] <br> [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/03Ausdruecke/code/foo.cpp foo.cpp] <br> [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/03Ausdruecke/code/lsg.txt lsg.txt]
 +
|-
 +
| '''Donnerstag <br> 22.03.12''' || [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/04Schleifen/blatt4/blatt4.pdf blatt4.pdf] <br> [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/04Schleifen/code/max.cpp max.cpp] <br> [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/04Schleifen/code/fp_table.cpp fp_table.cpp] <br> <br> Für C++ Programmierer in Aufgabe 4) zur Benutzung von sqrt(): "#include <cmath>" <br> <br> Für Verwendung von std::setprecision() muss der Header "#include <iomanip>" eingebunden sein.  || [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/04Schleifen/code/blatt2_lsg_while.cpp blatt2_lsg_while.cpp] <br> [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/04Schleifen/code/fp_table_lsg.cpp fp_table_lsg.cpp] <br> [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/04Schleifen/code/max_fak.cpp max_fak.cpp] <br> [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/04Schleifen/code/wurzel.cpp wurzel.cpp]
 +
|-
 +
| '''Freitag <br> 23.03.12''' || [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/05Funktionen/blatt5/blatt5.pdf blatt5.pdf] || [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/05Funktionen/code/primzahl.cpp primzahl.cpp] <br> [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/05Funktionen/code/tannenwald.cpp tannenwald.cpp] <br> [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/05Funktionen/code/ggT.cpp ggT.cpp]
 +
|-
 +
| '''Montag <br> 26.03.12''' || [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/06Zeiger/blatt6/blatt6.pdf blatt6.pdf] ||  [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/06Zeiger/code/zeiger.cpp zeiger.cpp] <br>  [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/06Zeiger/code/zeiger1_lsg.txt zeiger1_lsg.txt] <br> [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/06Zeiger/code/zeiger2.cpp zeiger2.cpp] <br> [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/06Zeiger/code/zeiger2_lsg.txt zeiger2_lsg.txt] <br> [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/06Zeiger/code/bezout.cpp bezout.cpp]
 +
|-
 +
| '''Dienstag <br> 27.03.12''' || [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/07Felder/blatt7/blatt7.pdf blatt7.pdf] || [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/07Felder/code/felder.cpp felder.cpp] <br> [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/07Felder/code/lsg.txt lsg.txt] <br> [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/07Felder/code/norm.cpp  norm.cpp] <br> [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/07Felder/code/palindrom.cpp palindrom.cpp] <br>  [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/07Felder/code/bubblesort.cpp bubblesort.cpp]
 +
|-
 +
| '''Mittwoch <br> 28.03.13''' || [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/08Strukturtypen/blatt8/blatt8.pdf blatt8.pdf] || [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/08Strukturtypen/code/struct_bsp.cpp struct_bsp.cpp] <br> [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/08Strukturtypen/code/lsg.txt lsg.txt] <br> [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/08Strukturtypen/code/copy.cpp copy.cpp] <br> [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/08Strukturtypen/code/matrix.cpp matrix.cpp]
 +
|-
 +
| '''Donnerstag <br> 29.03.12''' || [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/09Listen/blatt9/blatt9.pdf blatt9.pdf] || [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/09Listen/code/listezeiger.cpp listezeiger.cpp] <br> [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/09Listen/code/liste.cpp liste.cpp]
 +
|-
 +
| '''Freitag <br> 30.03.12''' || [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/10Baeume/blatt10/blatt10.pdf blatt10.pdf] <br> [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/10Baeume/Baeume.pdf Baeume.pdf]  || [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/10Baeume/code/binbaum.cpp binbaum.cpp]
 +
|-
 +
| '''Montag <br> 02.04.12''' || [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/11Vermischtes1/blatt11/blatt11.pdf blatt11.pdf] <br> [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/11Vermischtes1/code/schnittpunkt.cpp schnittpunkt.cpp]  || [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/11Vermischtes1/code/zeit.cpp zeit.cpp] <br> [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/11Vermischtes1/code/for.cpp for.cpp] <br> [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/11Vermischtes1/code/ziffern.cpp ziffern.cpp] <br> [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/11Vermischtes1/code/collatz.cpp collatz.cpp] <br> [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/11Vermischtes1/code/schnittpunkt_lsg.cpp schnittpunkt_lsg.cpp]
 +
|-
 +
| '''Dienstag <br> 03.04.12''' || [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/12Vermischtes2/blatt12/blatt12.pdf blatt12.pdf] || [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/12Vermischtes2/code/concat.cpp concat.cpp] <br> [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/12Vermischtes2/code/catalan.cpp catalan.cpp] <br> [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/12Vermischtes2/code/ausgabe.cpp ausgabe.cpp] <br> [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss12/12Vermischtes2/code/liste.cpp liste.cpp]
 +
|}
  
coming soon...
 
  
 
= Klausur =
 
= Klausur =
  
t.b.a.
+
* '''Datum:''' Mittwoch, 18.4.2012
 +
* '''Uhrzeit:''' 18:30-19:45 Uhr (75 Min.)
 +
* '''Ort:''' Hörsaal MW2001 (Fakultät für Maschinenbau)
 +
* '''Registrierung:''' Über TumOnline im Zeitfenster 19.3.2012-10.4.2012.
 +
* '''Erlaubte Hilfsmittel:''' Es ist ALLES außer elektronische Geräte als Hilfsmittel erlaubt!
 +
* ''' Klausureinsicht''': Mittwoch 23.5.2012 von 10-12 Uhr im Raum 02.05.041.
 +
 
 +
 
 +
= <span style="color:#ff0000"> Wiederholungsklausur</span> =
 +
 
 +
* '''Datum:''' Freitag 13.7.2012
 +
* '''Uhrzeit:''' 14:30-15:45 Uhr (75 Min.)
 +
* '''Ort:''' Interim HS 1
 +
* '''Registrierung:''' Über TumOnline.
 +
* '''Erlaubte Hilfsmittel:''' Es ist ALLES außer elektronische Geräte als Hilfsmittel erlaubt!
 +
* '''<span style="color:#ff0000">Klausureinsicht:''' Freitag 17.8.2012 von 10:00-12:00 im Raum 02.05.041</span>.
  
  
 
= Alte Klausuren =
 
= Alte Klausuren =
 +
* 2011: [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss11/Klausur/eipro11_ohne.pdf ohne] Lösung
 
* 2010: [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss10/Klausur/eipro10_ohne.pdf ohne] Lösung
 
* 2010: [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss10/Klausur/eipro10_ohne.pdf ohne] Lösung
 
* 2009: [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss09/eipro09_ohne.pdf ohne] Lösung
 
* 2009: [http://www5.in.tum.de/lehre/vorlesungen/eipro2/ss09/eipro09_ohne.pdf ohne] Lösung

Latest revision as of 09:58, 23 July 2012

Term
Summer 12
Lecturer
Dr. rer. nat. Tobias Weinzierl
Time and Place
19.3.2012 bis 3.4.2012
Vorlesung gibt es Montags bis Freitags 9-12 Uhr im Interimshörsaal 2.
Am 2.4. findet die Vorlesung im Interimshörsaal 1 statt!
Tutorien gibt es Montags bis Freitags 14:00-15:30 Uhr in den jeweiligen Übungsräumen (siehe TumOnline).
Audience
Für die Mathematik-Studiengänge ist das das "Praktikum Einführung in eine Programmiersprache" MA8001, vgl. Abschnitt A1.6 im Studienplan (bzw. für Studierende nach der alten Studienordnung die Veranstaltung "Einführung in die Programmierung").
Hörer anderer Fachrichtungen, die C lernen wollen, sind ebenfalls willkommen!
Tutorials
Matous Sedlacek, Alexander Schiendorfer, Vladislav Lisitsyn, Jaclyn Rodrigues Monteiro
Der wesentliche Teil dieses Kurses besteht darin, die Übungsaufgaben zu bearbeiten, d.h., die dort verlangten Programme in der Regel erst mit Papier und Bleistift zu entwerfen und dann zu implementieren.
Zur Unterstützung gibt es an den Vorlesungstagen Tutorien zu denen Sie sich über TumOnline anmelden können.
Exam
Klausureinsicht: Freitag 17.8.2012 von 10-12 Uhr im Raum 02.05.041
Semesterwochenstunden / ECTS Credits
4 SWS / 6 Credits
TUMonline
{{{tumonline}}}



NEWS

  1. Zeitraum: Der Blockkurs findet vom 19.3.2012 bis 3.4.2012 statt.
  2. Klausur: Findet am 18.4.2012 statt. Siehe unten.
  3. Vorlesung: Montags bis Freitags 9-12 Uhr im Interimshörsaal 2.
  4. Tutorien: Montags bis Freitags 14:00-15:30 Uhr in den jeweiligen Übungsräumen (siehe TumOnline).
  5. Ausnahmeregelung am 21.3.2012: Die Übungen finden an diesem Tag jeweils in einem anderen Übungsraum statt! (siehe TumOnline bzw. vorab Information im jeweiligen Tutorium). Zeitpunkt aber gleich! Vorlesung findet an diesem Tag im üblichen Interimshörsaal 2 statt!
  6. Ausnahmeregelung am 2.4.2012: Vorlesung findet an diesem Tag (Montag) im
    Interimshörsaal 1 statt! Zeitpunkt aber gleich. An diesem Tag finden die Tutorien in den üblichen Räumlichkeiten statt!
  7. Klausureinsicht: Mittwoch 23.5.2012 von 10-12 Uhr im Raum 02.05.041.
  8. Wiederholungsklausur: Freitag 13.7.2012 von 14:30-15:45 Uhr im Interim HS 1 (siehe unten).
  9. Klausureinsicht: Freitag 17.8.2012 von 10-12 Uhr im Raum 02.05.041 (siehe unten).


Anmeldung

Es ist NUR eine Anmeldung zur Klausur und zu den Übungen nötig! Anmeldung zur Klausur wird vom 19.3.2012-3.4.2012 über TumOnline möglich sein. Die Anmeldung zu den Tutorien ist allgemein ab jetzt möglich.

Vorbereitung

Es hilfreich sich vorab mit den technischen Dingen vertraut zu machen. Dies hängt davon ab, wo man die Programmieraufgaben lösen möchte. Siehe dazu detaillierte Beschreibung auf dem ersten Übungsblatt.

Speicherlecks: Tools für die Überprüfung korrekter Freigabe des Freispeichers:

Übungsmaterial

Vorlesungsfolien sind in TumOnline zugänglich!

Tag Übungen und Programmschablonen Lösungsvorschläge zu den Übungsaufgaben
Montag
19.03.12
blatt1.pdf
prog0.cpp
blatt1_lsg.pdf
arith.cpp
hello.cpp
Dienstag
20.03.12
blatt2.pdf
blatt2.cpp
drucken.cpp
pi_seriell.cpp
blatt2_lsg.cpp
drucken_lsg.cpp
Mittwoch
21.03.12
blatt3.pdf
collatz.cpp
ausdruecke.cpp
collatz_lsg.cpp
foo.cpp
lsg.txt
Donnerstag
22.03.12
blatt4.pdf
max.cpp
fp_table.cpp

Für C++ Programmierer in Aufgabe 4) zur Benutzung von sqrt(): "#include <cmath>"

Für Verwendung von std::setprecision() muss der Header "#include <iomanip>" eingebunden sein.
blatt2_lsg_while.cpp
fp_table_lsg.cpp
max_fak.cpp
wurzel.cpp
Freitag
23.03.12
blatt5.pdf primzahl.cpp
tannenwald.cpp
ggT.cpp
Montag
26.03.12
blatt6.pdf zeiger.cpp
zeiger1_lsg.txt
zeiger2.cpp
zeiger2_lsg.txt
bezout.cpp
Dienstag
27.03.12
blatt7.pdf felder.cpp
lsg.txt
norm.cpp
palindrom.cpp
bubblesort.cpp
Mittwoch
28.03.13
blatt8.pdf struct_bsp.cpp
lsg.txt
copy.cpp
matrix.cpp
Donnerstag
29.03.12
blatt9.pdf listezeiger.cpp
liste.cpp
Freitag
30.03.12
blatt10.pdf
Baeume.pdf
binbaum.cpp
Montag
02.04.12
blatt11.pdf
schnittpunkt.cpp
zeit.cpp
for.cpp
ziffern.cpp
collatz.cpp
schnittpunkt_lsg.cpp
Dienstag
03.04.12
blatt12.pdf concat.cpp
catalan.cpp
ausgabe.cpp
liste.cpp


Klausur

  • Datum: Mittwoch, 18.4.2012
  • Uhrzeit: 18:30-19:45 Uhr (75 Min.)
  • Ort: Hörsaal MW2001 (Fakultät für Maschinenbau)
  • Registrierung: Über TumOnline im Zeitfenster 19.3.2012-10.4.2012.
  • Erlaubte Hilfsmittel: Es ist ALLES außer elektronische Geräte als Hilfsmittel erlaubt!
  • Klausureinsicht: Mittwoch 23.5.2012 von 10-12 Uhr im Raum 02.05.041.


Wiederholungsklausur

  • Datum: Freitag 13.7.2012
  • Uhrzeit: 14:30-15:45 Uhr (75 Min.)
  • Ort: Interim HS 1
  • Registrierung: Über TumOnline.
  • Erlaubte Hilfsmittel: Es ist ALLES außer elektronische Geräte als Hilfsmittel erlaubt!
  • Klausureinsicht: Freitag 17.8.2012 von 10:00-12:00 im Raum 02.05.041.


Alte Klausuren

  • 2011: ohne Lösung
  • 2010: ohne Lösung
  • 2009: ohne Lösung
  • 2008: ohne Lösung
  • Wiederholungsklausur 2008: ohne Lösung
  • 2007: ohne Lösung
  • 2006: ohne Lösung