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.

Xurrent 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.

I am also involved in small projects applying grammatical evolution to the composition of programs in point-free-form, the composition of transformation modules in a compiler and the composition of financial contracts.

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

A list of Honours/Masters project proposals can be found at the end of this link.

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

2008 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, April 2008.