Professor David Duke

Research interests

The "sequential" computer is history; the challenge today is how to build applications, from high performance games to tools for computational science, that effectively exploit parallel hardware. My work and research interests lie in two areas, (i) high performance graphics and visualization, and (ii) parallel programming technologies including the pure functional language Haskell.

In graphics, my work includes tools for topological analysis of multifield data (the "Joint Contour Net") and its implementation in both the widely used VTK platform, and on parallel hardware via Haskell.  It also includes work at the interface of graphics and perception, on how rendering can interact with affect (emotion).

In functional programming, my work includes novel approaches to re-constructing visualization techniques in a functional setting that have approached (and sometimes exceeded) the performance of imperative libraries, and work on performance analysis of Haskell programs through extensions to the toolchain (GHC and ThreadScope).

Professional memberships

  • ACM
  • IEEE and IEEE Computer Society
  • Fellow of the European Association for Computer Graphics

Student education

My teaching expertise is extremely broad, I have previously taught: software engineering, introductory programming, systems programming, algorithms and data structures, discrete models, computer graphics, networks,  operating systems, and scientific visualization.

Research groups and institutes

  • Computational Science and Engineering