Introducing Design Patterns, Graphical User Interfaces and Threads Within the Context of a High Performance Computing Application

  • James Roper
  • Alistair P. Rendell
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3515)


The cross fertilization of methods and techniques between different subject areas in the undergraduate curriculum is a challenge, especially at the more advanced levels. This paper describes an attempt to achieve this through a tutorial based around a traditional high performance computing application, namely molecular dynamics. The tutorial exposes students to elements of software design patterns, the construction of graphical user interfaces, and concurrent programming concepts. The tutorial targets senior undergraduate or early postgraduate students and is relevant to both those majoring in computing as well as other science disciplines.


  1. 1.
    The Australian Partnership in Advanced Computing, see
  2. 2.
    Visual Python, see
  3. 3.
    Roberts, S., Gardner, H., Press, S., Stals, L.: Teaching Computational Science Uisng VPython and Virtual Reality. In: Bubak, M., van Albada, G.D., Sloot, P.M.A., Dongarra, J. (eds.) ICCS 2004. LNCS, vol. 3039, pp. 1218–1225. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  4. 4.
  5. 5.
    Alexander, C., Ishikawa, S., Silverstein, M.: A Pattern Language: Towns, Buildings, Construction. Oxford University Press, New York (1977) ISBN 0195019199Google Scholar
  6. 6.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object Oriented Software. Addison-Wesley, Reading (1995) ISBN 0201633612Google Scholar
  7. 7.
  8. 8.

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • James Roper
    • 1
  • Alistair P. Rendell
    • 1
  1. 1.Department of Computer ScienceAustralian National UniversityCanberraAustralia

Personalised recommendations