Applikationssoftware und Programmierung

Aus Physik
Zur Navigation springen Zur Suche springen

Vortragender: Winfried Kernbichler

Diese Seite ist schreibgeschützt, da sie wichtige Informationen für die Lehrveranstaltung beinhaltet. Beiträge von Studierenden und Besuchern sind auf Applikationssoftware - Beiträge und Matlab - Beiträge erwünscht.

Wichtige Nachrichten

  • Die erste Übung mit Abgabepflicht findet in der Woche vom 7. März 2005 statt.
  • Die Anwesenheit bei der ersten Lehrveranstaltung am Montag, den 28.2.2005 ist unbedingt erforderlich. Dabei werden die Accounts für den Computerraum vergeben.
  • Füllen sie vorher unser Anmeldeformular aus, dann erhalten sie von mir in der ersten Lehrveranstaltung das Password.
  • Bei den Übungen herrscht Anwesenheitspflicht. Bitte informieren sie sich über die Regeln die für diese Lehrveranstaltung gelten.
  • Die Anzahl der Teilnehmer pro Gruppe ist mit 15 beschränkt. Die Anzahl von vier Gruppen wird mit Sicherheit nicht erhöht es soll aber auch niemand von der Lehrveranstaltung ausgeschlossen sein. Mögliche Ausnahmen und die Abwicklungsmöglichkeit über Projektarbeiten sind weiter unten angeführt.

Inhalt der Lehrveranstaltung

Grundzüge des Programmierens unter Verwendung der Programmiersprache MATLAB.

Die Verwendung von Computern wurde, wie in vielen Bereichen des Lebens, auch in der Physik zu einem zentralen Bestandteil sowohl der Ausbildung als auch der Forschung. Die meisten Forschungsbereiche wären heute ohne die Verwendung von Computern und entsprechender Software gar nicht mehr denkbar. Das gilt sowohl für Experimente, deren Steuerung und Auswertung, als auch für die theoretische Behandlung von Problemen bzw. die numerische Simulation von Experimenten.

Die Lehrveranstaltung Applikationssoftware und Programmierung wurde im Studienplan der Studienrichtung Technische Physik daher bewußt an den Anfang des Studiums gestellt. Die Studierenden sollen dabei mit folgenden Bereichen konfrontiert werden:

  • Verwendung von Computern, wie sie im Bereich der Physik üblich ist.
  • Kennenlernen der Computerinfrastruktur für Studierende im Bereich der TU-Graz und speziell im Bereich der Physik.
  • Kennenlernen und Verwenden von Programmpaketen (Applikationen), die für das weitere Studium nützlich sind
    • Auswertung und Darstellung von Messungen
    • numerische Berechnungen
    • Visualisierung
    • Arbeiten mit Matlab
  • Informationsbeschaffung aus dem World Wide Web, aus lokalen Dokumentationen oder von ihren Kollegen.
  • Grundzüge des Programmierens.

Die Studierenden sollen daher von Anfang an die Möglichkeit erhalten, das für sie bereitgestellte System in vielen Bereichen ihres Studiums zu verwenden. Außerdem sollen sie auf eine Fülle aufbauender Lehrveranstaltungen bestmöglich vorbereitet sein.

Ziele

Die Ziele der Lehrveranstaltung liegen also

  • in der Vermittlung der GRUNDLAGEN des PROGRAMMIERENS
  • mit Hilfe der Programmiersprache MATLAB;
  • in der Entwicklung EIGENSTÄNDIGER LÖSUNGSKOMPETENZ
  • auch für KOMPLEXERE AUFGABEN (im weiteren Studienverlauf);
  • in der Vermittlung der Idee, dass es sich hier um eine CHANCE handelt Fähigkeiten zu lernen, die man in vielen beruflichen Bereichen verwenden kann, und nicht um eine QUAL, die man über sich ergehen lassen muss;
  • in der Vermittlung von Fähigkeiten, HILFE beim PROGRAMMIEREN aus unterschiedlichsten QUELLEN zu finden
  • und dabei ENGLISCH als wichtigste SPRACHE zu akzeptieren;
  • im Wunsch sowohl ANFÄNGER an das Programmieren heranzuführen, als auch FORTGESCHRITTENEN etwas zu bieten, was sie interessiert.

