The University of Adelaide Australia

Brad Alexander

Lecturer
School of Computer Science
University of Adelaide
Adelaide, South Australia, 5005

Email: brad@cs.adelaide.edu.au

Research Interests

I am a member of the Distributed High Performance Computing group in the School of Computer Science at Adelaide. My primary research interest is program improvement, specifically the application of rewriting techniques in the the optimisation and parallelisation of programming languages.

Current work is focused on the optimisation and targetting of programs in a point-free subset of Bird-Meertens Formalism (BMF). I am currently recasting the prototype implementation described in my thesis to Stratego. This new implementation is constructed from simple normalisation and transformation modules and heavily exploits rewriting strategies supported by Stratego. A prototype implementation of an array vectorization phase of the compiler has been built and work is currently underway to formally verify its correctness.

Preliminary work is also underway to map point-free BMF to FPGA architectures. We are also running projects to apply heuristic search techniques to the optimisation of simple point-free programs and, eventually, to the construction of a compiler. Information relating to the current version of the compiler can be found here

I am also involved in small projects applying genetic programming to the composition of programs in point-free-form.

Other research interests include:

Genetic Programming of Optimisation Phases
In cooperation with Michael Gratton we have successfully evolved a phase of optimisation (for point-free progams) from simple components using genetic programming. Work on this thread of research is ongoing.
Dynamic Binary Translation
I am currently co-supervising, in conjunction with the Australian Semiconductor Technology Company (ASTC), projects that exploit multithreading to improve the performance of functional instruction set simulators.
Genetic Grouping Algorithms
I have co-developed (with Brendan Henessy and Yip Chong) a simple Genetic Grouping Algorithm for Cooperative Learning (GGACL). The Java source code, with some basic instructions for the prototype can be downloaded from this link.

Work related to Thesis

The work related to my thesis forms part of the Adl project. A short description of the project and some related publications is given at the end of this link .

Honours/Masters projects

My current Honours project proposals can be found in the school's honours proposal list. Likewise, my current Masters project proposals can be found in the school's masters proposal list.

Education Research

I am keenly interested in improving the quality of Computer Science education, in particular, the development of problem solving skills. I am one of the investigators in a project, funded by Google, to promote the use of problem solving on Computer Science. I am also one of the investigators in a University of Adelaide project to improve and promulgate our school's web-based automatic marking and assessment system.

I am a current member of the Education Research Group of Adelaide (ERGA) and have recently completed the Graduate Certificate in Higher Education course offered at Adelaide. My main areas of interest are Competititive Learning, Automated Assessment, Plagiarism Detection, and the use of version-control systems. I am interested in establishing collaborative links on these, and related, topics. I am currently working on the use of genetic algorithms for grouping students on the basis of diagnostic assessments.

Teaching

2009 Courses

Past Courses

  • Computer Science I (A/B)
  • Parallel Functional Programming (Honours/Masters).
  • Systems Programmin in C and C++
  • Programming Paradigms.
  • Programming Techniques
  • Data Structures and Algorithms
  • Operating Systems
  • Introduction to Software Engineering (old incarnation)
I have also presented short Ada and Java courses for industry.

Teaching interests

My primary teaching interests are:
  • Introductory programming
  • Problem Solving
  • Functional programming
  • Parallelism - High Performance Computing
  • Optimisation and Performance

ACM Programming Contest

I am the Coach of the Adelaide teams competing in ACM International Collegiate Programming Contest. The contest has enjoyed phenomenal growth in recent years, attracting very large numbers of competitors and strong corporate interest and sponsorship.

The regional round of the contest is held each year around mid-september. The South Australian Site this year was Flinder's University. Adelaide teams did very well again, claiming first and second places at the local site and 11th overall in the South Pacific Region. An Adelaide team qualified for the world final the previous two years running. Adelaide teams have a good record in this contest. If you a University of Adelaide student and you are interested in entering the contest in future email me. We also have a forum set up each year for the contest with information and resources for local teams.

Teaching Development

I am strongly involved in the development of core first year curricula and course material and, in particular, new practical exercises. I have also made major changes to the course content for Advanced Programming Paradigms, Parallel Functional Programming and in the development of the new Systems Programming course. I am a co-developer a new masters course, Specialised Programming, as part of the future development of a problem-solving curriculum in Computer Science.

Administration and Service

Current administrative roles

  • School Assessment Coordinator
  • Records and Marks System coordinator
  • Member of School Computing Committee
  • Member of School Learning and Teaching Committee
  • Member of IT Subject Advisory Committee Senior Secondary Assessment Board of South Australia (SAABSA)

Past Administrative roles

  • Course Advisor
  • First-Year Coordinator
  • Occupational Health and Safety Officer
  • Level A teaching coordinator
  • Representative to the Faculty of Science
In addition to these formal duties I regularly participate in open days and information evenings sponsored by the University and Faculty.
Brad Alexander, July 2009.