Eclipse in der Hochschullehre

Eclipse in der Hochschullehre ¨ Axel Bottcher Hochschule fur ¨ angewandte Wissenschaften — Fachhochschule Munchen ¨ ¨ fur Fakultat ¨ Informatik und M...
Author: Lorenz Holzmann
7 downloads 0 Views 790KB Size
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