Das Ziel ist auch, dass zumindest 80 PROZENT den ABSCHLUSS am ENDE DES SOMMERSEMESTERS mit eher GUTEN NOTEN schaffen sollen und die restlichen Studierenden (zumindest die, die weiter hier studieren) die Prüfung im Oktober absolvieren.

Eigentlich möchte ich keinen Teilnehmer von heuer bei den Übungen im nächsten Jahr mit den gleichen Inhalten "quälen" müssen. Meine Bereitschaft dazu ist gegeben, es funktioniniert natürlich aber nur mit eurem nötigen Engagement. Daher reden sie auch (und vor allem) bei Problemen rechtzeitig mit mir.

Termine

Die Übungen finden im Computerraum Physik zu folgenden Zeiten statt

Übungszeiten
Gruppe Tag Beginn Ende Leiter
A Montag 16:15 17:45 Kernbichler
B Montag 18:00 19:30 Kernbichler
C Mittwoch 08:30 10:00 Kernbichler
D Mittwoch 14:15 15:45 Kernbichler

Ein Wechsel zu anderen Gruppen ist nur nach Absprache mit mir möglich.

Übungen

Die erste Übungseinheit findet in der Woche ab dem 28. Februar statt. Sie dient nur dem Kennenlernen des Computersystems und dem Sammeln von ersten Erfahrungen mit Matlab. Für diese Übungseinheit ist keine Abgabe von Beispielen notwendig, es herrscht aber Anwesenheitspflicht. Probieren sie Matlab aus, starten sie die Hilfe und den Editor und machen sie sich mit dem System vertraut.

Erste Schritte für die Computerbenutzung sollten den Einstieg erleichtern.

Übungen mit Abgabeverpflichtung

Die zu erstellenden Files müssen mit dem exakt richtigen Namen abgegeben werden. Zur Abgabe bzw. zur Information über den Status ihrer Übungen gibt es die Skripts,

uebungsabgabe file1 file2 ...
uebungsstatus 

welche im Terminal aufgerufen werden. Benötigt man in gewissen Übungen Daten, erhält man diese mit folgendem Skript:

uebungsdaten

Passen sie auf, dass sie sich im richtigen Verzeichnis befinden, wenn sie das Skript aufrufen, sonst können die Files nicht gefunden werden. In Matlab kann man die Skripts mit vorangestelltem Rufzeichen auch aufrufen:

!uebungsabgabe file1 file2 ...
!uebungsstatus 
!uebungsdaten


Mathematische Funktionen
Übung vom 7. März / 9. März 2005 - Abgabe bis spätestens 21. März / 23. März 2005
Skriptum (pdf) -> Übungsbeispiele (bevorzugt)
Skriptum (html) (bei schlechter Verbindung)
Reguläre Polyeder, Kegelschnitte
Übung vom 14. März / 16. März 2005 - Abgabe bis spätestens 28. März / 30. März 2005
Skriptum (pdf) -> Übungsbeispiele (bevorzugt)
Skriptum (html) (bei schlechter Verbindung)
Spiralen, Schwebung, Gaußverteilung
Übung vom 11. April / 13. April 2005 - Abgabe bis spätestens 25. April / 27. April 2005
Skriptum (pdf) -> Übungsbeispiele (bevorzugt)
Skriptum (html) (bei schlechter Verbindung)
Felder
Übung vom 18. April / 20. April 2005 - Abgabe bis spätestens 2. Mai / 4. Mai 2005
Skriptum (pdf) -> Übungsbeispiele (bevorzugt)
Skriptum (html) (bei schlechter Verbindung)
Logische Indizierung
Übung vom 25.April / 27. April 2005 - Abgabe bis spätestens 9. Mai / 11. Mai 2005
Skriptum (pdf) -> Übungsbeispiele (bevorzugt)
Skriptum (html) (bei schlechter Verbindung)
Berechnung von Reihen und Konvergenzverhalten
Übung vom 2. Mai/ 4. Mai 2005 - Abgabe bis spätestens 16. Mai / 18. Mai 2005
Skriptum (pdf) -> Übungsbeispiele (bevorzugt)
Skriptum (html) (bei schlechter Verbindung)
Kurvendiskussion
Übung vom 9. Mai/ 11. Mai 2005 - Abgabe bis spätestens 23. Mai / 25. Mai 2005
Skriptum (pdf) -> Übungsbeispiele (bevorzugt)
Skriptum (html) (bei schlechter Verbindung)
Darstellung von Daten
Übung vom 23. Mai/ 25. Mai 2005 - Abgabe bis spätestens 6. Juni / 8. Juni 2005
Skriptum (pdf) -> Übungsbeispiele (bevorzugt)
Skriptum (html) (bei schlechter Verbindung)
Lineare Gleichungssysteme
Übung vom 30. Mai/ 1. Juni 2005 - Abgabe bis spätestens 13. Juni / 15. Juni 2005
Skriptum (pdf) -> Übungsbeispiele (bevorzugt)
Skriptum (html) (bei schlechter Verbindung)
Lineares Fitten
Übung vom 6. Juni/ 8. Juni 2005 - Abgabe bis spätestens 20. Juni / 22. Juni 2005
Skriptum (pdf) -> Übungsbeispiele (bevorzugt)
Skriptum (html) (bei schlechter Verbindung)
Nichtlineares Fitten - ABGABE NICHT VERPFLICHTEND
Übung vom 13. Juni/ 15. Juni 2005 - Abgabe bis spätestens 20. Juni / 22. Juni 2005
Skriptum (pdf) -> Übungsbeispiele (bevorzugt)
Skriptum (html) (bei schlechter Verbindung)

