• Keine Ergebnisse gefunden

Abschluss des Praktikums

N/A
N/A
Protected

Academic year: 2021

Aktie "Abschluss des Praktikums"

Copied!
11
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Abschluss des Praktikums

(2)

Endabnahme

Bewertung der Praktikumsarbeit erfolgt durch Endabnahme mit Gesamtdauer von ca. 90 Minuten. Ablauf wie bei Vorprojekt.

Pr ¨asentation der Gruppenarbeit (max. 25 Minuten)

Jeder Teilnehmer pr ¨asentiert in ca. 5 Minuten einen Teil des Projekts; Abwechslung bei Pr ¨asentation nach Eurer Wahl.

Vorf ¨uhrung des Programms (max. 10 Minuten)

Die Vorf ¨uhrung kann mit der Pr ¨asentation vermischt sein.

Befragung

Befragung der einzelnen Teilnehmer zu Details des Projekts, zur Bestimmung der individuellen Note.

Pr ¨ufungsprotokoll

Offline gespeicherte Videoaufnahme; wird wie eine Klausuren

archiviert, Verwendung nur f ¨ur den Fall m ¨oglicher Einspr ¨uche.

(3)

Pr ¨asentation

Ziel der Projektpr ¨asentation ist, einen Uberblick ¨ ¨ uber die geleistete Arbeit der Gruppe zu geben. Uns interessieren:

I Wie ist das Programm aufgebaut?

I

Was sind die wichtigsten Klassen und ihre Aufgaben?

I

Wie werden die Daten im Modell gespeichert?

I

Wie funktioniert die Anzeige?

I Viele Teile des Projekts k ¨onnen auf verschiedene Weise gel ¨ost werden. Welche Entscheidungen wurden getroffen?

I Wurden Erweiterungen (evtl. eigene) implementiert?

I Gibt es bekannte M ¨angel?

I Wer hat was gemacht? Wie wurde kommuniziert?

(4)

Pr ¨asentation

Pr ¨asentation soll Zuh ¨orer ¨uberzeugen, dass gute Software entwickelt wurde!

Stellt eigene Ideen heraus und erz ¨ahlt uns nicht, was wir schon kennen (z.B. Spezifikation wiederholen).

Pr ¨asentation gibt M ¨oglichkeit, auf besonders interessante oder gelungene Teile der eigenen Arbeit hinzuweisen, z.B.:

I Erkl ¨arung eines implementierten Algorithmus

I Einfache L ¨osung f ¨ur ein zun ¨achst schwierig erscheinendes Problem

I Elegante Probleml ¨osungen

I Sch ¨ oner, eigener Java-Code

(5)

Pr ¨asentation

In der Pr ¨asentation muss in kurzer Zeit die Arbeit von zwei Monaten erkl ¨art werden.

Empfehlung:

I Die Gesamtheit der Arbeit ¨uberblicksartig umreissen.

Gegenbeispiel: Endlose Folien zur View-Beschreibung, welche sagen das eine GridPane in einer VBox in einer AnchorPane in einer . . . Zzzz. . .

I Einen interessanten Punkt herausgreifen und im Detail erkl ¨aren.

Beispiel: Realisierung unseres Super-Zooms zwischen Level ¨ubersicht und Level mit

IrgendeineSuperDuperPane . . .

(6)

Bewertungskriterien

I Gesamteindruck der entwickelten Software, d.h.

Funktionalit ¨at, Korrektheit, Vollst ¨andigkeit

I Erweiterungen (Anzahl + Schwierigkeitsgrad)

I Umsetzung der Plenumsinhalte

Beispiele: MVC, Datenstrukturen, Fehlerbehandlung, Vermeidung von Anti-Patterns, Dokumentation, . . .

I Lesbarkeit des Codes

I Pr ¨asentation

I Antworten in der Befragung

(7)

Verbesserungsm ¨oglichkeiten Struktur

I Model-View-Controller (bzw. MVP) umgesetzt?

I Single-Responsibility Principle beachtet?

I Ist der ¨offentliche Teil der Klassen (public) ad ¨aquat dokumentiert?

I Ist nur public, was auch public sein muss?

I Oft gibt es Fehler, die durch Herausgabe von

ver ¨anderlichen privaten Daten einer Klasse zustande kommen.

Beispiel:

private Map<K, V> map;

public Map<K, V> getMap() { return map;

}

Achtung: Ein Aufrufer kann die Map ¨andern!

(8)

Verbesserungsm ¨oglichkeiten Struktur

I Model-View-Controller (bzw. MVP) umgesetzt?

I Single-Responsibility Principle beachtet?

