F-Praktikum SoSe 2018 - physnet.uni-hamburg.de · Allgemeine Informationen •Teilnahme am...

Post on 15-Apr-2019

215 views 0 download

Transcript of F-Praktikum SoSe 2018 - physnet.uni-hamburg.de · Allgemeine Informationen •Teilnahme am...

F-Praktikum SoSe 20182. Vorbesprechung

20.06.2018

Prof. Dr. Erika Garutti, Christoph Krieger

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

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

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 fpraktikum@desy.de

20.06.2018 F-Praktikum SoSe 2018 - 2. Vorbesprechung 4

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

Vorbereitung der Computerübungen

zum F-Praktikum

Martin Stieben

040/42838-2435

admin@physnet.uni-hamburg.de

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

5

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

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

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

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

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

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

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

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

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)

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“)

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

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

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

Danke für eure Aufmerksamkeit!

18