I am an Associate Professor in the School of Engineering and Advanced Technology (SEAT) at the Turitea (Palmerston North) Campus of Massey University. I am
If you are a prospective student and interested in software engineering, then you might find this guide how to study Software Engineering useful. Also have a look at some of the (undergrad) student projects. If you can already program, have a look at SoGaCo (Social Gaming and Coding) - a web-based environment for writing bots to play boardgames against bots developed by peers.
If you are considering postgraduate studies in software engineering, please email me. An overview of past and current postgrad projects I have supervised / I am supervising can be found here. In order to secure quality supervision, I have to limit the number of PhD students I supervise. I usually accept PhD students only if they have a MSc or similar from a Western University. Also please familiarise yourself with scholarship options (usually, very limited, you have to bring a scholarship from your home country - although I can assist exceptional candidates to get a Massey doctoral scholarship), and the cost of living in NZ. Note that Palmerston North is much more affordable than bigger NZ cities.
If you are a practising software engineer, you might be interested in this tool I have developed: the Massey Architecture Explorer (MAE). You can simply upload your compiled program (Java bytecode), and MAE will visualise it, allow you to query your program for violations of OO design principles, and find critical dependencies preventing you from modularising the program. Some articles I have written for developers on orthogonality and dependency management can be found here.
If you are a Java programmer and like a challenge, have a look at the set of Java Puzzlers I have developed. They explore the mismatch between different notions of compatibility in Java-like languages that leads to unexpected behaviour / errors when the libraries a program uses are upgraded. There are several empirical studies to assess the scope of the problem in practice. We also came up with a solution - a novel Java (post-) compiler dubbed the dynamo compiler designed and developed in collaboration with Kamil Jezek. The dynamo compiler can prevent many linkage errors (such as NoSuchMethodError) as well as more complex problems like the hazard of covariant return types and bridge methods. A paper describing dynamo has been presented at ECOOP'16.
If you are an academic or a student studying at another university: I am working on making all lecture notes available to the public under the creative commons license, the first sets are now available. Additional material like video lectures and tutorials is only available to enrolled students. I also maintain an open source repository of examples I use for teaching software design and construction, incl. examples using design patterns, modularity, web application design, meta-programming etc.
Massey University, School of Engineering and Advanced Technology, Private Bag 11 222,
Palmerston North, New Zealand
Phone +64 6 356 9099 extn 84235
Office: AgHort-A 3.88