Welcome to the website of the "Enterprise Platform and Integration Concepts" (EPIC) group.
Our activities are focused on the following research topics:
In-Memory Data Management for Enterprise Applications
Human-Centered Software Design and Engineering
In-Memory Data Management for Life Sciences
Our group includes PostDocs, PhD students, and student assistants, and is headed by Prof. Dr. Hasso Plattner. If you are interested in our work or want to join our team, please contact Dr. Matthias Uflacker.
Our team is giving a series of lectures and seminars with a focus on enterprise systems design and in-memory data management. Strong links to the industry ensure a close connection between theory and its implementation in the real world.
Our research focuses on the principles of in-memory data management on modern hardware and the integration of different hard- and software systems to meet business requirements. This involves studying the conceptual and technological aspects of modern enterprise applications as well as tools and methods for enterprise systems design.
We continually strive to translate our research into practical outputs that improve the quality of enterprise applications. A close link to industry partners ensures relevance and impact of our work. Get here an overview of our current and previous projects.
Bridging the Gap Between Learners and Instructors in Online Programming Education
Massive Open Online Courses with their low entry barriers and their ability to scale to thousands of students are a suitable approach to “educate the masses”. However, they face several substantial challenges, such as a feeling of anonymity and an increased social gap between instructors and students caused by students’ isolated physical situation. Further, any means of individual feedback are mostly prohibited by the mismatch between thousands of students and only few instructors.
In this research we develop, implement, and evaluate different approaches to improve students’ learning experience within online programming courses. Data of four programming MOOCs with over 60.000 students and over 5 million task submissions are employed to determine criteria for successful courses. We tackle the identified issues with scalable technical solutions, improving social interaction and balancing course difficulty. Our scientific contributions include an approach for struggle detection triggering situational interventions, means for personalizing educational content, as well as concepts to foster collaborative problem solving. With these approaches, we reduce counterproductive struggles and create a universal improvement for arbitrary programming MOOCs.
Gathered data show that receiving feedback from peers to one’s programming problems improves overall course scores by up to 17%. Solely phrasing a question about ones’ problem on the platform improved overall scores by about 14%. The rate of students reaching out for help was improved by situational just-in-time interventions by over 150%.
Matthies, C., Huegle, J., Dürschmid, T., Teusner, R.: Attitudes, Beliefs, and Development Data Concerning Agile Software Development Practices.2019 IEEE/ACM 41st International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET). pp. 158-169. IEEE (2019).
The perceptions and attitudes of developers impact how software projects are run and which development practices are employed in development teams. Recent agile methodologies have taken this into account, focusing on collaboration and shared team culture. In this research, we investigate the perceptions of agile development practices and their usage in Scrum software development teams. Although perceptions collected through surveys of 42 participating students did not evolve significantly over time, our analyses show that the Scrum role significantly impacted participants' views of employed development practices. We find that using the version control system according to agile ideas was consistently rated most related to the values of the Agile Manifesto. Furthermore, we investigate how common software development artifacts can be used to gain insights into team behavior and present the development data measurements we employed. We show that we can reliably detect well-defined agile practices, such Test-Driven Development, in this data and that usage of these practices coincided with participants' self-assessments.
Teusner, R., Hille, T., Staubitz, T.: Effects of Automated Interventions in Programming Assignments: Evidence from a Field Experiment.L@S 2018: Fifth Annual ACM Conference on Learning at Scale (2018).
A typical problem in MOOCs is the missing opportunity for course conductors to individually support students in overcoming their problems and misconceptions. This paper presents the results of automatically intervening on struggling students during programming exercises and offering peer feedback and tailored bonus exercises. To improve learning success, we do not want to abolish instructionally desired trial and error but reduce extensive struggle and demotivation. Therefore, we developed adaptive automatic just-in-time interventions to encourage students to ask for help if they require considerably more than average working time to solve an exercise. Additionally, we offered students bonus exercises tailored for their individual weaknesses. The approach was evaluated within a live course with over 5,000 active students via a survey and metrics gathered alongside. Results show that we can increase the call outs for help by up to 66% and lower the dwelling time until issuing action. Learnings from the experiments can further be used to pinpoint course material to be improved and tailor content to be audience specific.
Teusner, R., Matthies, C., Staubitz, T.: What Stays in Mind? - Retention Rates in Programming MOOCs.2018 IEEE Frontiers in Education Conference (FIE) (2018).
This work presents insights about the long-term effects and retention rates of knowledge acquired within MOOCs. In 2015 and 2017, we conducted two introductory MOOCs on object-oriented programming in Java with each over 10,000 registered participants. In this paper, we analyze course scores, quiz results and self-stated skill levels of our participants. The aim of our analysis is to uncover factors influencing the retention of acquired knowledge, such as time passed or knowledge application, in order to improve long-term success. While we know that some participants learned the programming basics within our course, we lack information on whether this knowledge was applied and fortified after the course's end. To fill this knowledge gap, we conducted a survey in 2018 among all participants of our 2015 and 2017 programming MOOCs. The first part of the survey elicits responses on whether and how MOOC knowledge was applied and gives participants opportunity to voice individual feedback. The second part of the survey contains several questions of increasing difficulty and complexity regarding course content in order to learn about the consolidation of the acquired knowledge. We distinguish three programming knowledge areas in the survey: First, understanding of concepts, such as loops and boolean algebra. Second, syntax knowledge, such as specific keywords. Third, practical skills including debugging and coding. We further analyzed the long-term effects separately per participant skill group. While answer rates were low, the collected data shows a decrease of knowledge over time, relatively unaffected by skill level. Application of the acquired knowledge improves the memory retention rates of MOOC participants across all skill levels.
Matthies, C., Teusner, R., Hesse, G.: Beyond Surveys: Analyzing Software Development Artifacts to Assess Teaching Efforts.IEEE Frontiers in Education Conference (FIE). pp. 1-9 (2018).
This Innovative Practice Full Paper presents an approach of using software development artifacts to gauge student behavior and the effectiveness of changes to curriculum design. There is an ongoing need to adapt university courses to changing requirements and shifts in industry. As an educator it is therefore vital to have access to methods, with which to ascertain the effects of curriculum design changes. In this paper, we present our approach of analyzing software repositories in order to gauge student behavior during project work. We evaluate this approach in a case study of a university undergraduate software development course teaching agile development methodologies. Surveys revealed positive attitudes towards the course and the change of employed development methodology from Scrum to Kanban. However, surveys were not usable to ascertain the degree to which students had adapted their workflows and whether they had done so in accordance with course goals. Therefore, we analyzed students' software repository data, which represents information that can be collected by educators to reveal insights into learning successes and detailed student behavior. We analyze the software repositories created during the last five courses, and evaluate differences in workflows between Kanban and Scrum usage.
Teusner, R., Hille, T.: On the Impact of Programming Exercise Descriptions.Proceedings of the 2018 Learning With MOOCS (LWMOOCS2018). pp. 51-54. IEEE (2018).
Teusner, R., Rollmann, K.-A., Renz, J.: Taking Informed Action on Student Activity in MOOCs.Proceedings of the Fourth (2017) ACM Conference on Learning @ Scale. pp. 149-152. ACM, New York, NY, USA (2017).
This paper presents a novel approach to understand specific student behavior in MOOCs. Instructors currently perceive participants only as one homogeneous group. In order to improve learning outcomes, they encourage students to get active in the discussion forum and remind them of approaching deadlines. While these actions are most likely helpful, their actual impact is often not measured. Additionally, it is uncertain whether such generic approaches sometimes cause the opposite effect, as some participants are bothered with irrelevant information. On the basis of fine granular events emitted by our learning platform, we derive metrics and enable teachers to employ clustering, in order to divide the vast field of participants into meaningful subgroups to be addressed individually.
Staubitz, T., Teusner, R., Meinel, C.: openHPI's Coding Tool Family: CodeOcean, CodeHarbor, CodePilot.Automatische Bewertung von Programmieraufgaben (ABP) (2017).
The Hasso Plattner Institute successfully runs a self-developed Massive Open Online Course (MOOC) platform—openHPI—since 2012. MOOCs, even more than classic classroom situations, depend on automated solutions to assess programming exercises. Manual evaluation is not an option due to the massive amount of users that participate in these courses. The paper at hand maps the landscape of tools that are used on openHPI in the context of automated grading of programming exercises. Furthermore, it provides a sneak preview to new features that will be integrated ion the near future. Particularly, we will introduce CodeHarbor, our platform to share auto-gradeable exercises between various online code execution platforms.
Staubitz, T., Teusner, R., Meinel, C.: Towards a Repository for Open Auto-Gradable Programming Exercises.2017 IEEE International Conference on Teaching, Assessment, and Learning for Engineering (TALE) (2017).
Auto-gradable hands-on programming exercises are a key element for scalable programming courses. A variety of auto-graders already exist, however, creating suitable high- quality exercises in a sufficient amount is a very time-consuming and tedious task. One way to approach this problem is to enable sharing auto-gradable exercises between several interested parties. School-teachers, MOOC1 instructors, workshop providers, and university level teachers need programming exercises to provide their students with hands-on experience. Auto-gradability of these exercises is an important requirement. The paper at hand introduces a tool that enables the sharing of such exercises and addresses the various needs and requirements of the different stakeholders.
Teusner, R., Wittstruck, N., Staubitz, T.: Video Conferencing as a Peephole to MOOC Participants.2017 IEEE International Conference on Teaching, Assessment, and Learning for Engineering (TALE). IEEE (2017).
Distance education gained considerable attention with the rise of Massive Open Online Courses (MOOCs). Given the significant role collaboration plays in practical computer science education on campus, it becomes evident that nowadays online course platforms mostly lack the necessary collaborative capabilities. We present a solution to support collaborative programming through video conferencing for practical exercises employed in MOOC contexts. Two user surveys showed that albeit users value the possibilities, privacy concerns remain. We therefore propose to additionally use the technology to face another challenge: MOOCs usually are conceptualized and produced to a large extent before the actual course runtime. Reaction on current events within the course is possible but requires insights on students’ problems. Course conductors can use the tutoring mode in our WebIDE to understand struggling students and potentially uncover topics that lack additional background material or need additional training exercises.
Teusner, R., Hille, T., Hagedorn, C.: Aspects on Finding the Optimal Practical Programming Exercise for MOOCs.Proceedings of the 47th Annual Frontiers in Education (FIE) Conference. IEEE (2017).
Massive Open Online Courses (MOOCs) focus on manifold subjects, ranging from social sciences over languages to technical skills, and use different means to train the respective skills. MOOCs that are teaching programming skills aim to incorporate practical exercises into the course corpus to give students the hands-on experience necessary for understanding and mastering programming. These exercises, apart from technical challenges, come with a series of questions to be addressed, for example: which fraction of the participants' time should they take (compared to video lectures and other course activities), which difficulty should be aimed for, how much guidance should be offered and how much repetition should be incorporated? The perceived difficulty of a task depends on previous knowledge, supplied hints, the required time for solving and the number of failed attempts the participant made. Furthermore, the detail and accuracy of the problem description, the restrictiveness of the applied test cases and the preparation provided specifically for a given exercise also influence the perceived difficulty of a task. In this paper, we explore the data of three programming courses to find criteria for optimal practical programming exercises. Based on over 3 million executions and scoring runs of participants' task submissions, we aim to deduct exercise difficulty, student patterns in approaching the tasks and potential flaws in task descriptions and preparatory videos. We compare our findings to in class trainings and traditional, mostly video and quiz based MOOCs. Finally, we propose approaches and methods to improve programming courses for participants as well as instructors.
Teusner, R., Matthies, C., Giese, P.: Should I Bug You? Identifying Domain Experts in Software Projects Using Code Complexity Metrics.2017 IEEE International Conference on Software Quality, Reliability and Security (QRS). pp. 418-425 (2017).
In any sufficiently complex software system there are experts, having a deeper understanding of parts of the system than others. However, it is not always clear who these experts are and which particular parts of the system they can provide help with. We propose a framework to elicit the expertise of developers and recommend experts by analyzing complexity measures over time. Furthermore, teams can detect those parts of the software for which currently no, or only few experts exist and take preventive actions to keep the collective code knowledge and ownership high. We employed the developed approach at a medium-sized company. The results were evaluated with a survey, comparing the perceived and the computed expertise of developers. We show that aggregated code metrics can be used to identify experts for different software components. The identified experts were rated as acceptable candidates by developers in over 90% of all cases.
Richly, K., Teusner, R.: Where is the Money Made? An Interactive Visualization of Profitable Areas in New York City.The 2nd EAI International Conference on IoT in Urban Space (Urb-IoT) (2016).
Detailed information about the flow of potential customers in a city is extremely relevant for strategic decisions of various service providers such as taxi companies or advertising agencies. The knowledge about highly frequented regions as well as peak times in specific areas provides a crucial business advantage to competitors. Today, business relevant decisions about the positioning of service providers and advertising spaces or the balancing of capacity are primarily based on experience only. In this paper, we present a novel approach to gain knowledge about the distribution of potential customers over time and space based on the data of taxi rides, which have been recorded for documentation purposes. By leveraging the performance of in-memory databases, we build an applica- tion, which allows the user to analyze about 700 million taxi rides in real-time. The application allows companies to get an impression in which areas and in what timeframes they can reach a large audience of potential customers. Additionally, we demonstrate that the developed visualization concept enables the comparison of different regions and allows to analyze trends in the customer flow over time.
Kowark, T., Teusner, R., Richly, K., Plattner, H.: RepMine: A System for Transferrable Analyses of Collaboration Activities in Software Engineering.2015 Workshop on Software Support for Collaborative and Global Software Engineering, In conjunction with the 30th IEEE/ACM International Conference on Automated Software Engineering (2015).
Richly, K., Teusner, R., Immer, A., Windheuser, F., Wolf, L.: Optimizing Routes of Public Transportation Systems by Analyzing the Data of Taxi Rides.Workshop on Smart Cities and Urban Analytics, in conjunction with 23rd ACM International Conference on Advances in Geographic Information Systems (ACM SIGSPATIAL) (2015).
This paper presents our findings of a comparison study conducted on three iterations of a MOOC run on our platform openHPI. We present the main facts shared by the courses and the planned as well as occurred differences. Additionally, we discuss the added technical features such as user groups along with the expected and actual outcomes. We relate our experiences from the second and third iteration to those of the first one. Findings show that demand for high quality content endures, even if the topic is rather specialized. Expectations of participants towards online courses are growing in general due to an increasing amount of organizations offering lectures. MOOCs are compared to school lessons, distance education and seminars. As a result, the pressure on platforms is increasing with regards to content, service and reliability. To cope with that, we share best practices and propose promising improvements to the platform and future courses.
Teusner, R., Perscheid, M., Appeltauer, M., Enderlein, J., Klingbeil, T., Kusber, M.: PopulAid: In-Memory Data Generation for Customized Benchmarks.Workshop on Big Data Benchmarking (WBDB) (2014).
Grünewald, F., Mazandarani, E., Meinel, C., Teusner, R., Totschnig, M., Willems, C.: openHPI: Soziales und Praktisches Lernen im Kontext eines MOOC.in Proceedings of DeLFI 2013 - 11. e-Learning Fachtagung Informatik (2013).
"A Course in In-Memory Data Management" by Prof. Dr. h.c. Hasso Plattner. This book is the culmination of six years work of in-memory research. As such, it provides the technical foundation for combined transactional and analytical workloads inside one single database as well as examples of new applications that are now possible given the availability of the new technology. The book is available at Springer.