6 research outputs found
Von Java nach C++
Dieser Text entstand am Lehrstuhl Wagner im Rahmen der Praktika,
die Studierende im Hauptstudium machen müssen. Sie lernen im
Grundstudium objektorientiertes Programmieren anhand der
Programmiersprache Java. Es hat sich allerdings gezeigt, dass
für Algorithmen und Datenstrukturen Java schlechter geeignet ist
als C++. Deshalb sind wir dazu übergegangen, im ersten Teil des
Praktikums C++ zu vermitteln. Dabei beschränken wir uns auf
einige Teilaspekte von C++, die wir für notwendig und sinnvoll
für diese Awendung erachten.
Insbesondere werden hardwarenahe Teile der Programmiersprache
auf eine Minimum reduziert.
Es soll aber nicht gesagt werden, dass Java eine schlechte
Programmiersprache wäre oder gar gänzlich unnütz.
Es ist vielmehr so, dass wir Dinge, die Java bereitstellt,
nicht aber dafür andere Dinge, die es nicht bereitstellt, sehr
wohl benötigen. Aus unserer Sicht der Dinge stellt sich das
Verhältnis von Java, C und C++ folgendermaßen dar: C++ kann
seine Herkunft von C schon allein durch den Namen sicherlich
nicht leugnen. Die meisten Teile von C sind in C++ enthalten.
Es bietet aber durch die Mittel zum objektorientierten und
generischen Programmieren weit mehr. In Java findet man
(derzeit) nur die Hilfsmittel zur Objektorientierung wieder.
Es setzt sich aber insbesondere bei der Speicherverwaltung
stark von C und C++ ab. Auf der anderen Seite gehört eine
wesentlich umfangreichere Bibliothek zu Java dazu, die z.B.
die Programmierung von GUIs oder Netzwerkfähigkeit ermöglicht.
Diese Dinge spielen jedoch bei Algorithmen und
Datenstrukturen, im Gegensatz zur Speicherverwaltung, eine
untergeordnete Rolle. Letztere ist dem Programmierer in Java
jedoch gänzlich aus den Händen genommen. Darüberhinaus gibt es
viele weitere Details, die es dem Programmierer ermöglichen,
effizienteren Code zu schreiben. Summa summarum erscheint uns
daher die Verwendung von C++ für unseren Zweck sinnvoll
Fachdidaktische Diskussion von Informatiksystemen und der Kompetenzentwicklung im Informatikunterricht
In der vorliegenden Arbeit wird ein Unterrichtsmodell zur Kompetenzentwicklung mit Informatiksystemen für die Sekundarstufe II vorgestellt.
Der Bedarf wird u. a. damit begründet, dass Informatiksysteme zu Beginn des 21. Jahrhunderts allgegenwärtig sind (Kapitel 1). Für Kompetenzentwicklung mit Informatiksystemen sind diese in ihrer Einheit aus Hardware, Software und Vernetzung anhand ihres nach außen sichtbaren Verhaltens, der inneren Struktur und Implementierungsaspekten zu analysieren. Ausgehend vom Kompetenzbegriff (Kapitel 2) und dem Informatiksystembegriff (Kapitel 3) erfolgt eine Analyse des fachdidaktischen Forschungsstandes zur Kompetenzentwicklung mit Informatiksystemen. Die Ergebnisse lassen sich in die Bereiche (1) Bildungsziele, (2) Unterrichtsinhalte, (3) Lehr-Lernmethodik und (4) Lehr-Lernmedien aufteilen (Kapitel 4).
In Kapitel 5 wird die Unterrichtsmodellentwicklung beschrieben. Den Zugang zu Informatiksystemen bildet in der vorliegenden Dissertationsschrift das nach außen sichtbare Verhalten. Es erfolgt eine Fokussierung auf vernetzte fundamentale Ideen der Informatik und Strukturmodelle von Informatiksystemen als Unterrichtsinhalte. Es wird begründet, dass ausgewählte objektorientierte Entwurfsmuster vernetzte fundamentale Ideen repräsentieren. In Abschnitt 5.4 werden dementsprechend Entwurfsmuster als Wissensrepräsentation für vernetzte fundamentale Ideen klassifiziert.
Das systematische Erkunden des Verhaltens von Informatiksystemen wird im Informatikunterricht bisher kaum thematisiert. Es werden Schülertätigkeiten in Anlehnung an Unterrichtsexperimente angegeben, die Schüler unterstützen, Informatiksysteme bewusst und gezielt anzuwenden (Abschnitt 5.5). Bei dieser Lehr-Lernmethodik werden das nach außen sichtbare Verhalten von Informatiksystemen, im Sinne einer Black-Box, und das Wechselspiel von Verhalten und Struktur bei vorliegender Implementierung des Systems als White-Box analysiert. Die Adressierung schrittweise höherer kognitiver Niveaustufen wird in die Entwicklung einbezogen.
Unterstützend wird für das Unterrichtsmodell lernförderliche Software gestaltet, die vernetzte fundamentale Ideen in Entwurfsmustern und das Experimentieren aufgreift (Abschnitt 5.6).
Schwerpunkte bilden im Unterrichtsmodell zwei Arten von lernförderlicher Software: (1) Die Lernsoftware Pattern Park wurde von einer studentischen Projektgruppe entwickelt. In ihr können in Entwurfsmustern enthaltene fundamentale Ideen der Informatik über ihren Lebensweltbezug im Szenario eines Freizeitparks analysiert werden. (2) Als weitere Art Lernsoftware werden kleine Programme eingesetzt, deren innere Struktur durch ausgewählte Entwurfsmuster gebildet und deren Verhalten direkt durch die darin enthaltenen fundamentalen Ideen bestimmt wird. Diese Programme können durch die Experimente im Unterricht systematisch untersucht werden.
Mit dem Ziel, die normative Perspektive um Rückkopplung mit der Praxis zu ergänzen, werden zwei Erprobungen im Informatikunterricht vorgenommen. Diese liefern Erkenntnisse zur Machbarkeit des Unterrichtsmodells und dessen Akzeptanz durch die Schüler (Kapitel 6 und 8). Exemplarisch umgesetzt werden die Themen Zugriffskontrolle mit dem Proxymuster, Iteration mit dem Iteratormuster und Systemzustände mit dem Zustandsmuster. Der intensive Austausch mit Informatiklehrpersonen in der Kooperationsschule über Informatiksysteme und Kompetenzentwicklung sowie die Durchführung von zwei Lehrerfortbildungen ergänzen die Beobachtungen im unterrichtlichen Geschehen.
Die erste Unterrichtserprobung resultiert in einer Weiterentwicklung des Unterrichtsmodells zu Informatiksystemen und Kompetenzentwicklung (Kapitel 7). Darin erfolgt eine Fokussierung auf das nach außen sichtbare Verhalten von Informatiksystemen und eine Verfeinerung der Perspektiven auf innere Struktur und ausgewählte Implementierungsaspekte. Anschließend wird die zweite Unterrichtserprobung durchgeführt und evaluiert (Kapitel 8).
Am Schluss der Forschungsarbeit steht ein in empirischen Phasen erprobtes Unterrichtsmodell.In the 21st century, informatics systems are ubiquitous.
Therefore, the author presents an educational model for competencies with respect to informatics systems (Chapter 1).
To achieve such competencies at upper secondary level, observable behaviour, internal structure and implementation aspects of informatics systems have to be analysed by students.
Based on a definition of the terms competency (Chapter 2) and informatics system (Chapter 3), the state of the art in Didactics of Informatics is investigated. In the national and international scientific work, (1) educational objectives, (2) themes and subject matters, (3) teaching and learning methods, as well as (4) educational means and media are identified (Chapter 4).
In Chapter 5 the development of the educational model is described.
The approach to competencies with respect to informatics systems concentrates on the observable behaviour of the systems.
We focus on networked fundamental ideas of informatics as a quality factor and structural models of informatics systems. Selected object-oriented design patterns represent networked fundamental ideas. In Section 5.4 design patterns as knowledge representations of fundamental ideas are classified. Systematic exploration of informatics systems is uncommon in informatics education at upper secondary level. Therefore, students\u27 activities are developed according to educational experiments to enable students to use systems consciously (Section 5.5).
Systematic exploration puts students in a position to analyse the observable behaviour as a black box. Given the source code and documentation of a system, experimenting with such a system relates behaviour to its internal structure. Succeeding cognitive processes are also considered in this approach.
To support learning, software was developed, which emphasises fundamental ideas in design patterns and enables experimenting (Section 5.6).
There are two kinds of learning software: (1) The learning software Pattern Park was developed by a student project group. In the software fundamental ideas within design patterns can be understood through a real-life analogy in the context of a theme park. (2) As a second kind of learning software we use small programs, whose internal structure is built by selected design patterns. Their observable behaviour depends on networked fundamental ideas of informatics. These programs can be analysed systematically by students.
Aiming at complementing the normative perspective with concrete learning processes, two classroom practice projects were conducted. These offered results with respect to feasibility of the educational model and acceptance by the students (Chapter 6 and 8). Exemplarily, access control by Proxy design pattern, iteration by Iterator design pattern, and states of systems by State design pattern were chosen.
Cooperation with teachers and conduction of teacher training workshops complement observations within the classroom projects.
The first classroom project resulted in a refinement of theory to foster competencies with respect to informatics systems (Chapter 7).
In particular, perspectives on informatics systems were elaborated. Afterwards, a second classroom project was conducted and evaluated (Chapter 8).
In conclusion of the research project, there is an empirically tested educational model to foster competencies with respect to informatics systems
Modellextraktion aus natürlichen Sprachen : eine Methode zur systematischen Erstellung von Domänenmodellen
Die Softwareentwicklung benötigt ständig Domänenmodelle: beim Erheben der Anforderungen, beim Design, bei der Implementierung, beim Testen, bei der Dokumentation und bei der Wartung. Dennoch ist das Erstellen dieser Modelle immer noch ein kreativer Akt - mit allen Vor- und vor allem Nachteilen. Dieses Buch stellt ein auf thematischen Rollen basierendes Verfahren vor, mit dem man auf analytischem Weg von natürlichsprachlichen Texten zu Domänenmodellen kommt
Festschrift zur 150-Jahr-Feier des Geodätischen Instituts (1868 - 2018)
In der Festschrift zur 150-Jahr-Feier des Geodätischen Instituts Karlsruhe (GIK) wird eine historische Übersicht über die Entwicklung des GIK gegeben. Aktuelle Forschungsergebnisse werden präsentiert sowie Innovationen aufgezeigt
Technologiebasierte Unterstützungsmaßnahmen in der akademischen Software Engineering-Ausbildung. Konzeption, Entwicklung und Evaluation einer lernerzentrierten Analyse- und Designumgebung
Die Fähigkeit der Modellbildung, das Modellieren stellt nicht nur eine zentrale, sondern auch eine sehr komplexe, Aufgabe für Software- Ingenieure dar. Durch die Tätigkeit des Abstrahierens wird ein Modell der realen Welt erstellt, das dabei helfen soll Probleme zu verstehen. Die Lehre zur Modellierung von Softwaresystemen nimmt für Studierende wie Lehrende daher eine herausfordernde Bedeutung ein. Diese Arbeit beschreibt einen Ansatz zur problembasierten Initiierung von Hilfsmitteln (sog. Scaffolds) zur Unterstützung Studierender bei der Modellierung mit der Unified Modeling Language (UML). Als Ausgangsbasis wurden Probleme Studierender bei der Modellierung von Softwaresystemen mit der UML erfasst und katalogisiert. Auf Basis der identifizierten Probleme wurden verschiedene Scaffolds abgeleitet und konzeptioniert. Dazu gehören sowohl Unterlagen und Tutorials als klassische Hilfsmittel wie auch technologiebasierte Ansätze, wie die Verwendung von Augmented Reality, Eye-Movement Modeling Examples und Hilfsmittel zur Identifikation von Use-Cases sowie Klassenkandidaten. Die verschiedenen Scaffolds wurden in eine Modellierungsumgebung prototypisch integriert und evaluiert. Die Evaluationen mit Studierenden sowie eine Expertenbegutachtung zeigen erfolgsversprechende Ergebnisse. Die Arbeit bestätigt, dass evidenzbasierte Scaffolds und deren Integration in den Lehreinsatz die praktische Hochschuldidaktik bereichern können