Professor David Duke
- Position: Professor of Computer Science
- Areas of expertise: Pure functional programming, Haskell, More broadly maths, I have broad exp icl: databases programming technology computer graphics, Visualization Parallelism, `,
- Email: D.J.Duke@leeds.ac.uk
- Phone: +44(0)113 343 6800
- Location: 6.24 E C Stoner Building
- Website: My Personal Site | LinkedIn | Googlescholar | Researchgate
I started my PhD working in database design, extending the NIAM Object-Role Modelling technique to address database dynamics.
My PhD (KeyCentre for Software Technology, University of Queensland) set out the denotational semantics of the Object-Z specification language that I helped to develop as a bridge between formal methods and object oriented development
I have worked extensively on adapting formal methods for specifying interactive systems via abstractions called 'interactors', including ground breaking work that links systems with modes of cognitive processing 'syndetic' modeling.
In computer graphics I'm interested in 'minimal graphics' inspired by differences in artistic traditions.In visualzation my work includes graph and technology for large-scale graph visualization, and
with Hamish Carr ground-breaking work on extracting and visualising multi-field topology of continuous data , including aplications in nuclear fission, oceanography.
I have substantia practical experience withThe Visualization Toolkit (VTK).
I have worked extensively in functional programming using Haskell to parallelise challenging computations in topological data analysis including work on.
One recent PhD project examined profiling for optimized Haskel, resulting in improvements to the GHC code-base. Other Haskell work includes:
- streaming implementation of iso-surfaces for vis(lazy polytypic grid project
- pure fuctional solution to the IEE Vis 2008 contest. Haskell at TB scale
-multiple DSLs in vis
combinators for local search (with Richard Sennington)
My work and research interests lie in multiple areas:
(i)rigorous methods for software development, including formal specification, refinement, verification;
- Z, Object-Z
- their application to challenging problems: concurrency, parallelism
- software engineering
- ur functional programming ep. Haskell
(ii) high performance graphics and visualization, esp fo large scale data:
- multi-field topology
- linking depiction to semantics
(iii) pure functional programming - applications in data analysis
- profiling support
(iv) computer graphics New techniques for image synthesis, that draw on different artistics traditions, and exploit affect see e.g.'minimal graphics'
- PhD computer science (UQ)
- BSc Honours( 1st class) Computer Science
- IEEE and IEEE Computer Society
- Fellow of the European Association for Computer Graphics
My teaching expertise is extremely broad, I have previously taught: software engineering, introductory programming, systems programming, networks,concurrency (theory and practice) algorithms and data structures, discrete models, computer graphics, networks, operating systems, and scientific visualization.
I served as Head of School from 2012 until 2017 when I was forced to step back due to illness. I am currently unable to accept phd students.
One of my initiatives wass the creation of new programmes in High Performance Graphics and Games Engineering to address a UK skills shortage in this area.
Research groups and institutes
- Computational Science and Engineering