Regeln

Die Anwesenheit bei den Übungen ist verpflichtend. Bei Verhinderung ist unbedingt eine begründete Entschuldigung per e-mail notwendig. Auch bei einem Fernbleiben von der Übung (aus welchem Grund auch immer) müssen die entsprechenden Beispiele termingerecht abgegeben werden. Falls es in Ausnahmefällen damit Probleme gibt, wenden Sie sich an mich um eine spezielle Vereinbarung zu treffen. Im Regelfall gibt es eine zweiwöchige Frist für die Abgabe der Beispiele.

Außer in Ausnahmefällen (siehe dazu auch Projektarbeiten) ist die Abgabe aller Übungsbeispiele notwendig um zur Abschlussprüfung antreten und damit die Lehrveranstaltung ordnungsgemäß beenden zu können.

Die Anwesenheit bei der Vorlesung ist natürlich nicht verplichtend. Ich möchte aber darauf hinweisen, dass die Übungsbeispiele in der Vorlesung sowohl vor- als auch nachbereitet werden. Damit ist ihre Durchführung um vieles leichter. Es gibt also eine starke Vernetzung von Vorlesung und Übung. Daher gibt es bei den Übungsterminen bis auf kleinere Anmerkungen keinen Vortrag von mir mehr.

Bei der jeweiligen Übung soll die Aufgabe dieser Übungseinheit (und nicht einer vorherigen) bearbeitet werden. In vielen Fällen wird die Zeit während der Übungseinheit nicht zur Fertigstellung reichen. Die Aufgabe muss dann im Normalfall innerhalb von zwei Wochen außerhalb der Übungseineiten fertiggestellt werden. Aus meiner Sicht ist dieser zusätzliche Aufwand gerechtfertigt, da die selbständige Erledigung aller Übungsbeispiele die perfekte Vorberereitung auf die Prüfung ist und daher vor der Prüfung keine lange Vorbereitungsphase mehr notwendig ist.

Nützen sie die Zeit während der Übung für Fragen. Erfahrungsgemäß haben diejenigen Studierenden die meisten Probleme die Lehrveranstaltung sinnvoll zu beenden, die aus welchen Gründen auch immer keine oder kaum Fragen stellen. Es ist kein Problem (und wid natürlich auch nicht negativ bewertet), wenn man etwas nicht verstanden hat und es sich nochmals (und nochmals) erklären lässt. Das wirkliche Problem tritt erst bei der Prüfung auf, wenn man vorher die ganze Zeit versucht die Mängel zu verstecken. Daher fragen sie mich, ihre Kollegen oder formulieren sie Fragen im Bereich Matlab - Beiträge. Dort können sie auch Fragen beantworten oder Kommentare zu Antworten abgeben. Auch dieser Bereich lebt und wächst mit ihrer Beteiligung.

