Praxisprojekt

„Entwicklung einer Webplattform zur Bewertung der Kreativität von Programmierlösungen“

Zielgruppe:

Bachelor Angewandte Informatik, Bachelor Angewandte Kognitions- und Medienwissenschaften

Kontakt:

Sven Manske, manske@collide.info, 0203/379-4178, LF115

Termin:

Dienstags, 10 bis 16 Uhr

Raum: 

LF 120

KickOff-Meeting: Dienstag den 12.04. um 10.15 Uhr im Raum LF120

Beschreibung:

Beim Programmieren, und besonders beim Erlernen des Programmierens, spielt Kreativität eine große Rolle: einerseits können originelle oder elaborierte Lösungen anderen Lernenden als gute Beispiele dienen, andererseits können abweichende oder problematische Lösungen Lehrenden Aufschluss über Fehlkonzeptionen oder Problemquellen geben und dadurch pädagogische Interventionen ermöglichen.

In der Programmierung gibt es gewisse Elemente und Strukturen, die möglicherweise als Indikatoren für kreativere Lösungen dienen können. So gilt beispielsweise Rekursion als ein anspruchsvolles Programmierkonzept, was in diesem Sinne elaborierter im Vergleich zu iterativen Ansätzen ist. Solche Konstrukte lassen sich oft unabhängig von der Programmiersprache auf abstrakten Syntaxbäumen (AST: Abstract Syntax Tree; siehe Abbildung 1) erkennen. Für die meisten Programmiersprachen existieren bereits solche Generatoren und Schnittstellen für die automatische Erzeugung von ASTs aus Quelltexten.

Abbildung 1: Ein Beispiel-Programm in JavaScript mit dem zugehörigen, generierten AST1.

Ziel dieses Praxisprojekts ist es, eine Web-Plattform zu entwickeln, in der Endbenutzer Programmier-Beispiele in Form von Quelltext „einreichen“, welche dann mittels der Plattform analysiert werden. Das Ergebnis ist ein Report, der alternative Code-Metriken und Indikatoren für Kreativität und Originalität enthält. Dafür notwendig ist die Einarbeitung in das Feld des kreativen Problemlösens, die Erarbeitung von Kreativitäts-Indikatoren sowie einer geeigneten Arbeitsdefinition von Kreativität im Kontext der Programmierung. Als Nutzungsszenario dient dabei Programmierung im Informatikunterricht an weiterführenden Schulen.

Das Projekt beginnt mit einer kurzen Seminarphase, in welcher alle Teilnehmer*Innen einen Vortrag zu dem von ihnen erarbeiteten Grundlagen-Thema halten und diesen in einer kurzen Ausarbeitung dokumentieren. Im weiteren Projektverlauf steht vor allem die Arbeit in Kleingruppen im Fokus, zur Koordination gibt es ein wöchentliches Plenum, in welchem auch die Betreuer anwesend sind. Während der Projektlaufzeit wird die Projektgruppe den Stand der Arbeit zweimal vorstellen (Konzept und Produkt). Problematik, Grundlagen, Konzept, Umsetzung und Evaluation des Projekts werden zudem in einem Endbericht festgehalten.

Teilnahmevoraussetzungen:

Voraussetzungen für eine erfolgreiche Teilnahme sind Kenntnisse in der Web-Entwicklung (HTML5, JavaScript, CSS).

1 Automatisch generiert mittels JavaScript-AST-Visualizer. Demo: http://jointjs.com/demos/javascript-ast

 

Data analysis is a current trend in research but also in practice. The increased availability and size of pubilc datasets but also the development of tools have lead to new opportunities in information science. Especially knowledge creating communities such as Wiki authors, online course participants, or scientists can benefit from knowledge gathered from the data they produce in order to make better informed decisions.

As a follow up activity of the "Electronic Communities" lecture it is intended to develop further skills in analytics by working on current topics in social network analysis, content analysis, and process related analysis as well as mixed methods.

The seminar will be a block seminar with three meetings during the semester. After the kick-off meeting in April there will be two further meetings in which the participants are supposed to present their progress on individual seminar topics. The particular dates of these meetings will be decided in the first meeting.

Programmiertechniken für Intelligente Systeme

