Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering
Different “styles” of agile software development are for example eXtreme Programming, Scrum and Kanban. This topic critically discusses in detail the Kanban approach on agile software development.
Initial References:
For your entertainment:
Ivar Jacobson, Betrand Meyer, Richard Soley (3 big names!) started an initiative to "re-found software engineering based on a solid theory, proven principles, and best practices". They called it Software Engineering Method and Theory (SEMAT). Given the prominence of the signatories of this initiative, it needs at least to acknowledged by the software engineering community.
Initial References:
Pair programming is an development technique in which two programmers work together at one computer, working on the same task. This topic illustrates best practices in pair programming and the impact on code quality.
Initial References:
Tests play a major role to ensure product quality in Agile Software Development. This topic explains how Test-Driven Development is used and what different philosophies of TDD exist. Further an analysis on the impact for development quality is shown.
Initial References:
For your entertainment:
In the quest to improve and keep the design of our software it might be a good idea to get the development environment on board to assist us. There is work (and already tools) working towards this goal.
Object Oriented Design is probably the most essential competence you need as a software engineer developing object-oriented software. Unfortunately the software engineering lectures only introduce you into a small part of this. Your paper and talk should distill an overview of the object-oriented design knowledge presented in the books and report about its impact on the research literature (i.e. you should search for publications referencing the initial references or the topic).
Initial References:
Maybe as well:
Code is written once but read many times. Therefore code readability is of central importance. But what makes code readable? Can readability be measured automatically? Can readability be improved? The initial literature has quite promising answers to these questions.
Initial References:
This topics gives an overview on how we humans perceive visualization, what design issues arise from this and how we can use a user centered software design to start designing user interfaces up front.
Initial References:
Structure visualization is the most used application in software visualization. This topic analyses recent approaches and gives and overview of important visualizations created in the last decades.
Initial References:
Software is evolving over time. Time and evolution are important aspects that need to be incorporated into visualizations. This topics contains in depth analysis of the inherent issues with designing and using evolutionary visualizations. In this context, the storyline visualization as an example for challenge of scalability is presented and analysed.
Initial References:
This topic gives an overview on gamification, its elements and underlying ideas. The basic idea is to use game elements in a non-game context.
Initial References: