Mathematikorientierte Computernutzung

oder Computational Mathematics


Mündliche Pruefungen können für den 26.9. Mi., 28.9. ab 13:00 oder Fr., 30.9. ab 9:00 angemeldet werden (schriftlich bei Fr. Pahlisch).

Die Noten der zweiten Klausur können Sie hier finden.

Klausureinsicht Freitag, 19.8., 10-12 Uhr. Und Mittwoch, 24.8., 10-12 Uhr.

Die Noten der ersten Klausur können Sie hier finden.

Klausureinsicht Freitag, 5.8., 10-12 Uhr. Und nochmal Mittwoch, 10.8., 10-12 Uhr.

Klausureinsicht Montag, 1.8. 14-16 Uhr und Di., 2.8., 10-12 Uhr.

zweite Klausur: 16.8.2011, 10:00 in RUD26, 0'115.

erste Klausur: 28.7.2011, 10:00 in RUD26, 0'115. Zugelassene Hilfsmittel sind Stift und Taschenrechner, (vorbedrucktes) Papier wird, ähnlich wie bei der Probeklausur, von uns bereitgestellt. Sollte, unerwarteterweise, sich in den Aufgaben etwas finden, was mehr als den Vorlesungsstoff erfordert, wird ein entsprechender Hinweis an die Tafel geschrieben.

Wegen Konferenzen und anderen Gründen ist die Korrektur im Rückstand. Teilnahmescheine daher nach Serien 4 und 6. Es gibt keine kritischen Fälle; soweit zu erkennen, würde Serie 5 daran nichts ändern.


Vorlesung, Skripte

Vorlesung 1 12.4.2011 Skript (ohne Bilder)
(Computergeschichte, Betriebbssysteme, Verzeichnisbaum)
Beispiel zu LaTeX/gnuplot
vom Ende der Vorlesung.
Übung 1 18.4.2011 Skript der Übung
(Login, Kommandozeile, Navigieren der Verzeichnisstruktur, einfache HTML-Dateien, java)
Vorlesung 2 19.4.2011 Skript Einführung in Java I
(Struktur eines Java-Programms, Ausgabe auf Konsole, Variablen, Schleifen, Verzweigungen)
Konsolen-Beispiele,
Turtle-Beispiele
Einführung in Java
von Dr. Grassmann
als HTML-Seite und
als PDF-Dokument.
.
Vorlesung 3 26.4.2011 Einschub zum Computeraufbau,
Skript Einführung in Java II
(Unterprogramme [Funktionen und Prozeduren], Eingabe auf Konsole, Java-Objekthierharchie)
Java-Beispiele
Vorlesung 4 3.5.2011 Skript Einführung in Java III
(Rekursion, ggT, L-Systeme)
Java-Beispiele
Übung 3 9.5.2011 Einführung in Java II Java-Beispiele
Übungsaufgaben
Vorlesung 5 10.5.2011 Skript binäre Zahlenformate
(Integer, Gleitkomma)
Java-Beispiele
Vorlesung 6 17.5.2011 Skript vermeidbare Genauigkeitsverluste
(Pi-ologie)
Java-Beispiele
Vorlesung 7 24.5.2011 Skript Objektmodell in Java
(Klassen fuer Polynome, Bisektion, komplexe Zahlen, Julia-Fraktale)
Java-Beispiele
Vorlesung 8 31.5.2011 Skript Bibliotheken in Java
HUMath, Gauss-Algorithmus, Nullstellensuche mit Newton-Verfahren, Bestimmung von Ableitungen
Java-Beispiel
Vorlesung 9 7.6.2011 Skript LaTeX
Grundlagen, Formeln, Listen, Tabellen
LaTeX-Beispiele
Vorlesung 10 14.6.2011 Skript LaTeX
weitere Formelkonstruktionen, Abbildungen und Tabellen, Literaturliste
LaTeX-Quellcode des Skripts, die verwendete minimale Literaturdatenbank.
Übung 10 20.6.2011 Hinweis zu Blatt 6, Aufgabe 3 Punkteverteilung
Vorlesung 11 21.6.2011 Skript Funktionsgraphen mit Gnuplot, Komplexität von Algorithmen Euler.java etc.: Programm zur Datenerzeugung für die Gnuplot-Beispiele. Euler-Verfahren für den harmonischen Oszillator.


Übungsaufgaben zum Computerpraktikum

unvollstaendiger Punktestand erstes Blatt
Blatt Thema Abgabetermin Aufgaben
1 einfache Java-Programme Mitte Mai, ohne Abgabe PDF
2 einfache Java-Programme Ende Mai, ohne Abgabe PDF
3 TIC-TAC-TOE Anfang Juni, ohne Abgabe PDF
4 Hausaufgabenserie 1 empfohlene Abgabe bis 13. Juni PDF
5 Hausaufgabenserie 2 empfohlene Abgabe bis 27. Juni PDF
6 Hausaufgabenserie 3 Abgabe bis 11. Juli PDF

