Informatik II – Übung 1 Gruppe 7

Werbung
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
Herunterladen