Vorlesung Einführung in die Praktische Informatik Wintersemester

Werbung
Vorlesung
Einführung in die Praktische Informatik
Wintersemester 2011/2012
Organistatorisches
Vorlesung
• Dozent
Peter Bastian, INF 368, Raum 420, Sprechstunde: Do 13-14
• Übungen
Jurgis Pods, INF 368, Raum 426, Ole Klein, INF 368, Raum 423
TutorInnen: Studierende höherer Semester
• Webseite zur Vorlesung
http://conan.iwr.uni-heidelberg.de/teaching/info1_ws2011/
Informationen, Unterlagen, Übungsblätter
• Skript
Basierend auf Bastian (2003), Neuss (2006)
Überarbeitete Teile werden auf Webseite zur Verfügung gestellt
Übungen
• Sinn der Übungsgruppen
Vertiefen Stoff der Vorlesung
Jede Woche wird ein Blatt mit Aufgaben ausgegeben
Besprechen der Aufgaben in den Übungsgruppen
Fragen zur Vorlesung und den Übungen stellen
• 12 Übungsgruppen, Abgabe in Gruppen je 2-3 Teilnehmer
• Anmeldung über MÜSLI
https://www.mathi.uni-heidelberg.de/muesli/lecture/view/152
Anmeldungszeitraum: Di, 11.10., 18 Uhr — Fr., 14.10., 14 Uhr
System arbeitet mit Präferenzen und nicht first come first served
• Beginn der Übungsgruppen ab Montag, 17.10.
Ablauf der Übungen
• Ausgabe der Übungsblätter
Freitags, 16 Uhr auf der Webseite der Vorlesung
• Abgabe der Lösungen
Freitags, 14 Uhr ct (vor der Vorlesung)
Abgabe in Zettelkästen Foyer INF 288 (reine Mathe)
• Erstes Blatt
Ausgabe: 14.10.11, 16 Uhr (diese Woche!)
Abgabe: 21.10.11, 14 Uhr
• Beginn der Übungsgruppen ab Montag, 17.10.
Kennenlernen, Fragen zu den Aufgaben und der Vorlesung
Übungszeiten
09 – 11
Mo
PrBer 350/U012
Di
Mi
Do
LA1 Vorl.
ANA1 Vorl.
350/U013
ProgKurs
350/U013
350/U014
INFO1 Vorl.
ProgBeratung
350/U013
LA1, 350/U014
TI, 368/532
350/U013
368/532
LA1 Vorl.
TI
11 – 13
14 – 16
16 – 18
ProgKurs
350/U013
368/532
Vorzugsweise BA Informatik
Vorzugsweise totale Anfänger
TI
Fr
350/U013
350/U014
ANA1 Vorl.
TI Vorl.
TI Vorl.
INFO1 Vorl.
Leistungsnachweis
• Erfolgreiche Übungsteilnahme
mindestens 50% der Punkte aus den Übungsaufgaben und
mindestens 2 Präsentationen einer Lösung
sind Voraussetzung zur Teilnahme an der Klausur!
• Klausur
3. Februar 2012, 14-17 Uhr
• Wer bereits die erfolgreiche Teilnahme an den Übungen zu dieser Vorlesung aus früheren Semestern nachweisen kann ist zur Klausur zugelassen.
• Für BA Informatik, LA Informatik ist diese Klausur die Orientierungsprüfung
Unterschiedliche Vorkenntnisse
Angebote für totale Anfänger
• Diese Woche: Grundlagen der Bedienung von UNIX-Systemen“
”
Ole Klein, Di 11.10. + Do 13.10., 18-20 Uhr, INF 350, CIP-Pool im UG
• Spezielle Übungsgruppe Di 16-18 Uhr
• Programmierberatung
Möglichkeit 1: Mo 9-11 OMZ INF 350 U012 (zur Vorlesung)
Möglichkeit 2: Mi 14-16 OMZ INF 350 U011 (Christian Sengstock)
• Programmierkurs, vorzugsweise Mo 11-13 Uhr
Sie dürfen gerne Fragen stellen. Es gibt keine dummen Fragen!
Angebot für Fortgeschrittene
• Alternativer Punkteerwerb: Ersetzen ausgewählter Übungsaufgaben
durch Kleinprojekte
• Details werden auf Übungsblatt/Webseite erklärt
Programmierkurs
• Einführung in C++ unabhängig von der Vorlesung von Ursula Rost und
Daniel Kondermann
• 2 st., Mo oder Di, 11-13 Uhr, INF 350, CIP-Pool, ab 17.10.
• Pflichtveranstaltung für BA Informatik, LA Informatik + Mathe in Semester 1, LA Informatik + X in Semester 3, freiwillige Teilnahme möglich
• Handschriftliche Anmeldung JETZT!:
–
–
–
–
Zwei Listen: Pflichtteilnehmer, freiwillige Teilnahme
Pflichtteilnehmer: Accountnummer merken!
Freiwillige: Account Spalte leer lassen
Deutlich schreiben!
• Ablauf
Montag: Vorzugsweise totale Anfänger
Dienstag: jeder
• Zusätzliche Anmeldung in Moodle erforderlich um an Unterlagen zu
gelangen. Passwort: TurXX5
Praktisches Üben
• Programmieren ist wesentlicher (nicht alleiniger) Inhalt der Vorlesung
• Beim Programmieren gilt: Übung macht den Meister ! Programmieren ist
eine Kunst. Eines der berühmtesten Bücher der Informatik von Donald
E. Knuth heißt The Art of Computer Programming“
”
Nutzen Sie alle gebotenen Möglichkeiten zum Üben!
• In der Vorlesung/Übung benutzen wir eine UNIX-Programmierumgebung.
Sie sollten Zugang zu so einem System haben um die Übungen
durchführen zu können. Geeignet sind LINUX, Mac oder ein WindowsSystem mit WUBI
http://www.ubuntu.com/download/ubuntu/windows-installer
• Falls Sie keinen Rechnerzugang haben, melden Sie sich!
Weitere Ankündigungen
• Einführungsveranstaltung für Bachelor Informatik
Di 11.10., 16:00 Uhr, INF 288 HS 1, im Anschluss an diese Vorlesung!
• Einführungsveranstaltung für Lehramt Informatik
Mi 12.10., 14:00 Uhr, INF 350 (OMZ) U014
Dozent
• Peter Bastian
1989 Diplom Informatik (U Erlangen)
1994 Promotion Mathematik (U Heidelberg)
1999 Habilitation Informatik (U Kiel)
2001 Professur Wissenschaftliches Rechnen (IWR, U Heidelberg)
2006 Lehrstuhl Simulation großer Systeme (Informatik, U Stuttgart)
2008 AG Paralleles Rechnen (IWR, U Heidelberg)
• Arbeitsgebiete
Wissenschaftliches Rechnen
Höchstleistungsrechnen
Anwendungen: Strömungsmechanik, poröse Medien
Motivation
Was ist Informatik
Wissenschaft von der systematischen Verarbeitung von Information,
besonders der automatischen Verarbeitung mit Hilfe von Digitalrechnern
Wikipedia, Duden Informatik
Computer science is no more about computers than astronomy is
about telescopes, biology is about microscopes or chemistry is about
beakers and test tubes.
Michael R. Fellows and Ian Parberry, Computing Research News, January 1993
Inhalt der Vorlesung
• Grundlegende Konzepte der Informatik kennenlernen
z. B. Algorithmenbegriff, Komplexität, Abstraktion, . . .
• Algorithmisches Denken schulen
Problem → Algorithmus → Programm
• Programmieren im Kleinen
verschiedene Programmierstile, C++
• Grundlegende Algorithmen und Datenstrukturen
Suchen, sortieren, . . .
Liste, Feld, Heap, . . .
Informatik als Wissenschaft
• Wortschöpfung aus Information“ und Automatique“ erstmals benutzt
”
”
von Philippe Dreyfus (1962, laut Wikipedia).
• Grundlagen waren
– Theorie der Berechenbarkeit (Turing, Church, 1937)
– Entwicklung elektromechanischer/elektronischer Rechenmaschinen
(Z3, 1941, ENIAC, 1946)
– entsprechende Anwendungen (Kryptographie, ballistische Berechnungen, Differentialgleichungen lösen)
• Erster deutscher Informatikstudiengang WS 1968/69 in Karlsruhe
Teilgebiete der Informatik
• Theoretische Informatik
Logik und Berechenbarkeit, Automatentheorie und formale Sprachen,
Semantik, Komplexitätstheorie
• Technische Informatik
Elektrotechnische Grundlagen, Architektur von Rechenanlagen, Chipentwurf, Netzwerkkomponenten, Fehlertoleranz, . . .
• Praktische und Angewandte Informatik
Betriebssysteme, Softwareengineering, Datenbanken, Programmiersprachen, Visualisierung, Mensch-Maschine-Interaktion
Anwendungen, z. B. Wissenschaftliches Rechnen
Wissenschaftliches Rechnen
Anwendungsgebiet
Physik, Chemie,
Biologie, Modellierung
Informatik
Programmierung
Parallelisierung
Visualisierung
Mathematik
Modellierung
Analysis
Numerik
Bodenradar
Bestimme Strukturen im Boden durch Reflexion von Radarwellen
(Makroskopische) Maxwell-Gleichungen
beschreiben die Ausbreitung elektromagnetischer Wellen und wurden von
James Clerk Maxwell im Jahr 1861 angegeben.
System linearer partieller Differentialgleichungen erster Ordnung:
∇ × E = −∂tB
(Faraday)
∇ × H = j + ∂t D
(Ampère)
∇·D =ρ
(Gauß)
∇·B =0
(Gauß für Magnetfeld)
D = 0 E + P
(elektrische Flussdichte)
H = µ−1
0 B−M
(magnetische Feldstärke)
plus Rand- und Anfangsbedingungen
Elektrisches (Vektor-) Feld


