Skip Navigation | ANU Home | Search ANU | Feedback
The Australian National University
ANU College of Engineering and Computer Science
Department of Computer Science
Printer Friendly Version of this Document

Ian Barnes


I am a Lecturer in the Department of Computer Science at the Australian National University.


In 2006 & 2007 I studied part-time at the Jansen Newman Institute in Sydney and am now a fully-qualified counsellor and psychotherapist.

Avigail & I have been planning for a few years to move to the Highlands of Scotland... Our plans had become quite firm, to the point of booking flights and removalists for late December 2008, but the world financial meltdown has hit us doubly: first in that we have not been able to sell our house, and secondly on the exchange rates. So we are postponing our move for a few months. We hope to go some time around March, but of course that is still dependent on finding a buyer for the house.

We already have a Scottish web site.

About me

I studied mathematics and computer science at the Australian National University from 1981 to 1984, finishing with first class honours in pure mathematics. Among my teachers in computer science were Brian Molinari, Malcolm Newey, Brendan McKay and Vicki Peterson, all of whom were still teaching in the department when I started here again in 1999. From 1986 to 1990 I did a Ph.D. in applied mathematics in the Research School of Physical Sciences, again at ANU.

Until early 1998 I worked as a mathematician (sometimes disguised as a physical chemist or soft-matter physicist), first at the CNRS in Bordeaux, France, then at the University of Sydney, ANU and Macquarie University. From 1992-4 I held an Australian Research Council Postdoctoral Fellowship. I have done research in pure and applied mathematics, mostly on subjects related to surfaces in space, interfaces between different phases in microstructured fluids, movement of interfaces driven by surface and curvature energy and stuff like that. I also lectured at all levels of undergraduate mathematics, from first-year to fourth-year honours and masters.

After years of being unhappy in mathematics, I decided in early 1998 to change to computer science. In 1998 I taught first-year computing at the Sydney Institute of Business and Technology, a private tertiary college affiliated with Macquarie University. In 1999 I was a Visiting Fellow and Part-time Tutor in the Department of Computer Science at ANU. In December 1999 I was offered an Associate Lecturer position in the department, and in 2002 I was promoted to Lecturer (Academic Level B).

In 2003 & 2004 I studied creative writing in the School of Creative Communication at the University of Canberra. In 2003, 2004 & 2005 I did all the technical production for First, their annual anthology of student writing, using some of the techniques developed in my research and teaching at ANU.

In 2006 & 2007 I studied counselling and psychotherapy part-time at the Jansen-Newman Institute in Sydney. I am now a fully-qualified counsellor and psychotherapist with about 300 clinical hours of experience.

I am married to Avigail Abarbanel, who is a counsellor and psychotherapist in private practice. My interests outside work include reading, writing, cycling, weight training and playing the piano.

In 2009 we plan to move to the Inverness area in the Highlands of Scotland, and open a practice there. I will continue to do research and development in computing part-time, almost certainly continuing to work in the area of document conversion, preservation, metadata, authoring, re-use, electronic archiving and so on.


Here are some of the areas I'm interested in. The first is my main area of research at the moment.

  • The digital scholar's workbench This is what I have been working on (and will continue working on) in my secondment to DRS in DOI with APSR.

    The digital scholar's workbench is a web application that converts between word processor file formats and more useful preservation and access formats. At the moment the chosen preservation format is DocBook XML, and the access formats are XHTML and PDF.

    Here are the slides [ PDF] from a talk I gave at the Open Repositories 2006 conference held in Sydney, 31st January to 3rd February 2006.

    Here are two reports I wrote in the first half of 2006:

    • Preservation of word processing documents [ HTML, PDF]

    • Preservation of TeX/LaTeX documents [ PDF]

    I presented a paper on this subject at ELPUB2007, the 11th International Conference on Electronic Publishing, held in Vienna in June 2007.

  • Writers and their computers. I spent part of my time while away on sabbatical in 2004 interviewing writers about their relationship with computers. For writers today — poets, novelists, scriptwriters, playwrights, essayists, scholars — the computer is almost essential. Every publisher or journal asks for copy on a disk or as an email attachment. The field of writing and publishing is in transition from handwritten and typewritten copy being “set” in lead by typesetters, to an electronic future with writers publishing on web sites, e-books, graphical layout software and so on. Writers in general are not particularly interested in the technology. Their concern is the words and ideas. Yet the technology can impose itself. It's different editing on screen or on paper, sure. But is there more? Are there more profound effects of using a computer and word processing software for writing? In his 1972 ACM Turing Lecture, entitled The humble programmer, Edsger Dijkstra talked about:

    ... the influence of the tool we are trying to use upon our own thinking habits. I observe a cultural tradition, which in all probability has its roots in the Renaissance, to ignore this influence, to regard the human mind as the supreme and autonomous master of its artefacts. But if I start to analyse the thinking habits of myself and of my fellow human beings, I come, whether I like it or not, to a completely different conclusion, viz. that the tools we are trying to use and the language or notation we are using to express or record our thoughts, are the major factors determining what we can think or express at all!

    Of course Dijkstra was talking about programming languages, but it doesn't stop there. Some ideas cannot be expressed in some languages, or at best are very difficult to express. (Orwell took this idea to its extreme in 1984.) In art, the medium has profound effects on the finished work: oils vs. pastels vs. charcoal, wood vs. marble vs. bronze, and so on. Marshall Macluhan famously said “The medium is the message”, and I think the transition of writers from pen & paper to word processor and computer may be an example of this. So my question is “How and to what extent does using a word processor affect the writer, the process of writing, and the finished work?”

    On a more mundane level, I am also interested in whether the existing software suits writers. Word processing software is usually part of an “office suite”. It was designed for writing business letters and reports, not for poems, short stories, film scripts, scholarly essays, plays and novels. Yet writers get by. So maybe the software is good enough? Or perhaps it could be simpler, better, more tailored to its purpose?

  • Programming and personality type. I am interested in the effect of personality type on people's approach to programming. My thinking has been based around the Myers-Briggs four polarities (Introvert-Extrovert, Intuitive-Sensing, Thinking-Feeling and Perceiving-Judging). Are programming languages, software processes, educational methods devised by members of one personality group and suitable only for others with the same tendencies? What can we do to help students from different groups to learn effectively? What languages or tools are best suited to different personalities?

    In 2002 I spoke about this work in the department seminar. Here are the slides, as PDF or converted to HTML. I also supervised Anthony Forlin while he did a short research project in this area.

