arbeiten:design_implementierung_und_evaluation_einer_ide-integrierten_loesung_zum_konfliktfreien_einfachen_und_transparenten_wechsel_zwischen_quellcodeversionen_fuer_programmieranfaenger

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
arbeiten:design_implementierung_und_evaluation_einer_ide-integrierten_loesung_zum_konfliktfreien_einfachen_und_transparenten_wechsel_zwischen_quellcodeversionen_fuer_programmieranfaenger [01.07.2019 12:18] won01562arbeiten:design_implementierung_und_evaluation_einer_ide-integrierten_loesung_zum_konfliktfreien_einfachen_und_transparenten_wechsel_zwischen_quellcodeversionen_fuer_programmieranfaenger [14.02.2022 08:35] (aktuell) – [Data-Entry] Alexander Bazo
Zeile 1: Zeile 1:
-====== Design, Implementierung und Evaluation einer IDE-Integrierten Lösung zum konfliktfreien, einfachen und transparenten Wechsel zwischen Quellcodeversionen für Programmieranfänger ======+====== Entwicklung einer benutzerfreundlichen Lösung für den Datei- und Projektbasierten Quellcodevergleich innerhalb von Entwicklungsumgebungen ======
  
 ---- dataentry StudentischeArbeit ---- ---- dataentry StudentischeArbeit ----
-Thema                     Design, Implementierung und Evaluation einer IDE-Integrierten Lösung zum konfliktfreien, einfachen und transparenten Wechsel zwischen Quellcodeversionen für Programmieranfänger #  +Thema                                  Entwicklung einer benutzerfreundlichen Lösung für den Datei- und Projektbasierten Quellcodevergleich innerhalb von Entwicklungsumgebungen 
-Art_thesistypes           : BA  +Art_thesistypes                        : BA 
-Betreuer_thesisadvisor    : Alexander Bazo  +BetreuerIn_thesisadvisor               : Alexander Bazo 
-Student                   : Niklas Woiton  +BearbeiterIn                           : Niklas Woiton 
-Professor_thesisprofessor  #  +ErstgutachterIn_thesisprofessor        Christian Wolff 
-Status_thesisstate        in Bearbeitung #  +ZweitgutachterIn_secondthesisprofessor : N.N. 
-Stichworte_thesiskeywords : Software Engineering, Programming Education, Assistance Systems  +Status_thesisstate                     abgeschlossen 
-angelegt_dt               : 2019-06-07  +Stichworte_thesiskeywords              : Software Engineering, Programming Education, Assistance Systems, Assistentssysteme für die Programmierausbildung 
-Beginn_dt                 : 2019-06-03 #  +angelegt_dt                            : 2019-06-07 
-Anmeldung_dt               #  +Beginn_dt                              : 2019-07-22 
-Antrittsvortrag_dt        : 2019-07-15  +Anmeldung_dt                           :  
-Abschlussvortrag_dt        #  +Antrittsvortrag_dt                     : 2019-07-15 
-Ende_dt                    # +Abschlussvortrag_dt                    :  
 +Abgabe_dt                              : 2019-09-24 
 +Textlizenz_textlicense                 : Unbekannt 
 +Codelizenz_codelicense                 Unbekannt
 ---- ----
  
  
-=== Hintergrund === 
  