I Ist der ¨offentliche Teil der Klassen (public) ad ¨aquat dokumentiert?

I Ist nur public, was auch public sein muss?

I Oft gibt es Fehler, die durch Herausgabe von

ver ¨anderlichen privaten Daten einer Klasse zustande kommen.

Beispiel:

private Map<K, V> map;

public Map<K, V> getMap() {

return Collections.unmodifieableMap(map);

}

Verhindern durch unver ¨anderliche Objekte

oder durch defensives Kopieren. (Ver ¨anderliche Inhalte?)

(9)

Verbesserungsm ¨oglichkeiten Programmcode

I Ist der Code f ¨ur Menschen leicht lesbar?

I Wurden gute sprechende Namen f ¨ur Klassen, Methoden usw. verwendet?

I Wurden feste Werte als Konstanten deklariert?

I Werden Strings verwendet, wo Enums angebracht w ¨aren?

I Gibt es viel Code, der mit Copy-and-Paste kopiert wurde?

I Gibt es unn ¨otige Redundanz? (Wiederholung ¨ahnlicher Code-Bl ¨ocke?)

I Kann man den Code noch vereinfachen?

I Wurde der richtige Typ gew ¨ahlt?

Beispiel: Funktioniert Methode void m(ArrayList<E> l)

wirklich nur f ¨ur ArrayList<E> oder auch f ¨ur List<E>?

(10)

Verbesserungsm ¨oglichkeiten Fehlerbehandlung

I Was passiert, wenn der Benutzer alle m ¨oglichen unsinnigen Eingaben macht?

I Was passiert, wenn z.B. Level-Dateien nur teilweise gefunden werden?

I Werden Ausnahmen ad ¨aquat behandelt?

D.h. also gerade keine catch-alls wie catch Exeption e

I Werden Runtime-Exceptions wie NullPointerException

abgefangen anstatt die Fehler im Code zu beheben?

(11)

Abgabe Hauptprojekt

Abgabe erfolgt wie bei Vorprojekt ¨uber das GIT-Repository.

I Gruppenname muss enthalten sein

I Gruppenbetreuer und Veranstalter (S. Barth, S. Jost) m ¨ussen Zugriff auf Repository haben

I Vollst ¨andiger Quellcode muss enthalten sein

I Pr ¨asentation als PDF muss enthalten sein

I Lizenz-Datei muss enthalten sein (D ¨urfen wir Screenshots und/oder Code von Euch auf ver ¨offentlichen?)

Stichtag: 25.02.18, 23:59 Uhr

Pr ¨asentation/Pr ¨ufung:

Mittwoch 28.2.18, Donnerstag 1.3.18 oder Freitag 2.3.18

Bitte teilt Eurem Betreuer diese Woche Einschr ¨ankungen

bez ¨uglich Datum/Uhrzeit mit; Gruppenpr ¨ufung k ¨onnen dann

ggf. vorgezogen werden (z.B. 22.2.18).

Referenzen

ÄHNLICHE DOKUMENTE

Einf¨ uhrung in die Analysis Pr¨ ufung 22.10.2015 - Teil 2?. Name,

• 1991 veröffentlichte Linus Torvalds unter der GNU General Public License (GPL) den ersten Linux Kernel für die x86 Architektur.. • Linux wird synonym für Linux

Julie hat in ihrer Funktion als Chef-Statistikerin des Peer-Mediatoren-Teams statistisch analysiert, wie viel Zeit die Sch¨ uler ihrer Schule ¨ uber alle Pausen des Schultags

• F¨ ur jede Aussage gibt es 1 Punkt, wenn sie korrekt markiert wird. 1 Punkt wird abgezogen, wenn eine Aussage falsch markiert wird. Wenn eine Aussage nicht markiert wird, gibt

Jonas, der selbst an jeder Abstimmung teilnimmt, ist ¨ uberzeugt, dass innerhalb seines Freundeskreises die Wahlbeteiligung wesentlich h¨ oher ist als der Schweizer Durch- schnitt.

Ueli schliesst daraus, dass es mit hoher Wahrscheinlichkeit keinen Unterschied in der Orientierungsf¨ ahigkeit von Mann und Frau gibt. Welchen Fehler hat Ueli gemacht?. a) Der Test

• F¨ ur jede Aussage gibt es 1 Punkt, wenn sie korrekt markiert wird. 1 Punkt wird abgezogen, wenn eine Aussage falsch markiert wird. Wenn eine Aussage nicht markiert wird, gibt

Ω repr¨asentiert eine endliche Menge von Objekten (irgendeiner Art, es kann sich auch um abstrakte Objekte oder um Situationen handeln) und wird als Referenzmenge der