James Noble, University of Wellington

James  Noble

James Noble is Professor of Computer Science and Software Engineering at Victoria University of Wellington, New Zealand. His research centres around software design, ranging from object-orientation,aliasing, design patterns, and agile methodology, via usability and visualisation, to postmodernism and the semiotics of programming.

James Noble and Charles Weir are co-authors of the book Small Memory Software, and have presented several tutorials together on Small Memory Software, and on Learning by Playing. James and Charles are particularly noted for their original and fun approaches to writing and presenting software ideas and concepts.

Presentation: "The Lego Hypothesis"

Track:   Keynote

Time: Monday 17:45 - 18:45

Location: Conference Hall 1

Abstract: For decades, software engineering has "dreamed an impossible dream": to build software from components as easily as children can build houses out of Lego bricks. In this talk, we will imagine a world where that dream has been realised - where software parts can be found in worldwide repositories, where most software is built by reusing existing software, and where software engineering has finally been freed from the mundane necessity of programming. We will explore the philosophical and empirical underpinnings of this dream, and consider how software engineers and computer sciences could reposition themselves to respond to this imaginary world (should it ever come to pass).

Password protected Download slides

Tutorial: "Small Memory Software (full day)"

Track:   Tutorials

Time: Friday 09:00 - 12:00, 13:00 - 16:00

Location: Nortvegia


Traditional OO development techniques assume systems with relatively large memories. Developers working with tight memory requirements need the flexibility and encapsulation which OO can provide, but cannot afford to produce large systems.

This tutorial will describe how you can use OO techniques in a memory-constrained environment. Using design patterns and practical examples, this tutorial will teach the most important techniques that successful OO designers use for small memory software.

This tutorial targets anyone planning, or involved in, development of OO applications in limited memory. This tutorial is most useful to developers with a year's experience using an OO language and technical team leaders. Experience of memory-limited systems is helpful but not essential.

The tutorial balances direct presentations (for overviews and to present each pattern) and case study exercises (to reflect on patterns and see how they can be applied).