Mathias Ellmann

sematrain.de
· Master of Science
About
18
Research items
2,881
Reads
62
Citations
Education
Oct 2013 - Dec 2018
University of Hamburg
Education
Oct 2013 - Dec 2018
University of Hamburg
Computer Science (Empirical Software Engineering, Software technology)
Oct 2011 - May 2013
Friedrich-Alexander-University of Erlangen-Nürnberg
Industrial Engineering (International information systems, Information & communication systems)
Network
Top co-authorsView all
Walid Maalej
Irmo Timmann
Davide Fucci
Top co-authors
Followers (32)View all
Fudan University
Hochschule Reutlingen
Hochschule Merseburg
Universität Paderborn
Followers
Following (14)View all
University of Southern California
INFN - Istituto Nazionale di Fisica Nucleare
University of British Columbia - Vancouver
Università degli Studi di Bari Aldo Moro
Singapore Management University
Following
Research
Research Items (18)
Zusammenfassung In Scrum und der agilen Softwareentwicklung muss effektiv verbal als auch nonverbal kommuniziert werden, um in ein‑ bis vierwöchigen Arbeitszyklen Sprints Software mit wenig Konflikten zu entwickeln. Bei ineffektiver Kommunikation können Ressourcen wie Energie, Zeit und Beziehungen sowie Schlaf als Konsequenz riskiert werden, was den Sprint-Erfolg gefährdet und eine agile Softwareentwicklung erschwert. Wir gehen auf Kommunikationsschwierigkeiten ein, die durch Frustration und mangelnde Befriedigung von Wünschen, User Stories und Anforderungen des:der Scrum Masters:in, Product Owners:in, Developers:innen und Stakeholders:innen in der agilen Softwareentwicklung entstehen können. In diesem Artikel behandeln wir effektive Formen der verbalen und nonverbalen Kommunikation, welche zu mehr Erfolg mit Scrum und in der agilen Softwareentwicklung führen können.
Zusammenfassung Im Rahmen der Entwicklung der Industrie 4.0 und der Digitalisierung bedarf es immer mehr Intelligenz und Kreativität, um am Markt als IT-Unternehmen zu bestehen. Agile Softwareprojektmanagement- und Entwicklungsmethoden wie Scrum fordern ein stetige Anpassung und Veränderung von Software auf Basis von Kundenwünschen, das ein hohes Maß an Intelligenz und Kreativität erfordert. Die Entwicklung zu intelligenteren und kreativeren Informatikerinnen und Informatikern führt dazu, dass ihr Risiko für physische und psychische Krankheiten steigt und ihre Gesundheit gefährdet. Dieser Artikel versucht, ein Bewusstsein für die Risiken des einhergehenden Wandels zu ermöglichen, um so bewusster gesundheitlichen Herausforderungen im Zeitalter von Industrie 4.0 und Digitalisierung zu begegnen. Wir besprechen in diesem Artikel gesundheitsförderliche und gesundheitsschädliche Kräfte. Wir besprechen in diesem Artikel Risiken wandelnder Intelligenz und Kreativität für die Gesundheit sowie Ursachen von Konflikten und Frustration, der treibenden Kraft von gesundheitlichen Problemen. Schlussendlich besprechen wir Strategien, um effektiver und gesünder in der Informatik zu kommunizieren.
Zusammenfassung In diesem Artikel behandeln wir unser Lehrbaummodell mit den Lehr- und Lernmethoden, welches zum effektiven Lehren und Lernen in der Informatik, Wirtschaftsinformatik und verwandten Fachgebieten hinführt. Das Lehrbaummodell hat in seinen Stamm Planung und Motivation als wichtigste Lehrmethodiken auf dem effektives Lehren und Lernen basiert. Die Blätter des Lehrbaummodells wie Kommunikation, Material, Gedächtnis, Aufmerksamkeit, Lernstörung und Aktivierung im Unterricht stellen notwendige Teile des effektiven Lehren und Lernens dar und schließlich folgt der Gipfel: die Überprüfung auf Effektivität des Unterrichts und der Lehrmethoden. Wir zeigen Wege auf, wie der Wandel von traditionellen Lehrmethoden wie des Haltens eines Vortrags oder einer Vorlesung mit wenig Interaktion zu moderneren, effektiveren Methoden durch die Verwendung des Lehrbaummodells stattfinden kann. Der Artikel zeigt auf, wie Frustration im Lehren und Lernen in der Informatik, Wirtschaftsinformatik und verwandten Fachgebieten vermieden und effektiver gelehrt und gelernt werden kann. Wir versuchen, mit diesen Artikel einen Wandel von traditionellen Lehrmethoden zu psychologisch moderneren Lehrmethoden zu ermöglichen.
Zusammenfassung In diesen Artikel berichten wir über unsere Erfahrungen welche wir im Rahmen einer Umschulung zum Fachinformatiker der Anwendungsentwicklung und Systemintegration gemacht haben. Unsere Erfahrungen haben gezeigt, dass eine projektbezogene Gestaltung des Unterrichts Umschüler stetig durch ein komplexes Fach wie Datenbankdesign und Datenentwicklung motiviert. Wir begründen unser Lehrkonzept durch verschiedene Lehrtheorien und Lerntheorien und beschreiben wie dieses in einem Kurs wie Datenbankdesign und Datenbankentwicklung während einer Umschulung umgesetzt werden kann. Wir diskutieren unser Lehrkonzept und zeigen auf, welche Lehrergebnisse und Lernergebnisse wir im Vergleich zu traditionellen Lehrkonzepten erzielt haben. Traditionelle Lehrkonzepte wie das Vortragen von wissenschaftlichen Theorien aus einem Lehrbuch, ohne Praxisbezug wurden von den Teilnehmern abgelehnt oder hat sie überfordert. Es konnte die Fülle an Information oder Terminologie, die in Fachbüchern häufig verwendet wird, schwer von den Teilnehmern, meist auch Nicht-Muttersprachlern verstanden werden. Wir glauben, dass eine Vereinfachung der Lehrinhalte im Kontext eines Praxisprojektes auch Nicht-Muttersprachlern und Kursteilnehmern mit diversen Bildungsabschlüssen zugute kommt.
Zusammenfassung Dieses Papier beschreibt unsere Lehrerfahrungen in einer virtuellen Lehr- und Lernumgebung für eine Vorlesung über objektorientierte Programmierung (OOP) in Java. Wir verwenden die Live-Meeting-Anwendung Adobe Connect sowie Lern- und Lehrmethoden für OOP-Vorlesungen wie Online-Coding, Online-Debugging, Online-Gruppenräume, Online-White-Boards und Online-Fragebögen, um unsere Lehr- und Lernziele zu messen und zu erreichen. Wir haben festgestellt, dass Online-Coding in Kombination mit Online-Debugging oder einem Codebeispiel das mit einem Kommentar versehen ist, in dieser virtuellen Lehr- und Lernumgebung am effektivsten funktioniert, um den Studierenden ein besseres Verständnis der Programmierkonzepte und -methoden zu vermitteln. Online-Coding und Online-Debugging sollten unmittelbar nach der Vermittlung der OOP-Konzepte und -Methoden durchgeführt werden. Andere Lehrmethoden wie das Unterrichten der OOP-Konzepte ohne ein konkretes Beispiel oder eine Anwendung führen zu Frustration und Unzufriedenheit bei den Studierenden.
Developers use FAQs (Frequently Asked Questions) to access and share knowledge about software libraries, APIs, and platforms. This paper studies 2,660 questions from 43 FAQ websites. We analyzed accessibility metrics such as the steps from the main documentation page, tagging or multilingualism as well as structure and readability metrics such as code-to-text ratio, number of links, and Flesch Reading-Ease. In addition, we compared these FAQs to 69,548 Stack Overflow (SO) posts, which cover the same topics and which have been posted by developers at least twice (i.e. duplicates). Our results reveal that different software vendors give different importance to their FAQs, e.g. by investing more effort or less in structuring and presenting them. We found that studied FAQs include more references (e.g. to corresponding API documentation) and are more verbose and difficult to read than corresponding SO duplicates. We also found that FAQs cover additional topics compared to corresponding duplicate posts.
Developers use FAQs (Frequently Asked Questions) to access and share knowledge about software libraries, APIs, and platforms. This paper studies 2,660 questions from 43 FAQ websites. We analyzed accessibility metrics such as the steps from the main documentation page, tagging or multilingualism as well as structure and readability metrics such as code-to-text ratio, number of links, and Flesch Reading-Ease. In addition, we compared these FAQs to 69,548 Stack Overflow (SO) posts, which cover the same topics and which have been posted by developers at least twice (i.e. duplicates). Our results reveal that different software vendors give different importance to their FAQs, e.g. by investing more effort or less in structuring and presenting them. We found that studied FAQs include more references (e.g. to corresponding API documentation) and are more verbose and difficult to read than corresponding SO duplicates. We also found that FAQs cover additional topics compared to corresponding duplicate posts.
Stack Overflow (SO) is one of the most popular online sites for asking and answering developers' questions. New posts that cover exactly the same knowledge as previously posted questions get closed and deleted by the community. However, new posts that are very similar to previous questions but which are phrased slightly different are kept and tagged as duplicates: since they might include additional information, hints, or keywords. In this paper, we study exact duplicates and similar duplicates in SO in order to get insights about their properties and content and to understand how the community distinguishes useful from useless (i.e. to be deleted) redundant knowledge. We identified several interesting trends. Unique questions are significantly longer than others. Original questions get answered faster, include more answers, and get more frequently viewed than exact and similar duplicates. When comparing the overlapped text in duplicate pairs, we found almost no difference between exact and similar duplicates. In both cases, about 20-25% of the question text and 40% of the tags are identical in an original and its duplicate. However, the answers of the duplicates seem much more diverse with only 5-6% repeated text. Our research provides further insights on how to extend and use redundant community knowledge.
This paper studies the software documentation quality in Stack Overflow from two perspectives: the questioners’ who are accepting answers and the community’s who is voting for answers. We show what developers can do to increase the chance that their questions or answers get accepted by the community or by the questioners. We found different expectations of what information such as code or images should be included in a question or an answer. We evaluated six different quality indicators (such as Flesh Reading Ease or images) which a developer should consider before posting a question and an answer. In addition, we found different quality indicators for different types of questions, in particular error, discrepancy, and how-to questions. Finally we use a supervised machine-learning algorithm to predict when an answer will be accepted or voted.
In the domain of software engineering NLP techniques are needed to use and find duplicate or similar development knowledge which are stored in development documentation as development tasks. To understand duplicate and similar development documentations we will discuss different NLP techniques as descriptive statistics, topic analysis and similarity algorithms as N-grams, the Jaccard or LSI algorithm as well as machine learning algorithms as Decision trees or support vector machines (SVM). Those techniques are used to reach a better understanding of the characteristics, the lexical relations (syntactical and semantical) and the classification and prediction of duplicate development tasks. We found that duplicate tasks share conceptual information and are rather created by inexperienced developers. By tuning different features to predict development tasks with a gradient or a Fidelity loss function a system can identify a duplicate tasks with a 100% accuracy.
Software developers spent 20% of their time on information seeking on Stack Overflow, YouTube or an API reference documentation. Software developers can search within Stack Overflow for duplicates or similar posts. They can also take a look on software development documentations that have similar and additional information included as a Stack Overflow post or a development screencast in order to get new inspirations on how to solve their current development problem. The linkage of same and different types of software development documentation might safe time to evolve new software solutions and might increase the productivity of the developer’s work day. In this paper we will discuss our approach to get a broader understanding of different similarity types (exact, similar and maybe) within and between software documentation as well as an understanding of how different software documentations can be extended.
A software development screencast is a video that captures the screen of a developer working on a particular task while explaining its implementation details. Due to the increased popularity of software development screencasts (e.g., available on YouTube), we study how and to what extent they can be used as additional source of knowledge to answer developer's questions about, for example, the use of a specific API. We first differentiate between development and other types of screencasts using video frame analysis. By using the Cosine algorithm, developers can expect ten development screencasts in the top 20 out of 100 different YouTube videos. We then extracted popular development topics on which screencasts are reporting on YouTube: database operations, system set-up, plug-in development, game development, and testing. Besides, we found six recurring tasks performed in development screencasts, such as object usage and UI operations. Finally, we conducted a similarity analysis by considering only the spoken words (i.e., the screencast transcripts but not the text that might appear in a scene) to link API documents, such as the Javadoc, to the appropriate screencasts. By using Cosine similarity, we identified 38 relevant documents in the top 20 out of 9455 API documents.
Developers’ tasks are often interrelated. A task might succeed, precede, block, or depend on another task. Or, two tasks might simply have a similar aim or require similar expertise. When working on tasks, developers interact with artifacts and tools, which constitute the contexts of the tasks. This work investigates the extent to which the similarity of the contexts predicts whether and how the respective tasks are related. The underlying assumption is simple: if during two tasks the same artifacts are touched or similar interactions are observed, the tasks might be interrelated.
Developers work on parallel tasks and switch between them due to interruptions and dependencies. For each task, developers interact with artifacts that constitute the task context. The more dissimilar tasks are, the more time is needed for switches to restore the contexts and adjust the mindset. Organizing tasks by their similarity can increase the efficiency of task switches. Moreover, knowing similar tasks of other developers might also save coordination effort. This paper studies the concept of tasks similarity based on the similarity of task contexts. We define task context as set or vector of the artifacts used in the task and apply popular similarity measures to compare the sets or vectors corresponding to the tasks. Instead of only counting the artifacts in the intersection and union of two contexts, we scale the artifacts with their relevance to the task using the degree-of-interest model. In a field study, a simulation, and an experiment, we investigated the accuracy of the different context similarity models and compared them to the accuracy of text-based similarity using the task descriptions.
1