Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering
Seminar in Advanced Topics in Software Construction
Prof. Dr. Armin B. Cremers, Daniel Speicher
How do you construct your software? Our lecture “Object-Oriented Software Construction” teaches how to build software as a system of “software objects” interacting with each other just like “things in reality” interact with each other. But there are other styles (procedural, functional, relational, callback-based, restful, …) that all have their specific advantages and disadvantages. Additionally, they are independent of the programming language at hand. Knowing a variety of styles gives you more options to build your system. Furthermore, the styles prove as well useful on the higher level of system design as principles for structuring your system.
But how is it possible to get familiar with such a variety of styles? The recently published book "Exercises in Programming Style" by Cristina Videira Lopes offers a simple and unprecedented approach. It presents 33 different programs solving the simple problem of presenting the 25 most frequent words in a given text. Each of the short programs (1-2 pages) exhibits the characteristics of another style. As each program solves the same task, the differences in style become evident.
In the seminar you will approach two to four styles starting from the book, discussing the advantages and disadvantages of the style, revisiting classical sources for the styles and presenting a few current academic publications on the topic. The presentations from your fellow students will familiarize you with the remaining styles.
Course format: Block seminar for the final presentations plus introductory sessions, written seminar paper.
Contact: Daniel Speicher (dsp@cs.uni-bonn.de), Please send a short application1) email till 31.07.14.
More information about the book
More examples of “one content - many styles”
Further literature