SS18: Softwaretechnik

General

Modulbeschreibung

Lecturer:Marc Hellmuth and Nikolai Nojgaard

Dates and Place: Tue 12-2pm, Wed 12-2pm
                             Wollweberstraße 1 (RTK)

Requirements: Schein "Praxis des Programmierens"

 

This course is based on the book "Software Engineering" (Pearson; Edition: 10 (3. April 2015)) by Ian Sommerville

The slides are based on the material provided at
http://iansommerville.com/software-engineering-book/

News

  • CHANGE OF REQUIREMENTS:
    each team only needs to implement
    EITHER 
    • the Force Directed Layout Algorithm,  
      OR
    • the Build Algorithm
    AND (two of the algorithms in 3A, 3B in project description
             OR one of the algorithms in 3A,3B and
                  the manual readjustment of the drawing (2nd Part of 2b)
  • New exercises added (18. June)
  • New exercises/slides/summary added (14.May)
  • New exercises added (04.May)
  • New materials and assignment added (01. May)
  • New materials (Java, Eclipse, Git, .. ) added (16. April)
  • The lecture on April 11th is cancelled

Description and Materials

Short Project Description

Graphs are mathematical structures used to model pairwise relations between objects and play a central role in many scientific areas.
Many graph algorithms that process a graph exists. These algorithms are usually applied to understand the structure of the graph in more detail or to answer specific questions related to the problem domain that the graph models. These algorithm usually compute a ``final'' solution for the considered problem. However, such algorithms often consists of several ``intermediate steps'' that need to be performed to obtain the final solution. To easily understand the behavior of such algorithms a program is desired that visualizes the intermediated steps applied on some automatically drawn input graph.
For a very advanced example see e.g. https://visualgo.net/.

  •  Some more information to Force-Directed Layout
    • Handbook of Graph Drawing and Visualization (Chp. 12), Roberto Tamassia (Editor), CRC Press, 2013
      [FILE]
    • Simple Algorithms for Network Visualization: A Tutorial (Section 1), Michael J. McGuffin, Tsinghua Science and Technology 17(4), 2012
      [FILE]
    • Youtube-Link

  • Some more information to the BUILD-algorithm
    • Phylogenetics (Section 6.4), Semple and Steel, Oxford University Press, 2009
      [FILE]
    • Inferring a Tree from Lowest Common Ancestors with an Application to the Optimization of Relational Expressions, Aho et al.\ SIAM J COMPUT, 10(3), 405-421, 1981
      [FILE]
    • Bioinf-Lecture slides


Materials and Exercises to Java, Eclipse, Git, JUnit ..

 

Lecture Slides 

  • Part 1 - Introduction
  • Part 2 - Software Processes
  • Part 3 - Agile software development
  • Part 4 - Short Intermezzo: GitHub
  • Part 5 - Requirements Engineering
  • Part 6 - Design
  • Part 7 - Implementation Issues
  • Part 8 - Software Testing