Die Lösungen müssen selbständig erarbeitet werden. Natürlich kann es ihnen gelingen, Lösungen von Kollegen oder Kolleginen abzugeben und dann darauf zu hoffen, dass es von uns nicht bemerkt wird. Ob diese Vorgangsweise im Sinne der Prüfungsvorbereitung sinnvoll ist, bleibt ihnen zur Beurteilung überlassen. Es spricht aber natürlich nichts gegen Teamarbeit von der mehrere profitieren oder wo man clevere Lösungen von einem/einer anderen erfährt und dann selbst umsetzt. Der Schlüssel zum Erfolgt liegt hier darin, dann zu verstehen, was man wie und warum gemacht hat. Sinnvoll ist es auch die eigenen Überlegungen innerhalb des Programmes zu dokumentieren, da man die eigenen Beispiele alle während der Prüfung zur Verfügung hat. Tut man das nicht in sinnvoller Weise, kommt man rasch dahinter, wie schnell man den Sinn von Programmzeilen vergisst, die man selbst einmal geschrieben hat. Fügt man jedoch sinnvolle Komentare ein, kann man auch später noch viel aus alten Überlegungen lernen und man merkt auch, dass es relativ wenig Zeit kostet diese Kommentare zu schreiben.

Dokumentation

Das Skriptum zur Lehrveranstaltung und sonstige Unterlagen findet man unter:

Unterlagen
Link Typ Anmerkung
Skriptum pdf Druckfähige Version mit Hyperlinks
Skriptum html LaTex2html Version, leichte Darstellungsprobleme
Folien pdf Matlab Einführung
Folien pdf Landscape für Präsentation
Kapitel pdf Webseite mit weiteren Links zu den einzelnen Kapiteln

Die Übungsbeispiele und auch das Skriptum werden laufend den Bedürfnissen angepasst. Überzeugen sie sich daher vor dem jeweiligen Übungsbeginn, ob sich etwas geändert hat.

Anzahl der Teilnehmer

Die Anzahl der Teilnehmer pro Gruppe ist mit 15 beschränkt. Der Grund dafür ist die Anzahl der vorhandenen Computer. Falls es trotz der geplanten 4 Gruppen Probleme gibt, ersuche ich Studierende mit eigenen Laptops diese zu verwenden. Es stehen zwei Netzwerkzugänge (cat-5) bzw. das WLAN der TU Graz, das im Bereich unseres Computerraumes zur Verfügung steht.

Prüfung

Die Prüfung setzt sich aus einer Abschlussklausur, die aus einigen Programmieraufgaben besteht, und einem abschliesenden Prüfungsgespräch zusammen. Wegen der engen Verkopplung von Vorlesung und Übung findet auch de Prüfung über beide Teile so verkoppelt statt.

Die Programmieraufgaben bei der Prüfung schliesen thematisch an die Übungsaufgaben an. Dabei dürfen alle Unterlagen, Übungsbeispiele, Skripten und Webseiten verwendet werden. Währen der Prüfung verboten ist nur die Kommunikation untereinander und mit der Außenwelt.

Der sonst bei manchen Prüfungen bestehende Zeitdruck soll möglichst vermeiden werden. Daher stehen pro Termin vier Stunden zur Verfügung. Parallel dazu werden die mündlichen Gespräche mit denjenigen, die schon früher fertig sind, abgewickelt. Die Erfahrung zeigt, dass das was man bis dahin nicht geschafft hat wegen mangelnder Kenntnisse auch in viel längerer Zeit nicht schaffen kann.

Das Prüfungsgespräch nach den Programmieraufgaben schliest an die Aufgaben an und überprüft wichtige Grundlagen des Programmierens und deren Umsetzung in Matlab. Nach Absolvierung beider Teile bekommt man ein Zeugnis über die Übung und über die Vorlesung. Es soll hier nochmals darauf hingewiesen werden, dass Übungen "immanenten Prüfungscharacter" haben und daher sowohl die Anwesenheit als auch die Abgabe aller Beispiele notwendig ist.

Eine alternative Form der Abwicklung der Prüfung ist mit der Durchführung von Projektarbeiten möglich.

Prüfungsbeispiele

Prüfungsbeispiele aus den Jahren 2003 und 2004 stehen in folgender Form zur Verfügung:

