18
F-Praktikum SoSe 2018 2. Vorbesprechung 20.06.2018 Prof. Dr. Erika Garutti, Christoph Krieger

F-Praktikum SoSe 2018 - physnet.uni-hamburg.de · Allgemeine Informationen •Teilnahme am F-Praktikum nur möglich, wenn bei Stine registriert •Letzte Möglichkeit heute •Es

  • Upload
    hatram

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: F-Praktikum SoSe 2018 - physnet.uni-hamburg.de · Allgemeine Informationen •Teilnahme am F-Praktikum nur möglich, wenn bei Stine registriert •Letzte Möglichkeit heute •Es

F-Praktikum SoSe 20182. Vorbesprechung

20.06.2018

Prof. Dr. Erika Garutti, Christoph Krieger

Page 2: F-Praktikum SoSe 2018 - physnet.uni-hamburg.de · Allgemeine Informationen •Teilnahme am F-Praktikum nur möglich, wenn bei Stine registriert •Letzte Möglichkeit heute •Es

Allgemeine Informationen

• Teilnahme am F-Praktikum nur möglich, wenn bei Stine registriert

• Letzte Möglichkeit heute

• Es wird für jeden Versuch ein Protokoll angefertigt und zu einem der Versuche ein Fachvortrag ausgearbeitet und gehalten

