![]() |
Contact information:
Dr. John Hamer
Email: J.Hamer@cs.auckland.ac.nz
Phone: [+64 9] 373 7599 x 88758
Office: Room S491, fourth floor, Science Complex Extension
Fax: [+64 9] 373 7453
Postal Address: Street Address (Dept.Office):
Department of Computer Science Third Floor
University of Auckland Science Complex Extension
Private Bag 92019 38 Princes Street
Auckland Mail Centre Auckland, New Zealand
Auckland 1142, New Zealand
|
For me, the first challenge for computing science is to discover how to maintain order in a finite, but very large, discrete universe that is intricately intertwined. And a second, but not less important challenge is how to mould what you have achieved in solving the first problem, into a teachable discipline: it does not suffice to hone your own intellect (that will join you in your grave), you must teach others how to hone theirs. The more you concentrate on these two challenges, the clearer you will see that they are only two sides of the same coin: teaching yourself is discovering what is teachable.— E.W.Dijkstra.
Most of the material for the courses I am involved with in 2008 will (eventually) be available on-line. If you are a student in one of these papers, please follow the appropriate link below, and familiarise yourself with the resources available.
(More information about the Software Engineering at the University of Auckland).
Contributing-student pedagogies involves students authoring and sharing learning resources within and between courses. The learning environment is collaborative and cooperative, rather than competitive and individual.
Contributing Student Approach, in Eleventh Conference on Innovation and Technology in Computer Science Education, Bologna, Italy, June 2006, pp68–72
A long time ago, a solid grasp of the discipline's core knowledge was
both necessary and sufficient for a graduate's career. Today, such core
knowledge has become relatively less valuable: we typically measure the
half-live
of knowledge in small numbers of years or even months.
Society is now demanding graduates who are adaptable, reflective
thinkers capable of communicating and co-operating effectively.
Specific domain knowledge routinely comes well behind such
transferable skills in employer surveys.
The assignments and forms of assessment in common use today are largely a legacy from this bygone era. We persist in setting individual assignments that are (belatedly) marked by tutors (or, more often, senior students), providing little by way of useful, timely feedback. There is a clear need for novel forms of assessment better suited to the modern world
My contribution to this area is a web-based system, Aropä, for administering peer-assessed assignments. Aropä provides several complementary mechanisms for evaluating the quality of the reviewing, and can be adapted to a wide variety of assessment contexts.
roguereviewers and minimises their influence (124kb PDF).
Aropä is written in PHP and runs on a MySQL database. Please contact me if you would like further information.
I was a member of the BRACE study, a group of fifteen researchers from eleven institutions (in New Zealand, Australia, England and Scotland) investigating predictors to success in introductory programming.
The ITiCSE 2004 working group investigated the ability of
introductory programming students to read (trace) and understand short
programs involving generic, iterative processes on arrays. Twelve
researchers from Australia, USA, Wales, New Zealand, Denmark, Sweden,
and Finland collected performance data, interview transcripts and
scratch paper doodles
from a 12 question multi-choice test.
We concluded that many students exhibit fragile knowledge in these core skills, a result that goes some way to explaining the poor problem solving ability studied by the 2001 ITiCSE working group and observed by lecturers worldwide.
Our report appeared in the December issue of the ACM SIGCSE BulletinA follow-up study, using a broader set of MCQs, is currently being conducted by a group of New Zealand researchers (the "BRACE-let study").
.LJV.java is tool for visualizing Java data structures, using Graphviz. It has been used to good effect in a CS1 and CS2-level data structures course. The software is available under the GNU General Public License. Documentation for the system is in preparation. Meanwhile, there are some examples, and a paper I wrote on the system for the ACE 2004 conference (slides), and another paper that appeared in the 3rd Program Visualization Workshop (Research Report 407, Department of Computer Science, University of Warwick, 2004).
If you find this tool helpful, please send me an email.
Kyle Gillette has put together some material for AP Computer Science teachers that should be useful to anyone wanting a gentle introduction to the tool.
A web-based panorama and virtual tour authoring system(2007)
Enhanced Source Control(2007)
Risk Alert Management System(2007)
Lecture clickers(2006)
An on-line dress sense feedback system(2006)
Pocket PC Football Referee Assistant(2006)
Massive multiple sequence alignment via grid computing and genetic algorithms(2005)
Architectures for building Smart Client software(2005)
A Java data structure visualiser for Eclipse(2005)
A study into the effects of Peer Assessment(2005)
Global Golf(2004)
A Peer Marking system(2004)
Soccer strategy planner(2004)
Reverse engineering and re-design of a report writer language(2003)
An evaluation of Object Prevaylance(2003)
Bridging the Gap between Design and Implementation(MSc, 2002)
From Dynamic Languages to Dynamic Architectures(MSc, 2000)
Performance Issues in Large Databases(MSc, 1999)
Debugging for Lazy Functional Languages(MSc, 1997)
A Modular Monadic Action Semantics(MSc, 1997)
Students thinking about taking a project or thesis are welcome to browse my list of research topics. to get an idea of the kinds of topics I am interested in supervising.
You might also like to read about the kind of grading criteria that may be used when marking theses and projects.
I have been associated with the Computer Science department since way back in 1983. The department had been in existence all of two years back then, so I can fairly claim to be one of its longest serving associates. I came to Auckland after studying for two years at Victoria University of Wellington, and completed my Victoria BSc during my first year at Auckland. I went on to enrol in a MSc, and then converted to a PhD in 1986. My PhD involved developing a declarative object-oriented language intended for applications in the building industry. The work was funded by the Building Research Association of New Zealand (BRANZ), and this enabled me to work as a Research Officer during 1988 and 1989. I completed my PhD in 1990 and became a lecturer in the department in December that year.
I have taught classes in Artificial Intelligence (07.363), Language
Design and Implementation (07.431, SOFTENG 701), Software Engineering
(07.230, SOFTENG 206), Logic and Functional Programming (415.360,
SOFTENG 325), Introductory Computing (07.111), Computer Systems
(415.210), Algorithms and Data Structures (415.105, 415.220, SOFTENG
250), Introductory Programming (COMPSCI 101), Formal Methods (SOFTENG
461/462), and Common Lisp (SOFTENG 701). I received a University of
Auckland Distinguished Teaching Award in 1997, and was voted Best
Lecturer in Software Engineering
in 2003 and again in 2004 by the
graduating year Software Engineering students. In 2007 I received
AaeE's
Programme that Enhances Excellence in Learning
award for my work
on Aropä.
I referee football (soccer), earning my NZ badge (#2139) in May 2008, and keep fit by running and cycling. I ran the Auckland marathon in 2006, completed all six long races in the Leppin (now Xterra) off-road run series in 2007. In 2008 I swam, clambered and ran the "Full Monty" North Shore Coastal Challenge and ran the magnificent Cape Brett Challenge. Also that year, in Scotland I completed four races in the Scottish Long Classics series: Ben Rinnes (profile), Ochil 2000s, Two Breweries, and Pentland Skyline (profile), as well as the Three Shires Hill Race (profile) in the Lake District.
Slow
I go out to find whatever comes But the first fifteen minutes are for trying to breathe, the next fifteen are for using both legs without almost having to count cadence, and the second half hour for water, two cheeps of a bird, and the reassurance that important chemicals are now in the bloodstream ... the first hour is the hardest hour, but in the second hour something goes right without your knowing: a mixture of good motions, oxygen and a certain giving-up that permits you not to hurry and gives you back for every slow minute two that are behind you ...— Marvin Bell (1937–)