Unterlagen
Link Typ Anmerkung
Angabe pdf Prüfung vom 23.06.2003 Vormittag
Angabe pdf Prüfung vom 23.06.2003 Nachmittag
Angabe pdf Prüfung vom 25.06.2003 Vormittag
Angabe pdf Prüfung vom 25.06.2003 Nachmittag
Angabe pdf Prüfung vom 21.10.2003
Daten zip Notwendige Daten für obige Prüfungen
Angabe pdf Prüfungen vom Juni 2004
Daten zip Notwendige Daten für obige Prüfungen
Angabe pdf Prüfungen vom Juni 2005
Daten zip Notwendige Daten für obige Prüfungen

Prüfungstermine

Die Prüfungen im Jahr 2005 werden zu folgenden Terminen stattfinden:

Prüfungstermine
Gruppe Tag Datum Beginn Ende
A Montag 20. Juni 2005 08:00 12:00
B Montag 20. Juni 2005 14:00 18:00
C Mittwoch 22. Juni 2005 08:00 12:00
D Mittwoch 22. Juni 2005 14:00 18:00

Der Grund für die Vorverlegung um eine Woche liegt daran, dass ich in der letzten Woche vor Ferienbeginn an einer wissenschaftlichen Konferenz im Ausland teilnehmen muss. Die Gruppenteilnehmer werden automatisch bei ihrem jeweiligen Termin angemeldet. Änderungen sind nur möglich, falls Plätze zu anderen Terminen frei sind.

Voraussichtlich Mitte Oktober findet dann eine Nachklausur für jene Teilnehmer statt, die den ersten Termin nicht geschafft haben oder die daran nicht teilnehmen konnten. DIese Ersatzlösung sollte aber hoffentlich nur für wenige Teilnehmer notwendig sein.

Der Konflikt mit dem Prüfungstermin für Experimentalphysik am 22. Juni wurde gelöst. Prof. Ernst hat sich bereit erklärt den Termin auf 29. Juni zu verschieben.

Projektarbeiten

Projektarbeiten sind eine alternative Form die Lehrveranstaltung zu absolvieren. Grundsätzlich gibt es zwei Formen

  • Großes Projekt: Ersetzt den Besuch der Übung und die Prüfung
  • Kleines Projekt: Übung wird normal absolviert, Prüfung wird durch Projekt ersetzt

Grundsätzlich eignen sich Projekte nicht dazu, sich die Absolvierung der Lehrveranstaltung möglichst einfach zu gestalten. Das Angebot richtet sich an Studierende, die entweder schon reifliche Programmiererfahrung oder zumindest ein tiefes Interesse am Inhalt der Lehrveranstaltung haben. Die Möglichkeit wurde im Wesentlichen deshalb von mir geschaffen um (in diesem Fach) begabten Studierenden eventuell für siehe fade Programmierbeispiele zu ersparen. Wenn man keine große Erfahrung mit Programmiersprachen hat, ist es sicher keine sinnvolle Idee ein großes Projekt zu starten. Wenn man im Laufe der Lehrveranstaltung die Erfahrung macht, dass einem die Übungsbeispiele sehr leicht fallen, kann man sich ja noch immer für ein Projekt entscheiden.

Ein Projekt startet mit einem Plan vom Studierenden, was er gerne machen würde. Der Inhalt kann aus vielen Interessensgebieten stammen, muss also nicht unbedingt Physik zum Gegenstand haben. Das Projekt soll aber zeigen, dass man mit den Möglichkeiten von Matlab umgehen kann. Zu diesem Zweck erstellt man eine neue Wiki-Seite unter Applikationssoftware - Projekte und definiert sein Projekt. Nach Absprache mit mir folgt dann die Umsetzung in Matlab und die Dokumentation. Diese Beiträge werden dann ebenfalls auf der Wiki-Seite präsentiert. Zum Abschluss gibt es ein Gespräch über die Umsetzung des Projektes welches als eine Art der Prüfung angesehen werden kann.

Es gibt keine genauen Vorgaben über den Umfang, die Betroffenen sollten einfach einen vernünftigen Vorschlag mit mir besprechen. Gespräche über den Verlauf sollen bevorzugt in den jeweiligen Übungseinheiten durchgeführt werden.