Ulrich Hohenester
 

Computergrundkenntnisse und Programmieren.


Einführung

Programmieren lernt man nur durch Programmieren. Indem man ausprobiert, Fehler macht und daraus lernt. Das ist das Programm für diese Vorlesung.

Programmieren ist ein wichtiger Bestandteil der Physik, sei es zum Berechnen von Integralen oder Lösen von Differentialgleichungen, zur Simulation komplexer physikalischer Vorgänge oder zur Messdaten- erfassung. Leider gibt es keine "universelle" Programmiersprache, mit der wir alles machen können. Im Gegenteil - es gibt eine Unmenge verschiedener Sprachen, die man jeweils für spezielle Anwendungen benutzt, und jeder schwört auf seine eigene Sprache.

In diesem Kurs werden wir C++ benutzen. Es ist eine weitverbreitete Sprache, die viele Elemente enthält, die für eine moderne Programmiersprache wichtig sind. Ob es die ideale Sprache ist? Ich weiß es nicht. Am Ende müssen Sie selbst entscheiden. Aber in den meisten Fällen gilt: wenn Sie eine Sprache beherrschen, dann sind die anderen nicht so viel schwieriger. Deshalb überlegen wir nicht allzu lange sondern fangen am besten gleich an  ...


Abhaltung der Lehrveranstaltung

Nach jeder Vorlesungsstunde erhalten Sie einen Übungszettel, den Sie dann bis zur nächsten Stunde abgeben sollen. Benützen Sie zum Abgeben die Lernplattform moodle.uni-graz.at, zu der Sie mit Ihrem uni-account Zugang haben. Schreiben Sie in jede Datei Ihren Namen und Ihre Matrikelnummer. Wenn Sie mehrere Programme haben, können Sie diese natürlich auch zippen.

In der Vorlesung werden wir jeweils den Stoff, den Sie für die Aufgaben benötigen, diskutieren. Der Besuch der Vorlesung ist nicht verpflichtend, für Studierende, die noch keine Erfahrung mit Programmiersprachen haben, jedoch sicher empfehlenswert.

Studierende, die keinen eigenen Computer besitzen, können den Computerraum im Keller des Physikgebäudes benutzen. Den Zugangscode sowie Details zur Benutzung der Computer erhalten Sie von mir persönlich.


Nützliche Informationen

   Ein älterer Kurs von mir über "Programmieren in C und C++"
   Eine kurze Einführung in LINUX (UNIX)
   
Darstellen von xy-Daten, die in einer Datei gespeichert sind

Übungsblätter und Programme

Datum
Übungsaufgabe
Lösungsvorschlag
Programmbeispiele
03.10.2012 Aufgabe01 hellow.cpp  hellow2.cpp  kurs01a.cpp
10.10.2012 Aufgabe02 aufgabe02_2.cpp   aufgabe02_4.cpp
aufgabe02_5.cpp 
kurs02a.cpp  kurs02b.cpp  
kurs02c.cpp  
kurs02d.cpp
17.10.2012 Aufgabe03 kurs03a.cpp  kurs03b.cpp  kurs03c.cpp 
24.10.2012 Aufgabe04 aufgabe04_1.cpp   aufgabe04_2.cpp
aufgabe04_3.cpp
kurs04a.cpp  kurs04b.cpp  
Project.dev
 
kurs04c.cpp  array.cpp  array.h
31.10.2012 Aufgabe05 kurs05a.cpp  kurs05b.cpp  
07.11.2012 Aufgabe06  aufgabe06_1.cpp aufgabe06_1b.cpp   aufgabe06_2.cpp
aufgabe06_3.cpp 
kurs06a.cpp  kurs06b.cpp  kurs06c.cpp 
14.11.2012 Aufgabe07 kurs07a.cpp  kurs07b.cpp  kurs07c.cpp 
21.11.2012 Aufgabe08 kurs08a.cpp  kurs08b.cpp  
28.11.2012 Aufgabe09 kurs09a.cpp  kurs09b.cpp  
05.12.2012 Aufgabe10 kurs10a.cpp  kurs10b.cpp  kurs10c.cpp 
12.12.2012 kurs11a.cpp  kurs11b.cpp  
09.01.2013 Aufgabe12 kurs12a.cpp  kurs12b.cpp  
16.01.2013 Aufgabe13 kurs13a.cpp  kurs13b.cpp  kurs13c.cpp

Beurteilung

Anbei finden Sie eine Liste, in der die Benutung Ihrer bisherigen Leistungen angeführt ist.
  • OK bedeutet, dass Sie nach Abgabe der letzten Übung ein Sehr gut oder Gut erhalten
  • Gespräch oder "?" bedeutet, dass Sie sich zu einem kurzen Abschlussgespräch melden sollen, bei dem die bisher abgegebenen Programme kurz besprochen werden.
Eine Liste für Termine für das Abschlussgespräch liegt im Sekretariat für Theoretische Physik auf. Pro Termin können sich maximal 2 Studierende anmelden. Sollten Sie kein Gespräch bis spätestens Anfang März machen, so kann die Vorlesung nicht positiv beurteilt werden.


Nützliche Links

http://sf.net/projects/orwelldevcpp/ Open source compiler für Windows
http://gcc.gnu.org/ Gnu compiler collection
http://www.research.att.com/~bs/
Homepage vom C++ Erfinder Bjarne Stroustrup
http://gd.tuwien.ac.at/...  C++ Kurs an der TU Wien
http://physik.uni-graz.at/~crg/ Kursunterlage WS 2007/08 von Christof Gattringer
http://www.gnuplot.info/ Einfaches Programm für grafische Darstellungen
http://mindview.net/CDs/... Thinking in C e-lecture
http://mindview.net/Books/... Thinking in C++ Vols. 1 & 2