Übungskonzept für Algorithmen Informatik-Praktikum im Grundstudium Aron Ruß, Ingo Löhken, Martin Breede
Ziele n Tragfähiges Konzept für Übungen zu verschiedenen Datenstrukturen n Implementierung für BinarySearchTrees n Einfache Integration in Rahmenapplikation und Datenstrukturen n Vielfältige Möglichkeiten für spezielle Übungsfragen Muss-Ziel Soll-Ziel
Spezielle Fragen Evtl. erweiterte Datenstruktur Struktur Datenfenster Rahmenapplikation Steuerelemente Datenstruktur Iterator Fragenverwaltung
Die Frageverwaltung n Dynamische Generierung von Fragen aus einer übergebenen Datenstruktur. n Verwaltung spezieller Fragen der Datenstruktur. n Plugin fähig: Liefert Menüeinträge und Aufrufroutine. Pseudoclass QuestionManager { public QuestionManager( Object datastructure, MyJInternalFrame myJInternalFrame); private String[] getMenuItems(); private void invokeQuestion( String questName); private int getFilter(); private void setFilter(byte level); private Iterator availableFilter(); private void readGeneratedQuestions(); private void readUserDefindedQuestions(); }
Die Fragen n Unterscheidung zwischen benutzerdefinierten Fragen und automatisch generierten Standardfragen. n Implementierung dreier Standardfragen für Iterator-Objekte. Interface Question QuestionManager Questions UserDefined Question Generated Question HasNext Element Next Element Num Elements QuestionClass Singelton-Pattern
Fragegenerierung n Durchsuchen der Datenstruktur nach Methoden, die –Iteratoren liefern und –auf Iterator enden n Automatische Erzeugung von Standard-Fragen: –Gibt es ein nächstes Element? –Wie lautet es? –Wieviele Elemente gibt es?
n Ermöglichung von Fragen, die speziell auf die Datenstruktur zugeschnitten sind. n Bereitstellen einer vielseitigen Klassenstruktur hierfür. n Automatische Suche nach Datenfeldern mit Fragen vom Typ Question durch den QuestionManager. n Durchführen der Benutzer-Interaktion durch die zentrale Verwaltung. Benutzerdefinierte Fragen
Erreichtes und Erwünschtes Konzepterstellung, Teile der Implementierung, Teile der javadoc To do: Tutorial: How to implement userdefined Questions, Dokumentierung, Optimierung, evtl. eine userdefined Question