Semester: | Sommersemester 2020 |
Zeit/Ort: | Online-Kurs |
Dozent: | Christian Palus |
E-Mail Dozent: | christian.palus@mathematik.uni-freiburg.de |
Sprechstunde des Dozenten: | n.V., Zi. 204, Hermann-Herder-Str. 10 |
Assistent: | Ludwig Striet |
E-Mail Assistent: | ludwig.striet@mathematik.uni-freiburg.de |
Sprechstunde des Assistenten: | n.V., Zi. 228, Hermann-Herder-Str. 10 |
Die Veranstaltung bietet eine Einführung in die Programmierung mit theoretischen und praktischen Einheiten. Schwerpunkte der Veranstaltung sind:
Die praktischen Inhalte werden in der Programmiersprache C++ sowie in MATLAB erarbeitet. Die erworbene Kenntnisse werden anhand von Übungen und Hausaufgaben erprobt und vertieft.
Der Kurs setzt sich in diesem Semester aus drei Teilen zusammen:
Die Übungsblätter werden immer montags auf dieser Seite veröffentlicht. Genauere Infos zur Abgabe folgen. Einmal wöchentlich finden Online-Tutorate statt, in denen die Übungsaufgaben besprochen und Fragen gestellt werden können.
Bis zum Semesterende ist ein selbst gewähltes Thema im Rahmen eines (Programmier-)Projekts zu bearbeiten. Eine Liste mit Themenvorschlägen wird demnächst hier verfügbar sein, gerne können Sie auch eigene Vorschläge machen. Das Thema Ihres Projekts muss bis zum 28.06.2020 feststehen. Am Ende des Semesters - voraussichtlich in der ersten Augustwoche - wird es pro Übungsgruppe eine Blockveranstaltung geben, in welcher die bearbeiteten Projekte in Kurzvorträgen (ca. 15 Minuten) vorgestellt werden.
Es gelten die Bedingungen des ZfS. Bei den Übungen ist eine Anwesenheit von mindestens 80% notwendig. Eine aktive Teilnahme an den Übungsgruppen wird erwartet.
Bei den Übungsblättern müssen mindestens 65% der zu vergebenden Punkte erreicht werden.
Jeder Aufforderung zur genaueren Erläuterung einer eingereichten Lösung seitens der Tutoren ist nachzukommen.
Bis zum Ende der Vorlesungszeit ist eine Projektarbeit anzufertigen und in einem Vortrag vorzustellen.
Das Kursmaterial wird laufend ergänzt. Sie sollten sich die Kursinhalte durch Selbststudium des Kursskripts aneignen. Ergänzend dazu finden Sie im Folgenden Videotutorials und Beispiele.
Kursskript (21.07.2020)
Intro (11.05.2020)
Kapitel 1 (20.05.2020)
Kapitel 2 (02.06.2020)
Kapitel 3 (Teil A) (08.06.2020)
Kapitel 3 (Teil B) (16.06.2020)
Kapitel 4 (23.06.2020)
Kapitel 5 (30.06.2020)
Kapitel 6 (16.07.2020)
Kapitel 7 (21.07.2020)
Kapitel 1:
hallo.cc, wurzel.cc, einaus.cc,
if_else.cc, switch.cc, while.cc,
for.cc, goto.cc, funktion.cc,
funktion2.cc.
Kapitel 2:
Bauteile eines Computers, Hauptplatine,
NPN-Transistor, Logisches ODER auf einer Steckplatine,
Interne Kontaktreihen der Steckplatine.
Kapitel 3:
pointer.cc, call-by-reference.cc,
array-pointer.cc, dyn-array.cc,
function-pointer.cc, char-feld.cc,
strings.cc, vector.cc, datei-schreiben.cc,
datei-lesen.cc, koordinaten.txt,
main-param.cc, namevector.cc,
namevector.hh.
Kapitel 4:
bank-accout.cc,
template.cc.
Kapitel 6:
hello.m,
quot.m,
if_abfrage.m,
switch_verzweigung.m,
for_schleife.m,
while_schleife.m.
veknorm.m,
vectorize.m.
Kapitel 7:
omp-hello.cc,
omp-ex.cc,
omp-lin-alg.cc.
Übungen:
timer_example.cc, timer.h.
Erste Schritte in Code::Blocks
Kurzanleitung C++ (20.05.2020)
Eine Liste mit Projektvorschlägen sowie Informationen zum Ablauf finden Sie jetzt unter Projekte.
Die Bearbeitung der Projekte sollte in Zweiergruppen erfolgen. Bei Einzelbearbeitung verkürzen sich Vortrag und Ausarbeitung nicht!
Die Bearbeitung und Abgabe der Lösungen sollte in Zweiergruppen erfolgen. Für die Abgabe von Programmen gilt:
Hinweis: Mit jeder Abgabe einer Lösung versichern Sie, dass Sie diese selbstständig erarbeitet haben. Kopierte Lösungen werden mit 0 Punkten bewertet und können zum Ausschluss aus dem Kurs führen. Bei Zweifeln an einer selbstständigen Arbeitsweise haben die Tutoren das Recht, jederzeit weitere Erklärungen zu einer abgegebenen Lösung einzufordern.
Blatt | Ausgabe | Abgabe |
Blatt 0 | 11.05.2020 | keine Abgabe |
Blatt 1 | 14.05.2020 | 21.05.2020, 12 Uhr |
Blatt 2 | 21.05.2020 | 28.05.2020, 12 Uhr |
Blatt 3 | 28.05.2020 | 04.06.2020, 12 Uhr |
Blatt 4 | 04.06.2020 | 11.06.2020, 12 Uhr |
Blatt 5 | 11.06.2020 | 18.06.2020, 12 Uhr |
Blatt 6 | 18.06.2020 | 25.06.2020, 12 Uhr |
Blatt 7 | 25.06.2020 | 02.07.2020, 12 Uhr |
Blatt 8 | 02.07.2020 | 09.07.2020, 12 Uhr |
Blatt 9 | 09.07.2020 | 16.07.2020, 12 Uhr |
Blatt 10 | 16.07.2020 | 23.07.2020, 12 Uhr |
Blatt 11 | 23.07.2020 | 30.07.2020, 12 Uhr |
Die Übungsgruppen finden zunächst online statt.
Gruppe | Tutor | Zeit/Ort |
1 | Robin Burchard | Mi 14-16 Uhr, Virtueller Raum Topalov |
2 | Sebastian Friedrich | Mi 16-18 Uhr, Virtueller Raum Topalov |
3 | Felix Schmieder | Di 14-16 Uhr, Virtueller Raum Topalov |
4 | Johannes Klüppel | Di 16-18 Uhr, Virtueller Raum Topalov |
5 | Ludwig Striet | Mo 14-16 Uhr, Virtueller Raum Topalov |
6 | Tobias Engler | Mo 16-18 Uhr, Virtueller Raum Topalov |
Robin Burchard: robin.burchard@uranus.uni-freiburg.de
Sebastian Friedrich: sebastian.friedrich@merkur.uni-freiburg.de
Felix Schmieder: einprog19@gmail.com
Johannes Klüppel: johannes.klueppel@mars.uni-freiburg.de
Ludwig Striet: ludwig.striet@mathematik.uni-freiburg.de
Tobias Engler: tobias.engler@neptun.uni-freiburg.de
g++
eingeben. Falls GCC noch nicht vorhanden ist, erscheint eine Fehlermeldung und ein Fenster, in welchem "install" ausgewählt werden muss (funktioniert ab OS X 10.9 Maverick, getestet mit macOS 10.14 Mojave). Anschließend kann der Compiler im Terminal aufgerufen werden. Alternativ kann man die Entwicklungsumgebung Xcode installieren und verwenden.