The remaining areas are nice ideas that I haven't had any time to work on. But if a student is interested in any of these, I might well be able to come up with a project I could supervise.

  • Object-oriented literate programming. I want to work on bringing together the advantages of object-oriented design and development with the richness of internal documentation that you get with literate programming. Particular challenges are how to describe a system at higher levels of abstraction than a single class, and how to combine this perspective with re-use. Perhaps what I'm really thinking about is some sort of superior CASE tool.

  • Use of mobile robots in teaching programming. I think it might be possible to capture the imagination and practical intelligence of average students in a first programming course by using small cheap mobile robots and designing programming tasks around the control of the robots. Too many beginning programmers feel lost and stupid. Perhaps having a physical creature to focus their ideas on can help to avoid the sense of arbitraryness and meaninglessness that too often goes with those first steps into programming.

  • Beyond the personal software process. The PSP encourages programmers to keep lots of statistics about their work and to use those statistics in a feedback loop to improve their work habits. While this is great, and incredibly useful, it has a danger that it can be used to treat programmers as cogs in a machine rather than as full human beings. I want to apply some ideas from psychotherapy and the personal growth movement to encourage programmers to reflect in a much deeper way on what they are doing. This links up with notions of social responsibility, the role of the engineer and also with questions of career choice, usability-driven design...


In 2007 & 2008 I did no teaching.

In second semester 2006 I was course co-ordinator for COMP3410/6341 IT for E-Commerce. I also gave ten lectures in COMP1110 Introduction to Software Systems and COMP1510 Introduction to Software Engineering.

In first semester 2006 I did almost no teaching, while I continued my secondment to DRS. I spent a few hours a week mentoring Dr Alexei Khorev as he taught COMP2100/2500 Software Construction. I also ran the COMP2500 Software engineering seminars part of the course.

In second semester 2005 I did no teaching. Instead I worked at Digital Resource Services in the university's Division of Information on a project concerned with sustainability of word processing documents. This project was funded by the Australian Partnership for Sustainable Repositories. (Take a look at the ANU's institutional repository Demetrius, implemented using DSpace software.) This work built on my previous research on electronic publishing from office documents.

On Friday 7th October 2005 I gave a guest lecture in COMP3410/COMP6341 IT for E-Commerce on an case study of a small XML-based publishing project. Check out the lecture slides [ PDF].

In first semester 2005 I was the course co-ordinator for COMP2100 Software Construction (and its new variant COMP2500 Software Construction for Software Engineers). I did this in 2000, 2001, 2002, 2003 and 2004 also. In 2004 and 2005 I shared the teaching with Richard Walker. In 2000 I shared the teaching with Jim Grundy as we pioneered this brand-new course.

There were a few big changes in COMP2100 in 2005. The first is that we changed programming language from Eiffel to Java. The second is that the course was split into two: “COMP2500 Software Construction for Software Engineers” for students enrolled in the Bachelor of Software Engineering, and “COMP2100 Software Construction” for all other students. The two courses follow the same basic pattern, but there are some extra activitities and assessment items for COMP2500. The third change was that our part-time teaching and marking budget was cut dramatically, so that labs only ran every fortnight, rather than weekly and there were only two programming assignments rather than three.

In second semester 2004 I was on sabbatical (Outside Studies Program).

In first semester 2004 I was one of the lecturers for the 3rd year team project, COMP3100/3500. The other lecturers were Shayne Flint (course co-ordinator), Clem Baker-Finch and Clive Boughton. You can view the slides from my introductory lecture on Configuration Management here in PDF, Powerpoint or OpenOffice format.

In second semester 2003 I was one of the lecturers for the course COMP2110 Software Design. I did this in 2001 and 2002 also. The other lecturer (and course co-ordinator) was Associate Professor Chris Johnson.

In second semester 2000 I was the course tutor for the course COMP1110 Foundations of Software Engineering. I did this in 1999 also.

In first semester 1999 I assisted in the development of the course COMP1100 Introduction to Programming and Algorithms.

Contact Details

Mail: Dr Ian Barnes
Department of Computer Science
The Australian National University
Canberra ACT 0200
Phone: +61 2 6125 7796
In person: Room 3.10 (Level 3), Hancock Library Building (Building 43, but enter through Building 122)