Probeklausur - Beispiele für die Prüfung PDF

Hinweis: Die Lösung der Aufgaben darf in Gruppen mit max. 2-3 Teilnehmern abgegeben werden. Die Abgabe ist dabei elektronisch. Schicken Sie dazu Ihre Lösung(en) an gaggle@mathematik.hu-berlin.de mit den nötigen Informationen (Name, Immatrikulationsnummer,...). Die angehängten Dateien sollen hierbei in gepackter Form vorliegen mit einer entsprechenden Namensgebung (Serie_Aufgabe_.java bzw. Serie_Aufgabe_.tex). Achten Sie bitte darauf, dass die zugeschickten Programme sich kompilieren lassen. Desweiteren empfiehlt sich eine Dokumentation im Quelltext um die Korrektur zu vereinfachen.

Links und Hinweise

Java Software Development Kit

Java unter Windows: Java SDK von Oracle (ca. 80 MB), Entwicklungsumgebungen oder Quelltexteditoren sind
IDE: BlueJ, NetBeans, JCreator,…;
Editor: Notepad++, jEdit, Textpad,…;
Bordmittel:"Hello World" mit Notepad und Eingabeaufforderung.

Linux: Es sei empfohlen, die Installation und Benutzung von Linux als Zweitbetriebssystem auszuprobieren. Achtung: Es sollte zwar nicht (mehr häufig), kann aber durch einen zu schnellen Mausklick zu Datenverlust kommen. Also Daten (besser: die gesamte Festplatte) sichern oder einen ausgemusterten Computer für die ersten Versuche verwenden.

Java unter Linux: Das Java-SDK sollte über den Paketmanager installiert werden. Als Quelltexteditor seien

empfohlen. (Es besteht aber keine Bindung, es kann alles mit allem verwendet werden.) BlueJ, NetBeans, jEdit gibt es ebenfalls als Linux-Versionen.

Kurzanleitung Kompilieren

Eine Quelltextdatei Prog.java mit der Klasse class Prog und darin der korrekt attributierten Methode main wurde erstellt. Auf der Konsole im selben Verzeichnis wird ausgeführt:
javac Prog.java zur Transformation in Byte-Code, der sich danach in Prog.class findet.
java Prog für die Ausführung des Byte-Codes in Prog.class durch die Java Virtual Machine (JVM).

In der Vorlesung verwendete Bibliotheken

Turtle-Bibliothek aplu von Aegidius Plüss. Ein Java-Kurs mit der Turtle.

HUMath, Algebra und Hilfsroutinen, von Dr. H. Grassmann und Dr. R. Lamour

Der Inhalt von HUMath.Algebra.zip muss in einen Unterordner Algebra des Ordners HUMath entpackt werden und dieser wiederum sich am Speicherort der Java-Bibliotheken befinden.

Installation und Verwendung der Bibliotheken

Wird die Turtle-Bibliothek verwendet, oder HUMath oder irgendeine andere Bibliothek, dann muss als erstes die Umgebungsvariable CLASSPATH definiert werden. Der Ordnung halber seien alle Bibliotheken in einem Verzeichnis gespeichert. Unter Linux bietet sich ein Unterordner des HOME-Verzeichnisses an, z.B. ~/lib/java oder einfach nur ~/java. (~ oder $HOME sind Kürzel der Kommandozeile für das Benutzerverzeichnis.)

export CLASSPATH=.:~/lib/java:~/lib/java/*

weist dann java an, nach .java und .class-Dateien und Bibliotheken (z.B. ch.aplu.turtle.* oder HUMath.Algebra.*) zu suchen
für . im aktuellen Arbeitsverzeichnis;
für ~/lib/java/ in Unterverzeichnissen davon, also z.B. ~/lib/java/HUMath/Algebra/, worin sich z.B. B.java und nach Kompilieren B.class befinden;
für ~/lib/java/* in Unterverzeichnissen innerhalb der gepackten .jar-Archive darin, so hat ~/lib/java/aplu5.jar ein Unterverzeichnis ch/aplu/turtle/ und darin die Datei Turtle.class;
sowie in fest einprogrammierten Systempfaden.
Unter Windows könnte man die Bibliotheken z.B. unter C:\java abspeichern. Auf der Kommandozeile (Zubehör/Eingabeaufforderung) ist dann in den Programmpfad zu wechseln und

set CLASSPATH=.;C:\java;C:\java\*

auszuführen. Falls java -version eine Fehlermeldung erzeugt, ist auch noch die Umgebungsvariable PATH anzupassen, Anweisungen dazu siehe Oracle. Danach kann wie oben angegeben das Programm übersetzt und ausgeführt werden.