Dozenten:

Prof. Dr. H. Ulrich Hoppe
Sprechstunde: nach Vereinbarung, email: hoppe@collide.info

M. Sc. Laura Steinert
Sprechstunde: nach Vereinbarung, email: steinert@collide.info

Vorlesung:

Do, 8:00 - 10:00 h (LB 134)

Übung:

Di, 16:00 - 18:00 h (LF 257)

Mi, 16:00 - 18:00 h (LF 257)

Inhalt:

In der Veranstaltung werden Konzepte und Werkzeuge zur Programmierung intelligenter Systeme vorgestellt. Die Implementierung der vorgestellten Konzepte und Problemlösungsstrategien wird in Prolog erfolgen. Eine kurze Einführung in Prolog ist Teil der Vorlesung.

Zielgruppe

  • Bachelor Angewandte Informatik, Wahlpflichtbereich

Programmierparadigmen / Programming Paradigms

Dozent

Prof. Dr. H. Ulrich Hoppe, hoppe@collide.info, Sprechstunde nach Vereinbarung

Übungsleitung

M.Sc. Tobias Hecking, hecking@collide.info, Sprechstunde nach Vereinbarung

Vorlesung

Mi, 12:00 - 14:00 h (LB 131)

Inhalte

  • Syntax und Semantik von Programmiersprachen
  • Funktionale Programmierung mit Haskell
  • Basiskonzepte von Programmiersprachen
  • Objektorientierte Programmierung mit Ruby
  • Logische Programmierung mit Prolog

Literatur

  • Concepts of Programming Languages, 9th Edition, R.W. Sebesta, Addison-Wesley, 2009
  • Seven Languages in Seven Weeks, Bruce A. Tate, Pragmatic Bookshelf Inc., 2010
    Deutsche Ausgabe: Sieben Wochen, sieben Sprachen, O'Reilly, 2011
  • Comparative Programming Languages, 3rd Edition, R.G. Clark, Addison-Wesley, 2001

Übungen

Mo, 16:00 - 18:00 h (LE 105)

Di, 10:00 - 12:00 h (LE 120)

Do, 10:00 - 12:00 h (LC 137)

Fr, 8:00 - 10:00 h (LE 120)

Zielgruppen

Studiengang Semester Pflichtkennzeichen
AI-M BA, Angewandte Informatik - Medieninformatik (Bachelor) 3-4 PV
AI-I BA, Angewandte Informatik - Ingenieurinformatik (Bachelor) 3-4 PV
ISE/CE B.Sc., ISE/Computer Engineering (Bachelor of Science) 3 WP

Gestaltung interaktiver Lehr-/Lernsysteme

Dozenten:

Prof. H. Ulrich Hoppe, hoppe@collide.info, Sprechstunde nach Vereinbarung

Julia Othlinghaus (Übungsleitung), othlinghaus@collide.info, Sprechstunde nach Vereinbarung

Vorlesung:

Do, 14:00 - 17:00 h (LE 105)

Übung:

Do, 17:00 - 18:00 h (LE 105)

Inhalte:

  • Entwicklungslinien der Mensch-Computer-Interaktion
  • Benutzer- und Aufgabenmodellierung
  • Gestaltungsprinzipien für interaktive Systeme
  • Medientheoretische und mediendidaktische Grundlagen
  • Interaktive Lernumgebungen
  • Intelligente Tutorsysteme und Wissensdiagnose
  • Kooperative Lernumgebungen (CSCW/CSCL)

Zielgruppen:

  • Master Angewandte Informatik (AI)
  • Master Angewandte Kognitions- und Medienwissenschaft (KOMEDIA)
  • ISE/CE-ISV M.Sc.

Leistungskontrolle:

mündliche Prüfung

Literaturhinweise:

  • Dix, Finlay, Abowd, Beale: Human-Computer Interaction
  • Shneiderman: Designing the User Interface
  • Vogel: Medien der Vernunft
  • Borghoff, Schlichter: Rechnergestützte Gruppenarbeit
  • Hoppe, Ploetzner: Can Analytic Models Support Learning in Groups?
  • Beller, Hoppe: Deductive Error Reconstruction and Classification in a Logic Programming Framework