Ex(x, y, z, t)
E(x, y, z, t) =  Ey (x, y, z, t) 
Ez (x, y, z, t)
Analog für das magnetische Feld B(x, y, z, t)
Partielle Ableitung:
f (x + h, y, z) − f (x, y, z)
h→0
h
∂xf (x, y, z) = lim
Differentialoperatoren: z. B. ∇ · D = ∂xD + ∂y D + ∂z D
Simulation des Bodenradars
Jorrit Fahlke (IWR, 2011)
Sternentstehung
Cone nebula from http://www.spacetelescope.org/images/heic0206c/
Euler-Gleichungen
Ein Modell zur Sternentstehung stellen die Euler-Gleichungen (Leonhard
Euler, 1707-1783) der Gasdynamik mit Gravitation dar. Diese sind ein
nichtlineares System partieller Differentialgleichungen:
∂tρ + ∇ · (ρv) = 0
∂t(ρv) + ∇ · (ρvv T + pI) = −ρ∇Ψ
∂te + ∇ · ((e + p)v) = −ρ∇Ψ · v
∆Ψ = 4πGρ
(Massenerhaltung)
(Impulserhaltung)
(Energieerhaltung)
(Gravitationspotential)
Bessere Modelle beinhalten innere Reibung (Navier-Stokes Gleichungen),
erweiterte Zustandsgleichung und Strahlungstransport.
Existenz und Regularität der inkompressiblen Navier-Stokes-Gleichungen ist
eines der sieben Millenium Prize Problems.
Numerische Simulation der Sternentstehung
durchgeführt von Marvin Tegeler in seiner Diplomarbeit (2011).
Eine Geothermieanlage
Einlochanlage in einem tiefen Aquifer (Zweidimensionaler Schnitt)
z
3700m
warm
kalt
4000m
r
Gekoppelte Wasser- und Wärmeströmung
System nichtlinearer partieller DGL für Druck p und Temperatur T :
∂t(φρw ) + ∇ · {ρw u} = f
k
u = (∇p − ρw g)
µ
∂t(ceρeT ) + ∇ · q = g
q = cw ρw uT − λ∇T
(Massenerhaltung)
(Darcy-Gesetz)
(Energieerhaltung)
(Wärmefluss)
Nichtlinearität: ρw (T ), ρe(T ), µ(T )
Permeabilität k(x) : 10−7 im kiesgefüllten Bohrloch, 10−16 im Verschluss
Raum-/Zeitskalen: R=15 km, rb=14 cm, Sekunden (0.3 m/s im Bohrloch)
bis Jahre
Temperaturverlauf nach 30 Jahren Betrieb
Detail am Einspeisebereich
Temperatur im Bohrloch
1.2e+07
1.15e+07
Extracted Power / Watt
1.1e+07
1.05e+07
1e+07
9.5e+06
9e+06
8.5e+06
8e+06
7.5e+06
7e+06
0
2000
4000
6000
Time / days
8000
10000
12000
Entzugsleistung über 30 Jahre
Viele weitere Anwendungen
• Wetter und Klima
• Ölreservoirsimulation, CO2 Sequestrierung, Lagerung radioaktiver Abfälle
• Geophysikalische Strömungen im Erdinnern
• Tsunamisimulation
• Festigkeit von Materialien
• Brennstoffzellen
• ...
Numerische Lösung partieller Differentialgleichungen
Physik des 19. Jahrhunderts, aber Mathematik und Informatik des 20.
Jahrhunderts!
Treibende Kraft bei der Entwicklung des Computers, insbesondere
Höchstleistungsrechner:
An automatic computing system is a (usually highly composite) device, which can carry out instructions to perform calculations of a
considerable order of complexity — e.g. to solve a non-linear partial
differential equation in 2 or 3 independent variables numerically.
John von Neumann, First Draft of a Report on the EDVAC, 30. Juni 1945
Verbindet Informatik, Physik und Mathematik
Etwa Jugene (294.912 Cores, Nummer 2 in Europa)
Ermöglicht derzeit die iterative Lösung von Gleichungssystemen mit 1011
Unbekannten in 4 Minuten.
Erfordert komplexe Algorithmen und Datenstrukturen, z.B. zur adaptiven
Triangulierung:
Umfangreiches Softwareprojekt: http://www.dune-project.org
Literatur
H.-J. Appelrath, J. Ludewig: Skriptum Informatik – eine konventionelle
Einführung. B. G. Teubner Verlag, 5. Auflage, 2000.
H. Abelson, G. J. Sussman mit J. Sussman: Struktur und Interpretation von
Computerprogrammen, Springer Verlag, 1998.
B. Stroustrup: The C++ Programming Language, Addison-Wesley, 3. Auflage, 1997 (auch in deutscher Übersetzung erhältlich).
C++ Programming, freies WikiBook http://en.wikibooks.org/wiki/
C%2B%2B_Programming
U. Schöning: Ideen der Informatik. Oldenburg Verlag, 2002.
D. R. Hofstatter: Gödel, Escher Bach: Ein Endloses Geflochtenes Band. dtv
Taschenbuch, 11. Auflage, 2007.
Herunterladen