ECE4077 - Advanced computing techniques
6 points, SCA Band 2, 0.125 EFTSL
Undergraduate Faculty of Engineering
Leader(s): M Premaratne
Clayton First semester 2009 (Day)
This unit will look at the applications of modern object oriented approaches to engineering computation. Numerical libraries based upon modern meta-programming techniques are introduced to show ways of constructing performance-critical software to solve engineering problems that are formulated as partial differential equations. Due to their widespread usage, special emphasis will be placed on constructing numerical solutions based on finite difference and finite element methods. Specifically, this unit will extensively use advanced C++ language features and numerical libraries such as Blitz++.
Familiarity with the use of software development tools
Knowledge of the features of C++ including OOP
Understanding of efficiency considerations in C++ including temporary generation, in-lining, virtual functions usage, floating point, bit-set calculations, reference, pointers and exception handling.
Competence in meta-programming.
Experience of Blitz++ as an example system to demonstrate scientific programming.
Use of comsol multiphysics as an example scripting platform for handling finite element programs.
Competence in finite difference and finite element methods.
The ability to design object oriented, maintainable numerical software for solving engineering problems.
An appreciation of computational methodologies and high performance computing techniques in electrical engineering.
Confidence in using state of the art numerical packages for solving engineering problems.
Continuous assessment: 30%
Examination: (3 hours) 70%. Students must achieve a mark of 45% in each of these two components to achieve an overall pass grade.
3 hours lectures, 3 hours laboratory and practice classes and 6 hours of private study per week
ECE4709, ECE5077, ECE5709