-Im Rahmen der Arbeit werden Möglichkeiten zur Entwicklung einer IDE-Integrierten Lösung für den einfachen Wechsel zwischen und die Gegenüberstellung von verschiedenen Quellcode-Versionen. Zielgruppe der Anwendung sind Programmieranfänger (Novizen) mit wenigen bis gar keinen Kenntnissen auf dem Gebiet der Programmierung, IDE-Bedienung oder Versionskontrolle. Beispielhafte Anwendungsfälle sind das gegenüberstellende Lernen von Programmiersprachen, Programmierparadigmen, Codestyles oder der Vergleich von Lösungsansätze mit eigenen Implementierung. 
  
 +
 +
 +
 +=== Hintergrund ===
 +
 +Es gibt viele Programmieranwendungen bei denen man unterschiedliche Quellcodeversionen miteinander vergleichen oder sie gleichzeitig bearbeiten möchte. Beispielhafte Anwendungsfälle sind das gegenüberstellende Lernen von Programmiersprachen, Programmierparadigmen, Codestyles oder der Vergleich von Lösungsansätzen mit der eigenen Implementierung. Aber auch die gleichzeitige Bearbeitung von mehreren Zweigen (Branches) in einem Versionskontrollsystem. Dabei ist es meist notwendig die Quellcodeversionen einzeln in mehreren Fenstern zu öffnen und bei einem Wechsel zwischen vergleichbaren Dateien muss dieser in jedem Fenster einzeln durchgeführt werden. Eine Entwicklungsumgebung (IDE) in der man intern zwischen unterschiedlichen Quellcodeversionen wechseln kann und die es erlaubt die Quellcodes innerhalb des Fensters gegenüberzustellen könnte den Vergleich und die gleichzeitige Bearbeitung von Dateien vereinfachen. Insbesondere für Programmieranfänger die noch wenig Kenntnisse von Programmierung, IDE-Bedienung oder Versionskontrolle haben könnte das eine hilfreiche Funktionalität sein. Im Rahmen dieser Arbeit gilt es ein Plugin zu entwickeln, welches diese Funktionalität in eine IDE integriert und zu untersuchen, ob es die Anforderungen an ein solches Artefakt erfüllt.
 + 
 === Zielsetzung der Arbeit === === Zielsetzung der Arbeit ===
  
-Ziel der Arbeit sind Design, Implementierung und Evaluation einer IDE-Integrierten Lösung zum konfliktfreien, einfachen und transparenten Wechsel zwischen Quellcodeversionen für ProgrammieranfängerDadurch soll es ermöglicht werden schnell und einfach zwischen verschiedenen Quellcodes zu wechseln bzw. sie gegenüberzustellen um Parallelen und Unterschiede zwischen verschiedenen Programmiersprachen, Programmierparadigmen, Codestyles oder Lösungsansätze erkennen zu könnenDas Artefakt soll auch Programmieranfängern die wenig oder keine Kenntnisse von Programmierung, IDE-Bedienung oder Versionskontrolle haben einfach bedient werden können. +Ziel der Arbeit ist die Entwicklung einer benutzerfreundlichen Lösung für den Datei- und Projektbasierten Quellcodevergleich innerhalb von EntwicklungsumgebungenAuf Basis von verwandten Arbeiten werden die Möglichkeiten und Anforderungen der Entwicklung eines IDE-Plugins zum Wechsel zwischen und der Gegenüberstellung von Quellcodeversionen ermitteltDabei werden die Bedürfnisse von Programmieranfängern die wenig oder keine Kenntnisse von Programmierung, IDE-Bedienung oder Versionskontrolle haben in der Anforderungserhebung berücksichtigt. Der Nutzer soll keine Berührung mit dem unterliegenden System haben und durch das einfache anklicken von Buttons zwischen den verschiedenen Quellcodeversionen wechseln und sie gegenüberstellen können. Auf Basis der ermittelten Anforderungen und Constraints wird ein Prototyp designt und implementiert. Dazu wird für die Evaluation des Prototyps eine beispielhafte Anwendung entwickelt. Anschließend wird der Prototyp in einer Laborstudie mit Teilnehmern aus der Zielgruppe (Programmieranfänger)evaluiert um festzustellen, ob die Anforderungen an das Artefakt erfüllt werden. 
  
 === Konkrete Aufgaben === === Konkrete Aufgaben ===
  
-- Anforderungserhebung auf Basis der Literatur und unter Einbeziehung der Zielgruppenbedürfnisse+- Anforderungserhebung durch Recherche von verwandten Arbeiten und den Bedürfnissen von Programmieranfängern
 - Design und Implementierung eines prototypischen IDE-Plugins - Design und Implementierung eines prototypischen IDE-Plugins
-- Evaluation des Prototypen in einer Laborstudie mit Teilnehmern aus der potenziellen Nutzergruppe+- Entwicklung einer beispielhaften Anwendung zur Evaluierung 
 +- Evaluation des Prototypen in einer Laborstudie mit Teilnehmern aus der Zielgruppe
  
  
Zeile 36: Zeile 46:
  
 - Kenntnisse im Bereich der Softwareentwicklung - Kenntnisse im Bereich der Softwareentwicklung
-- Kenntnisse im Bereich der Versionsverwaltungssysteme+- Kenntnisse im Bereich der Versionskontrolle