Eclipse in der Hochschullehre
¨ Axel Bottcher Hochschule fur ¨ angewandte Wissenschaften — Fachhochschule Munchen ¨ ¨ fur Fakultat ¨ Informatik und Mathematik 30. November 2006
1 / 23
Bessere Software Bessere Software
Einleitung Einsatz als IDE
1. 2. 3.
Vorlesung Software-Architektur Projekte im Rahmen von Diplomarbeiten Schlussfolgerungen
¨ Was konnen wir als Hochschule tun im Hinblick auf Bessere Software? −→Bessere Entwickler ausbilden
Praxisnahe Ausbildung Ausbildungsinhalte permanent uberpr ¨ ufen ¨ und hinterfragen Den Dialog mit der Praxis suchen (beispielsweise diese Konferenz)
Wie kann uns dabei Eclipse helfen?
Moderne, freie IDE mit großer Relevanz in der Praxis Komplexes, erweiterbares Framework Projektgrundlage
2 / 23
Einleitung Bessere Software Einleitung Einsatz als IDE Vorlesung Software-Architektur Projekte im Rahmen von Diplomarbeiten Schlussfolgerungen
Erster Einsatz von Eclipse im Rahmen eines Kooperationsprojekts mit einem Chipkartenhersteller. Studierende und Profs entwickeln gemeinsam Plugins zum Entwickeln und Testen von Karten-Software. ¨ Das Konzept war vollstandig uberzeugend. ¨ ¨ Der Funktionsumfang proprietarer kommerzieller Produkte wurde sehr schnell erreicht. Dies war der Startpunkt fur ¨ verschiedene Projekte.
3 / 23
Bessere Software Einleitung Einsatz als IDE Wo verwendet man in der Ausbildung uberhaupt ¨ eine IDE? Heutige Anforderugen an eine IDE Eclipse?
Einsatz als IDE
Eclipse: Eine IDE fur ¨ viele Vorlesungen Vorlesung Software-Architektur Projekte im Rahmen von Diplomarbeiten Schlussfolgerungen
4 / 23
Wo verwendet man in der Ausbildung uberhaupt ¨ eine IDE? Bessere Software Einleitung Einsatz als IDE Wo verwendet man in der Ausbildung uberhaupt ¨ eine IDE? Heutige Anforderugen an eine IDE Eclipse?
Vielen Studierenden ist der Umgang mit Kommandozeilenwerkzeugen nicht ¨ gelaufig ( Wenn ich da doppelt klicke, passiert ja gar nichts“) ” −→In den Grundlagenvorlesungen ist (wenigstens zu Beginn) die Einubung ¨ ¨ der Toolchain von Hand“ unerlassslich. ”
javac myprog.java java -classpath xyz myprog
Eclipse: Eine IDE fur ¨ viele Vorlesungen Vorlesung Software-Architektur Projekte im Rahmen von Diplomarbeiten Schlussfolgerungen
5 / 23
Heutige Anforderugen an eine IDE Bessere Software Einleitung Einsatz als IDE Wo verwendet man in der Ausbildung uberhaupt ¨ eine IDE? Heutige Anforderugen an eine IDE Eclipse? Eclipse: Eine IDE fur ¨ viele Vorlesungen Vorlesung Software-Architektur Projekte im Rahmen von Diplomarbeiten
Trend geht von großen Pools an Laborrechnern hin zu ¨ ¨ aber jeder Studierende eine andere Notebook-Arbeitsplatzen. Damit tragt Umgebung mit sich herum. Anforderugen an eine IDE aus Sicht der Lehre (in absteigender Wichtigkeit): 1. 2. 3. 4. 5. 6.
Praktische Relevanz Freie Verfugbarkeit ¨ Leichter Einstieg ¨ Plattformunabhangigkeit ¨ Sprachunabhangigkeit Integriebarkeit wichtiger Tools
Schlussfolgerungen
6 / 23
Eclipse? Bessere Software
Vorteile von Eclipse
Einleitung Einsatz als IDE Wo verwendet man in der Ausbildung uberhaupt ¨ eine IDE? Heutige Anforderugen an eine IDE
Eclipse? Eclipse: Eine IDE fur ¨ viele Vorlesungen Vorlesung Software-Architektur Projekte im Rahmen von Diplomarbeiten
¨ Leicht installierbar (auch fur ¨ blutige Anfanger) ¨ Plattformunabhangig (Dozent sieht auch auf allen Laptops die gleiche IDE) Keine Lizenzprobleme Tauglich bzw. erweiterbar fur ¨ viele Sprachen; dadurch kein Umlernen erforderlich
Nachteile durfen ¨ nicht verschwiegen werden
Schlussfolgerungen
¨ anfangs viele Sudierende Funktionsumfang erschlagt Glaubenskriege verschieben sich teilweise auf die IDEs ( in der Firma, in ” der ich nebenbei arbeite wird IntelliJ verwendet, das ist viel besser“...) Wenn spezielle Plugins verwendet werden, muss die Version exakt ¨ vorgeschrieben werden (siehe auch spater)
7 / 23
Eclipse: Eine IDE fur ¨ viele Vorlesungen Bessere Software Einleitung
Fur ¨ fast alle Programmiersprachen einsetzbar Durch eigene Plugins fur ¨ eigene Bedurfnisse ¨ anpassbar
Einsatz als IDE Wo verwendet man in der Ausbildung uberhaupt ¨ eine IDE? Heutige Anforderugen an eine IDE Eclipse?
¨ fur Einsatz an der FH Munchen, ¨ Fakultat ¨ Informatik und Mathematik: 1. 2.
Eclipse: Eine IDE fur ¨ viele Vorlesungen Vorlesung Software-Architektur Projekte im Rahmen von Diplomarbeiten Schlussfolgerungen
3. 4. 5.
Software-Entwicklung (in Java) Maschinennahe Aufgabenstellungen (C-Entwicklung fur ¨ Gameboy-Advance) Software-Engineering ¨ Softwarearchitektur (siehe nachstes Kapitel) Rechnerarchitektur (mit selbstgeschriebenen Plugins zur Visualisierung der Pipeline des Knuthschen Modellprozessors MMIX)
8 / 23
Bessere Software Einleitung Einsatz als IDE Vorlesung Software-Architektur Vorlesung Software-Architektur Warum Eclipse? Beispiel Praktikumsaufgabe
Vorlesung Software-Architektur
Beispiel: Aufgabenstellung MP3-Player Plugin Integration der QS in den Unterricht Elementare Erfahrungen Projekte im Rahmen von Diplomarbeiten Schlussfolgerungen
9 / 23
Vorlesung Software-Architektur Bessere Software Einleitung Einsatz als IDE Vorlesung Software-Architektur Vorlesung Software-Architektur Warum Eclipse? Beispiel Praktikumsaufgabe Beispiel: Aufgabenstellung MP3-Player Plugin Integration der QS in den Unterricht Elementare Erfahrungen Projekte im Rahmen von Diplomarbeiten Schlussfolgerungen
Vorlesung im Hauptstudium Bachelor Informatik: vier Semesterwochenstunden (je zwei Vorlesung und Praktikum). 5 ECTS-Punkte Lernziele/Kompetenzen ¨ Die Fahigkeit, moderne Architekturen fur ¨ komplexe Software-Systeme zu bewerten, zu entwerfen, zu realisieren und zu betreiben. Kenntnis moderner Framework-basierter Architekturen. Inhalt In dieser Vorlesung wird der Entwurf und die Implementierung komplexer Softwaresysteme behandelt. Dabei werden auf der einen Seite konzeptionelle Fragen betrachtet, wie zum Beispiel Entwurfsmuster, die Trennung der ¨ Schichten Modell, Logik und Prasentation, sowie die Aufgabe von Frameworks und Applikationsservern. Auf der anderen Seite spielen technische Aspekte eine große Rolle, wie Sicherheit, Datenbankanbindung, dynamische ¨ Webseiten. Im Praktikum werden ausgewahlte Schwerpunkte vertieft, z.B. Client-Server-Anwendungen, J2EE, .NET oder das Eclipse-Framework.
10 / 23
Warum Eclipse? Bessere Software Einleitung Einsatz als IDE Vorlesung Software-Architektur Vorlesung Software-Architektur
¨ Wie konnen wir hochkomplexe Systeme und deren Architektur in einer vier-stundigen ¨ Vorlesung (2 Stunden seminaristischer Unterricht, 2 Stunden Praktikum je Woche) behandeln? ¨ ¨ Eine mogliche Losung ist die Verwendung eines Frameworks. Voraussetzungen:
Warum Eclipse? Beispiel Praktikumsaufgabe Beispiel: Aufgabenstellung MP3-Player Plugin
Freie Verfugbarkeit ¨ ¨ Plattformunabhangigkeit ¨ Moglichst gute Dokumentation Verfugbare ¨ Tutorien
Integration der QS in den Unterricht
Elementare Erfahrungen
Die Erfahrung zeigt, dass mit Eclipse sofort produktiv gearbeitet werden kann.
Projekte im Rahmen von Diplomarbeiten Schlussfolgerungen
11 / 23
Beispiel Praktikumsaufgabe Bessere Software
Dilemma: Wie viele Vorgaben macht eine Aufgabenstellung:
Einleitung Einsatz als IDE Vorlesung Software-Architektur
¨ Zu viele Vorgaben behindern die guten Studierenden in ihrer Kreativitat Zu wenig Vorgaben uberfordern ¨ die schlechteren Studierenden
Vorlesung Software-Architektur Warum Eclipse? Beispiel Praktikumsaufgabe Beispiel: Aufgabenstellung MP3-Player Plugin Integration der QS in den Unterricht Elementare Erfahrungen Projekte im Rahmen von Diplomarbeiten Schlussfolgerungen
12 / 23
Beispiel: Aufgabenstellung MP3-Player Plugin Bessere Software Einleitung Einsatz als IDE Vorlesung Software-Architektur
Durch schrittweise Erweiterung einer Aufgabenstellung kann gut differenziert werden. Grundlage ist eine externe Klassenbibliothek (JLayer von www.javazoom.net )
Vorlesung Software-Architektur Warum Eclipse? Beispiel Praktikumsaufgabe Beispiel: Aufgabenstellung MP3-Player Plugin
1. 2. 3.
Integration der QS in den Unterricht Elementare Erfahrungen
4.
¨ Startknopf (Elementarerfahrung: ohne Multithreading hangt die Plattform) Fortschrittsbalken (Elementarerfahrung: Observer Pattern, Trennung von GUI und nicht-GUI Code durch Worker-Threads) Start von MP3-Files uber ¨ Kontextmenu¨ (Elementarerfahrung: Eclipse Resourcenmodell, Composite Pattern) Playlist
Projekte im Rahmen von Diplomarbeiten Schlussfolgerungen
13 / 23
Integration der QS in den Unterricht Bessere Software
¨ ¨ Die (verhaltnism aßig) einfache Integration von Tools erlaubt das Arbeiten mit:
Einleitung Einsatz als IDE Vorlesung Software-Architektur Vorlesung Software-Architektur Warum Eclipse?
Code-Guarding uber ¨ Find Bugs und Style Checker ¨ Metriken zur Uberwachung Test-Driven Development mit JUnit
Aber: Wird ohne Zwang schlecht angenommen
Beispiel Praktikumsaufgabe Beispiel: Aufgabenstellung MP3-Player Plugin Integration der QS in den Unterricht Elementare Erfahrungen Projekte im Rahmen von Diplomarbeiten Schlussfolgerungen
14 / 23
Elementare Erfahrungen Bessere Software Einleitung Einsatz als IDE Vorlesung Software-Architektur Vorlesung Software-Architektur
Wo muss denn die main-Methode hin?“ ” Wie komme ich mit der Dokumentation zurecht? Man findet zu wenig konkrete Information im Netz Reflection (ist ein Thema, das sonst zu kurz kommt)
Warum Eclipse? Beispiel Praktikumsaufgabe Beispiel: Aufgabenstellung MP3-Player Plugin Integration der QS in den Unterricht Elementare Erfahrungen Projekte im Rahmen von Diplomarbeiten Schlussfolgerungen
15 / 23
Bessere Software Einleitung Einsatz als IDE Vorlesung Software-Architektur Projekte im Rahmen von Diplomarbeiten
Schlussfolgerungen
Projekte im Rahmen von Diplomarbeiten
16 / 23
Bessere Software Einleitung
¨ drei Diplomarbeiten in denen Plugins entwickelt Bislang an der Fakultat wurden, die Eclipse als IDE fur ¨ MMIX1 Assembler-Programme tauglich machen:
Einsatz als IDE Vorlesung Software-Architektur Projekte im Rahmen von Diplomarbeiten
Schlussfolgerungen
Editor mit Syntax-Highlighting Debugger Konfiguration und Visualisierung der superskalaren Pipeline
Erfahrung: intensive Betreuung erforderlich. Studierenden fehlen zu diesem Zeipunkt oft noch die Fertigkeiten, die fur ¨ produktive Software-Entwicklung erforderlich sind. Die Studierenden lernen sehr viel dabei.
1
Beispielprozessor fur ¨ das Grundstudium; von Donald E. Knuth entwickelt 17 / 23
Bessere Software Einleitung Einsatz als IDE Vorlesung Software-Architektur Projekte im Rahmen von Diplomarbeiten Schlussfolgerungen
Schlussfolgerungen
Die Studierenden sind nicht immer begeistert
Ausschnitt aus den Evaluierungsergebnissen Nachteile von Eclipse im Praktikumsbetrieb Fazit
18 / 23
Die Studierenden sind nicht immer begeistert Bessere Software Einleitung Einsatz als IDE Vorlesung Software-Architektur Projekte im Rahmen von Diplomarbeiten Schlussfolgerungen Die Studierenden sind nicht immer begeistert
Ausschnitt aus den Evaluierungsergebnissen Nachteile von Eclipse im Praktikumsbetrieb Fazit
19 / 23
Bessere Software Einleitung Einsatz als IDE Vorlesung Software-Architektur Projekte im Rahmen von Diplomarbeiten Schlussfolgerungen Die Studierenden sind nicht immer begeistert
Ausschnitt aus den Evaluierungsergebnissen Nachteile von Eclipse im Praktikumsbetrieb Fazit
20 / 23
Ausschnitt aus den Evaluierungsergebnissen Bessere Software
Wie ist der Ansatz bei den Studierenden angekommen?
Einleitung Einsatz als IDE
1.
Vorlesung Software-Architektur
Positives:
Projekte im Rahmen von Diplomarbeiten
Schlussfolgerungen
Die Studierenden sind nicht immer begeistert
2. Ausschnitt aus den Evaluierungsergebnissen Nachteile von Eclipse im Praktikumsbetrieb Fazit
Eclipse Praktikum (weil uberwiegend ¨ Architektur, nicht so viel Algorithmik) Vermittlung wichtiger Konzepte Patterns und andere Hilfsmittel
Negatives:
Eclipse Praktikum mit wenig Java-Kenntnissen kaum machbar ¨ Praktikum schwierig/ war eine Qualerei“ ”
21 / 23
Nachteile von Eclipse im Praktikumsbetrieb Bessere Software Einleitung
Einsatz als IDE Vorlesung Software-Architektur Projekte im Rahmen von Diplomarbeiten
Schlussfolgerungen Die Studierenden sind nicht immer begeistert
Ausschnitt aus den Evaluierungsergebnissen
TDD einzufuhren ¨ und sofort damit Plugins zu entwickeln ist schwierig Es hakt manchmal an Kleinigkeiten, die in einer Praktikumsstunde schwer ¨ zu fixen sind (Projetke, die auf Memory-Stick von altere Eclipse-Versionen mitgebracht werden) Workspace auf mit AFS-gemounteten Verzeichnissen macht ebenfalls ¨ gelegentlich Arger Gelegentlich schwierig, auf dem aktuellen Stand zu bleiben (Antipattern der Continuous Obsolescence“). Erfordert recht hohen Zeitaufwand des ” ¨ Dozenten (Callisto ist zur Losung ein sehr wichtiger Ansatz)
Nachteile von Eclipse im Praktikumsbetrieb Fazit
22 / 23
Fazit Bessere Software
1.
Einleitung Einsatz als IDE Vorlesung Software-Architektur Projekte im Rahmen von Diplomarbeiten
2. 3.
Schlussfolgerungen Die Studierenden sind nicht immer begeistert
4.
Ausschnitt aus den Evaluierungsergebnissen
5.
Nachteile von Eclipse im Praktikumsbetrieb Fazit
Die Studierenden lernen die typischen Schwierigkeiten der produktiven Software-Entwicklung kennen Die Studierenden lernen, sich in hochkomplexem fremdem Code zu orientieren Die Vorgehensweise ebnet den Weg fort von zu viel Theorie und trivialen Beispielen, die den Hochschulen oft vorgeworfen werden Unsere Absolventen bringen die richtigen Vorstellungen und Erwartungen an Tools mit Dies rechtfertigt den Preis durch die Schwierigkeiten, die man sich im Praktikumsbetrieb einhandelt
Insgesamt fuhrt ¨ dies (hoffentlich) zu einem Schulterschluss mit der Praxis
23 / 23