• Die Zuordnung und die Termine stehen ab morgen Früh auf der Webseite (https://www.physnet.uni-hamburg.de/studium/studiengaenge/praktika/fortgeschrittenenpraktikum.htm)

• Seminare:Fr. 31.08.2018 9:30 Uhr und 14:00 Uhr (Campus Bahrenfeld, HS Geb. 61)Fr. 07.09.2018 9:30 Uhr (Campus Bahrenfeld, HS Geb. 61)Mi. 17.10.2018, 24.10.2018 & 31.10.2018 je 14:00 Uhr (Jungiusstraße, HS II)

20.06.2018 2F-Praktikum SoSe 2018 - 2. Vorbesprechung

Page 3: F-Praktikum SoSe 2018 - physnet.uni-hamburg.de · Allgemeine Informationen •Teilnahme am F-Praktikum nur möglich, wenn bei Stine registriert •Letzte Möglichkeit heute •Es

Block-Vorlesung

• “Statistik und Datenanalyse in der Physik”

• 20.08. bis 24.08.2018 (und jedes Semester zu Beginn des F-Praktikum-Blocks)

• Für alle Teilnehmer des F-Praktikums verpflichtend (ausgenommen Lehramt und CiS)

• Vorlesungen: Mo-Fr 9:30 – 11:30 Uhr, HS III (Jungiusstr.)

• Übungen: Mo-Fr 13:00 – 15:30 Uhr, PHYSnet-Pool-Räume & SR 6

• Computerübungen mit Python (jupyter-notebook)

• Wenn möglich mit Ihrem privaten Laptop und python & jupyter-notebook installiertund getestet

20.06.2018 F-Praktikum SoSe 2018 - 2. Vorbesprechung 3

Page 4: F-Praktikum SoSe 2018 - physnet.uni-hamburg.de · Allgemeine Informationen •Teilnahme am F-Praktikum nur möglich, wenn bei Stine registriert •Letzte Möglichkeit heute •Es

Versuchswahl

• Versuchswahl ist verbindlich und final (siehe Webseite)• Auswahl von Versuchen noch möglich bis heute Abend• Treten Sie rechtzeitig vor Versuchbeginn in Kontakt mit den Betreuern• In dringenden Fällen (z.B. Krankheit), direkt mit Betreuer in Kontakt treten

und alternativen Termin vereinbaren• Kurzversuche: Start-Wochentag wird von Betreuer mitgeteilt• Anmeldung für die Versuche im nächsten Semester ab Anfang Oktober 2018• Bitte Arbeitsaufwand pro Versuch merken → Umfrage am Ende Praktikums• Weitere Informationen und Hinweise unter

https://www.physnet.uni-hamburg.de/studium/studiengaenge/praktika/fortgeschrittenenpraktikum.htm

• Fragen an [email protected]

20.06.2018 F-Praktikum SoSe 2018 - 2. Vorbesprechung 4

Page 5: F-Praktikum SoSe 2018 - physnet.uni-hamburg.de · Allgemeine Informationen •Teilnahme am F-Praktikum nur möglich, wenn bei Stine registriert •Letzte Möglichkeit heute •Es

Vorbereitung der Computerübungen zum F-PraktikumMartin Stieben - 15.06.2016

Vorbereitung der Computerübungen

zum F-Praktikum

Martin Stieben

040/42838-2435

[email protected]

Vortrag als PDF unter: http://t1p.de/FP-Vorb-CP

5

Page 6: F-Praktikum SoSe 2018 - physnet.uni-hamburg.de · Allgemeine Informationen •Teilnahme am F-Praktikum nur möglich, wenn bei Stine registriert •Letzte Möglichkeit heute •Es

Vorbereitung der Computerübungen zum F-PraktikumMartin Stieben - 15.06.2016

Übungen in den PHYSnet-Poolräumen: Jungiusstraße 9, 20355 Hamburg, Räume 302, 305 und 306

Wenn möglich: eigene Laptops einrichten VORHER TESTEN!

Python-Tutorial: http://t1p.de/Fprak-python-intro (Passwort fprak)(da der Link nicht mehr funktioniert jetzt unter Downloads!)

Test-Übung unter: http://t1p.de/Ueb-0 bei Problemen und Fragen gerne im PHYSnet melden.

Nötige Software:

• Python3

• Jupyter/iPython Notebook

1. Einrichten der Arbeitsumgebung

6

Page 7: F-Praktikum SoSe 2018 - physnet.uni-hamburg.de · Allgemeine Informationen •Teilnahme am F-Praktikum nur möglich, wenn bei Stine registriert •Letzte Möglichkeit heute •Es

Vorbereitung der Computerübungen zum F-PraktikumMartin Stieben - 15.06.2016

• VirtualBox mit Extension Pack installieren:Windows / MacOS Installer / Extension Pack

https://www.virtualbox.org/wiki/DownloadsLinux apt

„sudo apt-get install virtualbox“

• Link zum Download der VM:http://t1p.de/FPraktVM Doppelklick auf die Datei bindet die VM in VirtualBox ein. Anschließend VM über die VirtualBox GUI starten. Username (Passwort): localuser (FP2016VM)

1.1 Fertige Umgebung als VM

7

Page 8: F-Praktikum SoSe 2018 - physnet.uni-hamburg.de · Allgemeine Informationen •Teilnahme am F-Praktikum nur möglich, wenn bei Stine registriert •Letzte Möglichkeit heute •Es

Vorbereitung der Computerübungen zum F-PraktikumMartin Stieben - 15.06.2016

Daten in und aus der VM:

1. Per USB-Speicher:- in Geräte/USB das USB-Gerät auswählen- Gerät wird als Laufwerk gemounted

2. per Drag & Drop:- in Geräte/Drag & Drop die Option „bidirektional“ auswählen- Dateien zwischen Host und VM verschieben

3. per AFS (im PHYSnet Pool als Home-Verzeichnis eigebunden):- im Terminal „kinit <PHYSnetUsername>“ + Passwort eingeben- danach im Terminal „aklog“ eingeben- 50GB unter afs/physnet.uni-hamburg.de/users/AU/<PHYSnetUsername>“

1.1 Fertige Umgebung als VM

8

Page 9: F-Praktikum SoSe 2018 - physnet.uni-hamburg.de · Allgemeine Informationen •Teilnahme am F-Praktikum nur möglich, wenn bei Stine registriert •Letzte Möglichkeit heute •Es

Vorbereitung der Computerübungen zum F-PraktikumMartin Stieben - 15.06.2016

• Python3 Installation:Windows/MaxOS Installer https://www.python.org/downloads/Linux apt „sudo apt-get install python3“

• Jupyter Notebook Installation:https://jupyter.readthedocs.io/en/latest/install.html

Oder Online: https://tmpnb.org/

• Alternativ auch als Paket „Anaconda“ (empfohlen):https://www.continuum.io/downloads (alle OS)

1.2 Python3 und Jupyter selbst installieren

9

Page 10: F-Praktikum SoSe 2018 - physnet.uni-hamburg.de · Allgemeine Informationen •Teilnahme am F-Praktikum nur möglich, wenn bei Stine registriert •Letzte Möglichkeit heute •Es

Vorbereitung der Computerübungen zum F-PraktikumMartin Stieben - 15.06.2016

2. Grundlagen des Programmierens

• Programmieren ist immer gleich, nur Sprache und „Rechtschreibung“ (Syntax) unterscheiden sich.

• Ein Programm tut immer genau das, was der Programmierer eingetippt hat.

• Wichtige Programmiersprachen:C++, Java, JavaScript, Perl, Python, (Fortran)

10

Page 11: F-Praktikum SoSe 2018 - physnet.uni-hamburg.de · Allgemeine Informationen •Teilnahme am F-Praktikum nur möglich, wenn bei Stine registriert •Letzte Möglichkeit heute •Es

Vorbereitung der Computerübungen zum F-PraktikumMartin Stieben - 15.06.2016

2.1 Variablen und Hierarchie

• Variablen haben stets einen Typ (z.B. Float, Integer, String)und können nur Daten dieses Typs aufnehmen

• Variablen müssen vor dem Gebrauch definiert werden

• Variablen haben einen begrenzten Gültigkeitsbereich.Nur Innerhalb und unterhalb einer Hierarchieebene. Beispiel:• Var_1 ist überall verfügbar

• Var_2 überall innerhalb der Hauptfunktion

• Var_3 (Var_5) innerhalb von Schleife_A (Schleife_B)

• Var_4.1 und 4.2 nur innerhalb der Verzweigungen

• Die Nebenfunktion hat nur Zugriff auf Var_1

• Die Verzweigung_IF kann alle Variablen nutzen (Ausnahme Var_4.2)

11

Var_1Hauptfunktion

Var_2Schleife_A

Var_3Verzweigung_IF

Var_4.1Verzweigung_ELSE

Var_4.2Schleife_B

Var_5Nebenfunktion

Page 12: F-Praktikum SoSe 2018 - physnet.uni-hamburg.de · Allgemeine Informationen •Teilnahme am F-Praktikum nur möglich, wenn bei Stine registriert •Letzte Möglichkeit heute •Es

Vorbereitung der Computerübungen zum F-PraktikumMartin Stieben - 15.06.2016

2.2 Arrays

• Array sind geordnete Listen von Datenfeldern (eine normale Variable besitzt genau ein Datenfeld)

• Arrays sind mit allen Datentypen möglich

• Arrays können beliebig mehrdimensional sein:1DArray = [0,1,2,3,4]2DArray = [ [00,01,02] , [10,11,12] , [20,21,22] ]3DArray = [ [ [000,001] , [010,011] ] , [ [100,101] , [110,111] ] ]

12

Page 13: F-Praktikum SoSe 2018 - physnet.uni-hamburg.de · Allgemeine Informationen •Teilnahme am F-Praktikum nur möglich, wenn bei Stine registriert •Letzte Möglichkeit heute •Es

Vorbereitung der Computerübungen zum F-PraktikumMartin Stieben - 15.06.2016

2.3 Verzweigungen

„if“ – „else if“ – „else“ „switch“ – „case“

if <Bedingung>…

else if <Bedingung>…

else…

switch <Wert>case Wert1:

…case Wert2:

…default:

• überprüft eine beliebige Bedingungen• „else if“ und „else“ sind optional

• vergleicht auf Identität mit den verfügbaren Optionen• mindestens ein „case“ oder „default“ muss existieren• nicht in Python implementiert

13

Page 14: F-Praktikum SoSe 2018 - physnet.uni-hamburg.de · Allgemeine Informationen •Teilnahme am F-Praktikum nur möglich, wenn bei Stine registriert •Letzte Möglichkeit heute •Es

Vorbereitung der Computerübungen zum F-PraktikumMartin Stieben - 15.06.2016

2.4 Schleifen

„for“ – Zählschleife „while“ – bedingungsgesteuerte Schleife

i=0for i < 2

…i = i + 1

while <Bedingung>…

• iteriert über eine bestimmte Zählsequenz wie Zahlen, Elemente in einer Liste oder Zeilen in einer Textdatei

• wiederholt, bis die Zählsequenz zu Ende ist

• prüft eine beliebige Bedingung • wiederholt, bis die Bedingung nicht mehr erfüllt ist

• Schleife verlassen mit „break“• aktuellen Durchlauf der Schleife beenden mit „continue“

14

Typische Anwendungen:• iterierte über alle Einträge (z.B. Zeilen) in einer Datei• iteriere über alle Elemente eines Arrays• iteriere über eine bestimmte Zahlenfolge (z.B. Ids von Datensätzen)

Page 15: F-Praktikum SoSe 2018 - physnet.uni-hamburg.de · Allgemeine Informationen •Teilnahme am F-Praktikum nur möglich, wenn bei Stine registriert •Letzte Möglichkeit heute •Es

Vorbereitung der Computerübungen zum F-PraktikumMartin Stieben - 15.06.2016

2.5 Vergleiche und Boolsche Operatoren

Vergleiche Boolsche Verknüpfungen

• größer und kleiner als: „>“ und“<„• größer und kleiner gleich: „>=“ und „<=“• exakt gleich und ungleich: „==“ und „!=“

• and (beide Optionen müssen „true“ sein)• or (eine beliebige der Optionen muss „true“ sein)• not (invertiert „true“/“false“)

Es sind beliebige komplexe Verknüpfungen möglich:if a==b and (a<=c and b<=c) or ((a==d and a!=c) or not a==c)

15

Das Ergebnis ist IMMER „true“ oder „false“.

Weitere Standardprüfungen:• existiert die Datei „filename“?• ist die Datei „filename“ gerade geöffnet?• hat die Variable „varname“ den Datentyp int/float/string?• hat die Variable „varname“ einen gültigen Wert (nicht „inf“ oder „nan“)

Page 16: F-Praktikum SoSe 2018 - physnet.uni-hamburg.de · Allgemeine Informationen •Teilnahme am F-Praktikum nur möglich, wenn bei Stine registriert •Letzte Möglichkeit heute •Es

Vorbereitung der Computerübungen zum F-PraktikumMartin Stieben - 15.06.2016

2.6 Funktionen

• Funktionen sind abgeschlossene Programmblöcke

• Zweck: häufige Aufgaben einmalig definieren und so abkürzen

• Funktionen können, müssen aber nicht (Typ „void“) ein Ergebnis zurückgeben

• Funktionen müssen definiert werden, bevor man sie verwenden möchte

• Aufbaubeispiel:Function1(LocalVar1,LocalVar2)

…Var3 = LocalVar1+LocalVar2return Var3

• Verwendungsbeispiel:Sum = Function1(3.1,5.2) Variable „Sum“ erhält den Wert „8.3“

16

Page 17: F-Praktikum SoSe 2018 - physnet.uni-hamburg.de · Allgemeine Informationen •Teilnahme am F-Praktikum nur möglich, wenn bei Stine registriert •Letzte Möglichkeit heute •Es

Vorbereitung der Computerübungen zum F-PraktikumMartin Stieben - 15.06.2016

2.7 Unterschiede zwischen Compiler und Interpreter

Compiler Interpreter

• erzeugt aus dem Source Code ein ausführbares Programm (Binary).

• integriert und verknüpft alle benötigten Bibliotheken. • Eine kompilierte Software kann nicht mehr verändert

werden.• Zweck: fertige Software erzeugen und verteilen.

• erzeugt eine Umgebung in der der Source Code wie ein Skript schrittweise kompiliert und sofort ausgeführt wird.

• Online-Interpreter: User gibt einen Befehl ein und der Interpreter führt ihn aus (Beispiel: Linux-Terminal).

• Skript-Interpreter: User schreibt eine Liste von Befehlen (Skript) in eine (Text-)Datei und lässt diese vom Interpreter abarbeiten (Beispiel Python).

• Theoretisch „korrekter“ Weg Programme zu erzeugen.• Einrichtung der Umgebung kann aufwendig sein zu umständlich für kleine Programme bessere Übersichtlichkeit bei komplexen Programmen

• Schnelle und einfache Einrichtung und Handhabe• Fokus auf den Programmcode geeignet für Anfänger und schnelle Lösungen

• Risiko: „Quick-and-Dirty“

17

Page 18: F-Praktikum SoSe 2018 - physnet.uni-hamburg.de · Allgemeine Informationen •Teilnahme am F-Praktikum nur möglich, wenn bei Stine registriert •Letzte Möglichkeit heute •Es

Vorbereitung der Computerübungen zum F-PraktikumMartin Stieben - 15.06.2016

Danke für eure Aufmerksamkeit!

18