Course: Software Engineering and Technology

Eindhoven University of Technology, Eindhoven
January 29 – February 1, 2018
and
Centrum Wiskunde & Informatica (CWI), Amsterdam
February 2, 2018

IPA organises Advanced Courses on each of its major research fields: Algorithmics and Complexity, Formal Methods and Software Technology. Each of these Advanced Courses intends to give an overview of (part of) the research of IPA in this specific field.

The Advanced Course, which is hosted by IPA at the Eindhoven University of Technology, focusses on subject areas in software engineering and software technology where successful research is being conducted by groups in IPA. From several of these areas, such as software analytics, language workbenches, software evolution/continuous integration, and functional programming, topics are taken to which an entire course day (or two) is dedicated. Course days consist of lectures mixed with active training (exercises, assignments, etc.).

Dates, Location and Programme

The lectures will take place in room MF 13 in building Metaforum of the TU/e. The overall schedule of the course is as follows: course days will start at 10.00 and last until approximately 16.30 hours. Short coffee breaks are planned at around 11.00 and around 14.45 and an organised lunch break at, roughly, 12.30-13.30. Friday 2 February, the course will take place in Amsterdam in the form of attending the Software Engineering Symposium.

MONDAY 29 January Jan Kuper (QBayLogic)
Functional Programming and Applications to FPGA Programming
TUESDAY & WEDNESDAY
30 & 31 January
Jurgen Vinju (CWI and TU/e)
and Tijs van der Storm (CWI and RUG)
Forward DSL engineering with Rascal
Reverse engineering with Rascal
THURSDAY 1 February Bogdan Vasilescu (Carnegie Mellon University)
and Alexander Serebrenik (TU/e)
Collaborative and Human Aspects of Software Engineering

Creating software requires more than applying the right technical solutions in the right technical ways — it is an inherently collaborative, human venture. These days, software is being developed by increasingly distributed and increasingly diverse groups of individuals. How can we empower distributed teams to develop software effectively and productively? How can technology help software teams do more with less? What effects does team composition have on productivity and code quality? What effects does the team communication has on the software development process and quality of software? How do technological changes affect the software development process?

On February 1 we focus on collaborative and human aspects of software engineering, from an empirical perspective. The module gives an overview of empirical research methods available to software engineering researchers for data collection and data analysis, both qualitative and quantitative. We will discuss the pros and cons of different methods, protocols for rigorously applying the methods, and how to combine them in different research designs in order to answer software engineering research questions. We will also review and critique examples of research papers illustrating these methods. In the hands-on session we will practice using these different methods on sample data sets.
FRIDAY 2 February SEN Symposium, CWI, Amsterdam

Registration

Registration closes on 15 January. Follow this link to register. As always, IPA PhD students can attend for free. For others, details on pricing will be made available upon request.

Accommodation

Unlike Fall Days, overnight accommodation is not included by default for this course. The schedule is set up in such a way that it is feasible for many students to commute. In the event this is not feasible, let us know and we will provide basic overnight accommodation.  You can specify your accommodation needs on the registration form.