I study computational methods for analysing human language, in both written and spoken varieties. This involves scalable techniques for collecting and annotating large amounts of data from many languages. The long-term goal is to preserve hundreds of endangered languages. I have a special interest in undescribed "tone languages" in Africa and Papua New Guinea.

I have taught undergraduate and postgraduate courses in algorithms, databases, informatics, philosophy of language, artificial intelligence, natural language processing, data mining, web technologies, and machine translation. Programming is an almost daily activity, and I recently published a book titled Natural Language Processing with Python.

I am co-developer of the new "Algorithmics" curriculum in the Victorian Certificate of Education, introducing university-level computer science into high school.


  • 2017–present
    Professor, Charles Darwin University
  • 2002–2017
    Associate Professor, University of Melbourne
  • 1998–2002
    Adjunct Associate Professor, University of Pennsylvania
  • 1991–1998
    Postdoctoral Research Fellow, University of Edinburgh


  • 1991 
    University of Edinburgh, PhD
  • 1987 
    University of Melbourne, MSc
  • 1985 
    University of Melbourne, BSc(hons)