LEA

Pearls of Computer Science IV

  • Lecturers:
    Dr. Thomas Fuhrmann
    Dr. Riko Jacob
    Dr. Martin Sachenbacher
    Dr. Alexandros Stamatakis
    Dr. Christian Urban
  • Module:
    IN2177
  • Area:
    1 lecture of 2 hours per week
  • Time and Place:
    Thu, 12:25-13:55.
    Wed, 10:15-11:45.
    Room 03.11.18
  • Audience:
    Motivated 4th semester students of computer science with good results in the 1st year courses
  • Prerequisites:
    1st year courses
  • Recommended for:
    Participants of the Special program for gifted students of the computer science department
  • Contents:
    Dr. Christian Urban "Correctness of Programming Languages"
    Programming languages are the means by which every software product is created. In the lectures we will cover latest research results about verifying that programming languages are correct. We will emphasize on formal techniques to study a variety of programming language paradigms, including functional and imperative. Time permitting, we will have a look at mapreduce algorithms, which are inspired by functional programming.
    Slides:
    23 Apr 09
    30 Apr 09
    7 May 09
    Dr. Thomas Fuhrmann "Design principles of the Internet"
    The Internet is the largest machine humankind has ever built. No one can control it, and no one fully understands it. This lecture gives a brief introduction into the design principles that shaped the Internet architecture from its beginning in the 1970s until today. In particular we consider examples for the scalable, self-organizing algorithms that shall sustain the Internet's growth also in the future.
    Dr. Riko Jacob "Memory Hierarchy Optimal Matrix Multiplication-Programs"
    The I/O model judges the quality of an algorithm for huge data sets not by the number of CPU-operations but by the number of page misses it incurs. In this setting many traditionally trivial tasks start to require real algorithms, for example to permute the elements of an array, or more generally and stated in the linear algebra way, to multiply a vector with a sparse matrix (SpMxV). SpMxV is also a fundamental task applications, for example in numerical solvers or in network analysis tasks like computing Googles page rank. By now the worst case complexity of SpMxV on a serial computer is reasonably well understood. In the project these insights are generalized to parallel computers, the structure of concrete matrices is investigated, and the found algorithms are considered from an algorithms engineering point of view.
    Alternatively, we could discuss some seemingly unrelated results, one on Shunting Freight Trains and the other on finding the predecessor in a sorted matrix (details of the problems will be explained). Here the focus would be on the uniting toolbox and why I think of these results as beautiful.
    Dr. Martin Sachenbacher "Constraint programming and its role in self-aware, autonomous systems"
    Constraint programming (CP) has been called "one of the closest approaches computer science has yet made to the holy grail of programming": in CP, the user states the conditions which restrict his freedom of decision, and a general purpose solver is used to find solutions. After a short introduction to basic constraint modeling and solution techniques, we present recent research directions, which aim at modeling user preferences and multi-agent scenarios where not all decision variables are under the user's control. We discuss how CP methods are instrumental to build technical systems (autonomous space probes, intelligent factories, smart buildings, etc.) that are able to work properly without or with very limited human intervention, even in the case of unexpected events and failures.
    Dr. Alexandros Stamatakis "Reconstructing Evolution"
    This year we are celebrating Darwin's 200th birthday. Therefore, a part of the lectures will be dedicated to the reconstruction of phylogenetic (evolutionary) trees from DNA sequences. This area of research spans a broad range of interesting problems such as statistical modeling of evolution, heuristics for NP-hard optimization problems, discrete algorithmic problems on sets of bipartitions of trees, and application of High Performance Computing Techniques. After a brief general introduction to the field, a couple of current research highlights will be discussed in more detail, e.g., the currently fastest and most accurate heuristic search algorithm for reconstruction of evolutionary histories and a parallel implementation on the IBM BlueGene/L supercomputer.