informatikii –Übung1 gruppe 2 · 2019-09-27 · informatik ii –Übung 1 lukas burkhalter | 27....
TRANSCRIPT
![Page 1: InformatikII –Übung1 Gruppe 2 · 2019-09-27 · Informatik II –Übung 1 Lukas Burkhalter | 27. September 2019 | Lukas Burkhalter lubu@inf.ethz.ch InformatikII –Übung1](https://reader033.vdocuments.net/reader033/viewer/2022041620/5e3e908f787be606954c322b/html5/thumbnails/1.jpg)
Informatik II – Übung 1 Lukas Burkhalter | 27. September 2019 |
Lukas [email protected]
Informatik II – Übung 1Gruppe 2
1
![Page 2: InformatikII –Übung1 Gruppe 2 · 2019-09-27 · Informatik II –Übung 1 Lukas Burkhalter | 27. September 2019 | Lukas Burkhalter lubu@inf.ethz.ch InformatikII –Übung1](https://reader033.vdocuments.net/reader033/viewer/2022041620/5e3e908f787be606954c322b/html5/thumbnails/2.jpg)
Informatik II – Übung 1 Lukas Burkhalter | 27. September 2019 |
Welcome
2
§ PhD @ Distributed Systems Group§ Systems/Security/Privacy§ https://people.inf.ethz.ch/burlukas§ [email protected]
![Page 3: InformatikII –Übung1 Gruppe 2 · 2019-09-27 · Informatik II –Übung 1 Lukas Burkhalter | 27. September 2019 | Lukas Burkhalter lubu@inf.ethz.ch InformatikII –Übung1](https://reader033.vdocuments.net/reader033/viewer/2022041620/5e3e908f787be606954c322b/html5/thumbnails/3.jpg)
Informatik II – Übung 1 Lukas Burkhalter | 27. September 2019 |
Wie sieht meine Übungstunde aus?
3
§ Fragen aus der Vorlesung / Administratives
§ Praktische Aspekte: Demos, Java Tipps und Tricks
§ Nachbesprechung der letzten Übung
§ Vorbesprechung der nächsten Übung
-> Bin offen für Feedback und Anregungen, seit aktiv ich helfe gerne!
![Page 4: InformatikII –Übung1 Gruppe 2 · 2019-09-27 · Informatik II –Übung 1 Lukas Burkhalter | 27. September 2019 | Lukas Burkhalter lubu@inf.ethz.ch InformatikII –Übung1](https://reader033.vdocuments.net/reader033/viewer/2022041620/5e3e908f787be606954c322b/html5/thumbnails/4.jpg)
Informatik II – Übung 1 Lukas Burkhalter | 27. September 2019 |
Abgabe Übungen
§ Immer Donnerstag Mitternacht, 23:59 Uhr§ CodeExpert als Abgabeplatform§ https://expert.ethz.ch§ Auch Feedback auf CodeExpert
4
![Page 5: InformatikII –Übung1 Gruppe 2 · 2019-09-27 · Informatik II –Übung 1 Lukas Burkhalter | 27. September 2019 | Lukas Burkhalter lubu@inf.ethz.ch InformatikII –Übung1](https://reader033.vdocuments.net/reader033/viewer/2022041620/5e3e908f787be606954c322b/html5/thumbnails/5.jpg)
Informatik II – Übung 1 Lukas Burkhalter | 27. September 2019 |
Bonus Aufgaben
5
§ Übungen generell nicht obligatorisch -> kein Testat§ Zwei Bonus-Aufgaben
§ Ein Bonus auf die Endnote von bis zu maximal 0.25§ Je 0.125 per Bonusaufgabe§ Für die Freischaltung ist XP notwendig § Wichtig: Selbständig lösen und nicht abschreiben/kopieren
![Page 6: InformatikII –Übung1 Gruppe 2 · 2019-09-27 · Informatik II –Übung 1 Lukas Burkhalter | 27. September 2019 | Lukas Burkhalter lubu@inf.ethz.ch InformatikII –Übung1](https://reader033.vdocuments.net/reader033/viewer/2022041620/5e3e908f787be606954c322b/html5/thumbnails/6.jpg)
Informatik II – Übung 1 Lukas Burkhalter | 27. September 2019 |
Übungsstunden Slides
§ Ihr findet die Slides/Demos jeweils auf: https://people.inf.ethz.ch/burlukas/info2/
6
![Page 7: InformatikII –Übung1 Gruppe 2 · 2019-09-27 · Informatik II –Übung 1 Lukas Burkhalter | 27. September 2019 | Lukas Burkhalter lubu@inf.ethz.ch InformatikII –Übung1](https://reader033.vdocuments.net/reader033/viewer/2022041620/5e3e908f787be606954c322b/html5/thumbnails/7.jpg)
Informatik II – Übung 1 Lukas Burkhalter | 27. September 2019 |
Java Basics
§ .java files sind Quellcode§ .class (Bytecode) files werden aus .java files vom Compiler erzeugt§ .jar files sind Bibliotheken
7
Java code Java byte code
.java .class
JVM
Java Virtual Machine
1) https://clipartpng.com/?741,computer-cpu-png-clipart
1)
![Page 8: InformatikII –Übung1 Gruppe 2 · 2019-09-27 · Informatik II –Übung 1 Lukas Burkhalter | 27. September 2019 | Lukas Burkhalter lubu@inf.ethz.ch InformatikII –Übung1](https://reader033.vdocuments.net/reader033/viewer/2022041620/5e3e908f787be606954c322b/html5/thumbnails/8.jpg)
Informatik II – Übung 1 Lukas Burkhalter | 27. September 2019 |
CodeExpert IDE vs. Native IDE
8
Java Programmieren (ohne Konsole)
![Page 9: InformatikII –Übung1 Gruppe 2 · 2019-09-27 · Informatik II –Übung 1 Lukas Burkhalter | 27. September 2019 | Lukas Burkhalter lubu@inf.ethz.ch InformatikII –Übung1](https://reader033.vdocuments.net/reader033/viewer/2022041620/5e3e908f787be606954c322b/html5/thumbnails/9.jpg)
Informatik II – Übung 1 Lukas Burkhalter | 27. September 2019 |
Eclipse (live demo)
§ u0.zip entpacken (von der Vorlesungswebseite)
§ Projekt öffnen§ File → Open Projects from File System → Directory → Ordner u0
auswählen
§ JUnit library hinzufügen§ Rechstklick auf u0 → Properties (ganz unten) → Java Build Path →
Libraries → Add Library → Junit → Finish → Apply and Close
9
![Page 10: InformatikII –Übung1 Gruppe 2 · 2019-09-27 · Informatik II –Übung 1 Lukas Burkhalter | 27. September 2019 | Lukas Burkhalter lubu@inf.ethz.ch InformatikII –Übung1](https://reader033.vdocuments.net/reader033/viewer/2022041620/5e3e908f787be606954c322b/html5/thumbnails/10.jpg)
Informatik II – Übung 1 Lukas Burkhalter | 27. September 2019 |
IDE
10
Run as Java Application
Ausgabekonsole
Java „perspective” fürJava Entwicklung
![Page 11: InformatikII –Übung1 Gruppe 2 · 2019-09-27 · Informatik II –Übung 1 Lukas Burkhalter | 27. September 2019 | Lukas Burkhalter lubu@inf.ethz.ch InformatikII –Übung1](https://reader033.vdocuments.net/reader033/viewer/2022041620/5e3e908f787be606954c322b/html5/thumbnails/11.jpg)
Informatik II – Übung 1 Lukas Burkhalter | 27. September 2019 |
Debug
11
Debug as Java Application
Ausgabekonsole
Debug „perspective” für Debugging
Breakpoint
![Page 12: InformatikII –Übung1 Gruppe 2 · 2019-09-27 · Informatik II –Übung 1 Lukas Burkhalter | 27. September 2019 | Lukas Burkhalter lubu@inf.ethz.ch InformatikII –Übung1](https://reader033.vdocuments.net/reader033/viewer/2022041620/5e3e908f787be606954c322b/html5/thumbnails/12.jpg)
Informatik II – Übung 1 Lukas Burkhalter | 27. September 2019 |
JUnit Tests
12
Run Tests.javaas JUnit test
Alle Testserfolgreich
JUnit test methods
![Page 13: InformatikII –Übung1 Gruppe 2 · 2019-09-27 · Informatik II –Übung 1 Lukas Burkhalter | 27. September 2019 | Lukas Burkhalter lubu@inf.ethz.ch InformatikII –Übung1](https://reader033.vdocuments.net/reader033/viewer/2022041620/5e3e908f787be606954c322b/html5/thumbnails/13.jpg)
Informatik II – Übung 1 Lukas Burkhalter | 27. September 2019 |
Javadoc
13
Javadoc tab
Javadocdescription
Generate Javadoc Comments via Source -> Generate Element Comment
![Page 14: InformatikII –Übung1 Gruppe 2 · 2019-09-27 · Informatik II –Übung 1 Lukas Burkhalter | 27. September 2019 | Lukas Burkhalter lubu@inf.ethz.ch InformatikII –Übung1](https://reader033.vdocuments.net/reader033/viewer/2022041620/5e3e908f787be606954c322b/html5/thumbnails/14.jpg)
Informatik II – Übung 1 Lukas Burkhalter | 27. September 2019 |
Eclipse Tricks
14
§ Keyboard shortcuts: Control + Shift + L§ Auto-formatting: Control + Shift + F§ Auto-completion: Control + Space§ Reminder for Javadoc:/*** This function implements the ancient Egyptian multiplication.* * @param a must be a positive integer* @param b must be a positive integer** @return the product of a and b* @throws IllegalArgumentException*/
public static int mul(int a, int b) throws IllegalArgumentException
![Page 15: InformatikII –Übung1 Gruppe 2 · 2019-09-27 · Informatik II –Übung 1 Lukas Burkhalter | 27. September 2019 | Lukas Burkhalter lubu@inf.ethz.ch InformatikII –Übung1](https://reader033.vdocuments.net/reader033/viewer/2022041620/5e3e908f787be606954c322b/html5/thumbnails/15.jpg)
Informatik II – Übung 1 Lukas Burkhalter | 27. September 2019 |
Letzte Übung
Übung 0
15
![Page 16: InformatikII –Übung1 Gruppe 2 · 2019-09-27 · Informatik II –Übung 1 Lukas Burkhalter | 27. September 2019 | Lukas Burkhalter lubu@inf.ethz.ch InformatikII –Übung1](https://reader033.vdocuments.net/reader033/viewer/2022041620/5e3e908f787be606954c322b/html5/thumbnails/16.jpg)
Informatik II – Übung 1 Lukas Burkhalter | 27. September 2019 |
Besprechung U0.A4
16
§ 3 Kannen mit unterschidelicher grösse (8l, 5l, 2l)§ Graph zeichnen + Ereichbarkeit in min-x Schritten
![Page 17: InformatikII –Übung1 Gruppe 2 · 2019-09-27 · Informatik II –Übung 1 Lukas Burkhalter | 27. September 2019 | Lukas Burkhalter lubu@inf.ethz.ch InformatikII –Übung1](https://reader033.vdocuments.net/reader033/viewer/2022041620/5e3e908f787be606954c322b/html5/thumbnails/17.jpg)
Informatik II – Übung 1 Lukas Burkhalter | 27. September 2019 |
Lösung U0.A4c
Maximale Anzahl von Umschüttungen: 6 (siehe Graph)
Mittlere Anzahl von Umschüttungen:
17
Besprechung U0.A4
![Page 18: InformatikII –Übung1 Gruppe 2 · 2019-09-27 · Informatik II –Übung 1 Lukas Burkhalter | 27. September 2019 | Lukas Burkhalter lubu@inf.ethz.ch InformatikII –Übung1](https://reader033.vdocuments.net/reader033/viewer/2022041620/5e3e908f787be606954c322b/html5/thumbnails/18.jpg)
Informatik II – Übung 1 Lukas Burkhalter | 27. September 2019 |
Nächste Übung
Übung 1
18
![Page 19: InformatikII –Übung1 Gruppe 2 · 2019-09-27 · Informatik II –Übung 1 Lukas Burkhalter | 27. September 2019 | Lukas Burkhalter lubu@inf.ethz.ch InformatikII –Übung1](https://reader033.vdocuments.net/reader033/viewer/2022041620/5e3e908f787be606954c322b/html5/thumbnails/19.jpg)
Informatik II – Übung 1 Lukas Burkhalter | 27. September 2019 |
Altägyptische Multiplikation (U1.A1)
- rekursiver algorithmus- a,b positive ganze Zahlen
19
6 x 11521
122448
6 + 12 + 48 = 66
gerade <-
a b
![Page 20: InformatikII –Übung1 Gruppe 2 · 2019-09-27 · Informatik II –Übung 1 Lukas Burkhalter | 27. September 2019 | Lukas Burkhalter lubu@inf.ethz.ch InformatikII –Übung1](https://reader033.vdocuments.net/reader033/viewer/2022041620/5e3e908f787be606954c322b/html5/thumbnails/20.jpg)
Informatik II – Übung 1 Lukas Burkhalter | 27. September 2019 |
Altägyptische Multiplikation (U1.A1)
§ a) Induktion auch über a möglich?
§ b) Terminiert der Algorithmus? (Beweis als Text)
§ c) Was passiert bei b = 0 ?
20
Kurze Begründungen als Text reichen hier aus
![Page 21: InformatikII –Übung1 Gruppe 2 · 2019-09-27 · Informatik II –Übung 1 Lukas Burkhalter | 27. September 2019 | Lukas Burkhalter lubu@inf.ethz.ch InformatikII –Übung1](https://reader033.vdocuments.net/reader033/viewer/2022041620/5e3e908f787be606954c322b/html5/thumbnails/21.jpg)
Informatik II – Übung 1 Lukas Burkhalter | 27. September 2019 |
U1.A2 Funktionsaufrufe zählen
21
![Page 22: InformatikII –Übung1 Gruppe 2 · 2019-09-27 · Informatik II –Übung 1 Lukas Burkhalter | 27. September 2019 | Lukas Burkhalter lubu@inf.ethz.ch InformatikII –Übung1](https://reader033.vdocuments.net/reader033/viewer/2022041620/5e3e908f787be606954c322b/html5/thumbnails/22.jpg)
Informatik II – Übung 1 Lukas Burkhalter | 27. September 2019 |
Hinweise zu U1.A2
Abschätzung von Rechenaufwand
a) Wie oft rufen sich diese Methoden selbst auf bei einer Eingabe x? :gerade(int x) verdopple(int x) halbiere(int x)
b) Aufwandabschätzung einer einzigen Instanz von f(int a, int b) Resultat soll ein Ausdruck von a und b sein
c) Gesamtzahl aller Methodenaufrufe von f(int a, int b) verwende Resultat aus b) -> versuche das Pattern zu erkennen und alsSumme darzustellen
22
static boolean gerade(int x) { if (x == 0) return true; return !gerade(x-1);
}
![Page 23: InformatikII –Übung1 Gruppe 2 · 2019-09-27 · Informatik II –Übung 1 Lukas Burkhalter | 27. September 2019 | Lukas Burkhalter lubu@inf.ethz.ch InformatikII –Übung1](https://reader033.vdocuments.net/reader033/viewer/2022041620/5e3e908f787be606954c322b/html5/thumbnails/23.jpg)
Informatik II – Übung 1 Lukas Burkhalter | 27. September 2019 |
Hinweise zu U1.A3
Überprüfung von Benutzereingaben
In mult Methodeà throw new IllegalArgumentException(…)
JUnitwie schon besprochen (demo)(https://www.tutorialspoint.com/junit/junit_overview.htm)
Javadocwie schon besprochen (demo)(https://www.tutorialspoint.com/java/java_documentation.htm)
23
![Page 24: InformatikII –Übung1 Gruppe 2 · 2019-09-27 · Informatik II –Übung 1 Lukas Burkhalter | 27. September 2019 | Lukas Burkhalter lubu@inf.ethz.ch InformatikII –Übung1](https://reader033.vdocuments.net/reader033/viewer/2022041620/5e3e908f787be606954c322b/html5/thumbnails/24.jpg)
Informatik II – Übung 1 Lukas Burkhalter | 27. September 2019 |
…viel Spass!
24
https://xkcd.com/303/