Informatik II – Übung 1 Gruppe 7 Leyna Sadamori [email protected] Informatik II – Übung 1 Leyna Sadamori | 27. Februar 2014 | 1 Ablauf der Übung § Administratives (wenn vorhanden) § Debriefing (Besprechung des Blattes der Vorwoche) § Briefing (Ausblick auf das nächste Blatt) § Fragen: § in der Stunde oder im Anschluss § per Email § Büro (Termine vorab per Email vereinbaren!) Informatik II – Übung 1 Leyna Sadamori | 27. Februar 2014 | 2 Administratives § Allgemeine Informationen § Abgabe (falls gewünscht) § Testat nicht mehr obligatorisch! § Regeln bleiben wie mit Testat § Gruppeneinteilung Informatik II – Übung 1 Leyna Sadamori | 27. Februar 2014 | 3 Allgemeine Informationen § Material § Skript: http://vs.inf.ethz.ch/edu/I2/ § Übungen: http://vs.inf.ethz.ch/edu/I2/#uebungen § Gruppe 7 § Ort: CAB G 52 § Zeit: Donnerstag 13:00-13:45 Uhr Informatik II – Übung 1 Leyna Sadamori | 27. Februar 2014 | 4 Abgabe § Bis zum folgenden Mittwoch, 13:00 Uhr! § Per Email § Per Einwurf in den Briefkasten (CNB H Stock) § Abgaben in Gruppen (zu zweit oder alleine) § Quellcode per Email § Theoretische Antworten § Handschriftlich in den Briefkasten § Als Scan oder Text per Email (keine Fotos!) Informatik II – Übung 1 Leyna Sadamori | 27. Februar 2014 | 5 Abgaben § Abgaben sind nicht mehr obligatorisch! § ETH-Entscheid für den Wegfall von Testaten § Abgaben sind dennoch empfohlen § Vorbereitung für Klausur § Gute Korrelation zwischen Resultaten in Übungen und Klausur § Programmieraufgaben auch in Klausur! § Verspätete Abgaben werden nicht berücksichtigt! § Plagiate werden nicht geduldet und gemeldet! Informatik II – Übung 1 Leyna Sadamori | 27. Februar 2014 | 6 Abgabe § Format § Theoretische Antworten: § Quellcode: Uxx_Gxx_<Teamname>.pdf Uxx_Gxx_<Teamname>.zip § E-Mail § Betreff: § Anhang: [Info2] Abgabe Uxx_Gxx_<Teamname> PDF und ZIP Datei § Beispiel: § Betreff: [Info2] Abgabe U01_G01_Good2Go! § Anhänge: U01_G01_Good2Go.pdf, U01_G01_Good2Go.zip! § Quellcode § Source: src Ordner mit .java Files § Libraries: lib Ordner mit .jar Files § Keine .class Files! Informatik II – Übung 1 Leyna Sadamori | 27. Februar 2014 | 7 Gruppeneinteilung 1. Einteilung in 2er-Gruppen 2. Teamnamen überlegen 3. Email an mich mit... § § § (richtigen) Namen Email Adressen Teamnamen 4. Bestätigungs-Email von mir Informatik II – Übung 1 Leyna Sadamori | 27. Februar 2014 | 8 Informatik II – Übung 1 Leyna Sadamori | 27. Februar 2014 | 9 Java Installation http://www.oracle.com/technetwork/java/javase/downloads/index.html J2SE – Java 2 Platform, Standard Edition Java SE 7 JDK (Java Development Kit) dieses Paket enthält auch das JRE (Java Runtime Environment) java -version Informatik II – Übung 1 Leyna Sadamori | 27. Februar 2014 | 10 Java Files § .java files sind Quellcode § .class (Bytecode) files werden aus .java files vom Compiler erzeugt § .jar files sind Bibliotheken Ein Java Programm läuft prinzipiell auf allen gängigen Computern und Betriebssystemen (PC, Server, Mobiltelefon, Linux, Windows, etc..) Java source code Java bytecode Browser mit integrierter VM Internet-PC Betriebssystem mit VM Spiel-Konsole Mobiltelefon Bytecode wird in einer virtuellen Machine (VM) interpretiert. Alle VMs sprechen die gleiche Sprache, die Bytecode. VM in speziellen VLSI-chip Waschmaschine Informatik II – Übung 1 Kreditkarte Leyna Sadamori | 27. Februar 2014 | 11 Eclipse www.eclipse.org Eclipse IDE for Java Developers Informatik II – Übung 1 Leyna Sadamori | 27. Februar 2014 | 12 New Java Project 1 Das Archiv u0.zip an einem Ort eurer Wahl extrahieren (z.B. /ort/meiner/wahl/u0) 5 2 3 Sources in u0 werden automatisch hinzugefügt 4 Informatik II – Übung 1 Leyna Sadamori | 27. Februar 2014 | 13 New Java Project 6 8 7 JUnit 4 muss ausgewählt werden! Informatik II – Übung 1 9 Leyna Sadamori | 27. Februar 2014 | 14 IDE Run as Java Application Java „perspective” für Java Entwicklung Ausgabekonsole Informatik II – Übung 1 Leyna Sadamori | 27. Februar 2014 | 15 Debug Debug as Java Application Debug „perspective” für Debugging Breakpoint Ausgabekonsole Informatik II – Übung 1 Leyna Sadamori | 27. Februar 2014 | 16 JUnit Tests Run Tests.java as JUnit test Alle Tests erfolgreich JUnit test methods Informatik II – Übung 1 Leyna Sadamori | 27. Februar 2014 | 17 Javadoc Generate Javadoc Comments via Source -> Generate Element Comment Javadoc description Javadoc tab Informatik II – Übung 1 Leyna Sadamori | 27. Februar 2014 | 18 Debriefing Übung 0 Informatik II – Übung 1 Leyna Sadamori | 27. Februar 2014 | 19 Lösung U0.A4a und U0.A4b Informatik II – Übung 1 Leyna Sadamori | 27. Februar 2014 | 20 Lösung U0.A4c Maximale Anzahl von Umschüttungen: 6 (siehe Graph) Mittlere Anzahl von Umschüttungen: Informatik II – Übung 1 Leyna Sadamori | 27. Februar 2014 | 21 Briefing Übung 1 Informatik II – Übung 1 Leyna Sadamori | 27. Februar 2014 | 22 Hinweise zu U1 A1: Terminierung und Korrektheit von Algorithmen A2: Aufwandabschätzung A3: Java: Ausnahmen, Unit-Tests und Dokumentierung Informatik II – Übung 1 Leyna Sadamori | 27. Februar 2014 | 23 Hinweise zu U1.A1 Altägyptische Multiplikation -rekursiver Algorithmus für a,b positive ganze Zahlen -Korrektheit per Induktion bewiesen Informatik II – Übung 1 Leyna Sadamori | 27. Februar 2014 | 24 Hinweise zu U1.A1 Vollständige Induktion 1.Induktionsanfang: Zeige, dass der Satz für einen bestimmten Wert wahr ist (für den kleinsten Fall, „base case”, z.B. b = 1) 2. Induktionshypothese: Wir nehmen an, dass der Satz für n (b = n) gilt 3. Induktionsschritt: Beweise, dass der Satz für b = n + 1 gilt (durch algebraische Umformulierung) !siehe Vorlesung Informatik II – Übung 1 Leyna Sadamori | 27. Februar 2014 | 25 Hinweise zu U1.A1 Teilaufgaben: a) Testet Induktion über a b) Terminiert der Algorithmus? Beweis? c) Nachdenken mit kleinstem Fall b=0 Informatik II – Übung 1 Leyna Sadamori | 27. Februar 2014 | 26 Hinweise zu U1.A2 Abschätzung von Rechenaufwand a) Aufwandabschätzung von: 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) Informatik II – Übung 1 Leyna Sadamori | 27. Februar 2014 | 27 Hinweise zu U1.A3 Überprüfung von Benutzereingaben In mult Methode à throw new IllegalArgumentException(…) Tutorial on Exceptions: http://download.oracle.com/javase/tutorial/essential/exceptions/ JUnit wie schon besprochen Javadoc wie schon besprochen Informatik II – Übung 1 Leyna Sadamori | 27. Februar 2014 | 28 …viel Spass! Informatik II – Übung 1 Leyna Sadamori | 27. Februar 2014 | 29