Einführung in die Programmierung für Studierende der Naturwissenschaften

Semester:Sommersemester 2018
Zeit/Ort:Mo 16-18 Uhr, HS Weismann-Haus, Albertstraße 21a
Dozent:Prof. Dr. S. Bartels
Sprechstunde Dozent: Mi 12-13 Uhr, Zi. 209, Hermann-Herder-Str. 10
Tutorium:M.Sc. Christian Palus
Sprechstunde Assistent: Mi 14-15 Uhr und n. V., Zi. 204, Hermann-Herder-Str. 10

Aktuelles

  • Die Anmeldung für die Übungsgruppen erfolgt über HiSinONE in der Zeit von Mo, 16.4., 19:00 Uhr bis Di, 17.4., 13:00 Uhr
  • Der Übungsbetrieb beginnt in der ersten Vorlesungswoche
  • Verspätete Anmeldungen bitte per E-Mail an Frau Fimmen vom ZfS: Katja.Fimmen@zfs.uni-freiburg.de
  • Zusätzliche Übungsgruppe mittwochs, 16-18 Uhr (Anmeldung bis 24.4., 13 Uhr) - bereits getätigte Anmeldungen können in HisInOne geändert werden
  • Freiwilliger Ersatztermin für den Übungsgruppentermin am Di, den 1. Mai, 16-18 Uhr: Do, 3. Mai, 16-18 Uhr im CIP-Pool
  • Die Evaluierung der Veranstaltung können Sie in den Übungsgruppen in den zwei Wochen vom 2.7. bis zum 15.7. durchführen.
  • In der letzten Vorlesungswoche finden keine regulären Übungsgruppen mehr statt. Stattdessen können Sie bei Interesse einen einfachen Roboter aufbauen und programmieren (Infos auf Blatt 12). Termine dazu werden noch bekannt gegeben.
  • Die Roboterübung findet aufgrund zu geringer Teilnehmeranzahl nicht statt.
  • Die Vorlesungsnotizen wurden um ein neuntes Kapitel zum Thema IT-Kommunikation sowie einen Zusatz zu Kapitel I ergänzt.

Inhalte

Die Veranstaltung bietet eine Einführung in die wissenschaftliche Programmierung mit theoretischen und praktischen Einheiten. Schwerpunkte der Veranstaltung sind:

  • Programmstruktur und Kontrollfluss
  • Ausdrücke, Operatoren und Anweisungen
  • Datentypen, Typumwandlung und Typinferenz
  • Container: Tupel, Felder, Listen, etc.
  • Funktionen und Rekursion
  • Zeichenketten, Dateien, Ein- und Ausgabe
  • Einführung in die objektorientierte Programmierung
  • Grafische Darstellungsmöglichkeiten

Die Inhalte werden anhand von Beispielen aus den Naturwissenschaften in der Programmiersprache C++ sowie in MATLAB erarbeitet. Die erworbenen Kenntnisse werden mittels Übungen und Hausaufgaben praktisch erprobt und vertieft.

Studienleistung

  1. Es gelten die Bedingungen des ZfS. Bei den Übungen ist eine Anwesenheit von mindestens 80% notwendig. Bei den Übungsblättern müssen mindestens 65% der zu vergebenden Punkte erreicht werden.
  2. Aktive Teilnahme an den Übungsgruppen und mindestens einmaliges Vorstellen einer Lösung; jeder Aufforderung dazu seitens des Tutors ist nachzukommen.

Vorlesungsnotizen

Handout

Übungsblätter

Die Abgabe Ihrer Lösungen zu den Übungsblättern erfolgt in die Briefkästen vor Raum 201 (CIP-Pool) im 2. Stock des RZ (Hermann-Herder-Str. 10) beziehungsweise per E-Mail an den zugewiesenen Tutor.

Blatt Ausgabe Abgabe
Blatt 116.4.23.4., 16 Uhr
Blatt 223.4.30.4., 16 Uhr
Blatt 330.4.7.5., 16 Uhr
Blatt 47.5.14.5., 16 Uhr
Blatt 514.5.28.5., 16 Uhr
Blatt 628.5.4.6., 16 Uhr
Blatt 74.6.11.6., 16 Uhr
Blatt 811.6.18.6., 16 Uhr
Blatt 918.6.25.6., 16 Uhr
Blatt 1025.6.2.7., 16 Uhr
Blatt 11 (Bonusblatt)2.7.9.7., 16 Uhr
Blatt 12 (keine Abgabe)9.7.---

Dateien zu Blatt 9: sudoku.cc, sudoku.hh
Datei zu Blatt 11: tictactoe.m

Korrekturen

  • Blatt 6: In Aufgabe 2 gilt nach dem Abstellen der Eingangssignale jeweils S=R=0. Das Übungsblatt wurde aktualisiert.
  • Blatt 7: Damit der Algorithmus Bubblesort in Aufgabe 2 nicht zu früh abbricht, muss nach der Wiederholung noch eine dritte Anweisung ergänzt werden:   (3) Falls i < n, so erhöhe i um 1 und gehe zu (2).
  • Ergänzender Hinweis zu Blatt 9: In Aufgabe 2 geht es um die Änderung der maximalen Problemgröße bei einer Verdopplung der Rechenleistung.
  • Blatt 11: In Aufgabe 1(ii) muss im Ausdruck x ein "|" anstelle des Kommas stehen: x = ( (7|8|9) (♠|♥) ).

Beispielprogramme und -dateien

Kapitel 2

Kapitel 4

Kapitel 6

Kapitel 8

Software

  • C++-Programme können Sie in der Online-Shell http://cpp.sh entwickeln und testen oder alternativ einen C++-Compiler auf Ihrem Rechner installieren.
  • Eine Alternative zu der Online-Shell stellt der Online Compiler and Debugger https://www.onlinegdb.com dar, der sich allerdings noch im Betastadium befindet.
  • Für das Arbeiten mit MATLAB empfehlen wir, dass Sie sich eine kostenlose Studentenlizenz besorgen (siehe Informationen des RZ zur MATLAB-Lizenz) und damit MATLAB auf Ihrem Rechner installieren oder die Online-Version im Browser benutzen
  • Eine kostenlose, weitestgehend kompatible Alternative zu MATLAB ist GNU Octave

Literatur

Online Tutorials

Termine

Angelegenheit Termin Ort
Anmeldung Übungsgruppen 16.4.-17.4. HiSinONE
Erfassung Studienleistung Juli 2018 ---

Übungsgruppen

Sämtliche Übungsgruppen finden im CIP-Pool statt, der sich in Raum 201 im zweiten Stock des Rechenzentrums in der Hermann-Herder-Straße 10 befindet. Die Zeiten der Übungsgruppen sind voraussichtlich folgendermaßen:

Gruppe Tutor/in Zeit Ort
1J. HoffmannDi, 16-18CIP-Pool
2J. KeckMi, 14-16CIP-Pool
3N.-J. AkpinarFr, 12-14CIP-Pool
4C. PalusMi, 16-18CIP-Pool

E-Mail-Adressen der Tutoren: