| Presenter: |
Dr Darren Gawley, The University of Adelaide |
| Dates: |
12–14 May, 2008 |
| Duration: |
3 days |
| Venue: |
Conference Centre Technology Park
Mawson Lakes SA
|
About C++ for Engineers
The aim of this 3-day course is to expose existing programmers to a wide set of facilities available in the C++ language. Emphasis is placed on using C++ in scientific and engineering applications. Many of the more advanced features of the language will be explored with the aim of showing how they may be incorporated into well designed programs. Throughout this process, many common mistakes will be highlighted, and various remedies given.
The language features covered include the use of the C++ object model and inheritance, templates, operator overloading and custom memory management. These features will be presented in the context of implementing basic linear algebra operations.
Bring your own laptop computer.
Target Audience
The course is aimed at programmers who want to extend their experience in the C++ programming language. At least a basic familiarity with C++ (or C, or Java) syntax is assumed, although no significant experience is required. The emphasis of examples will be biased toward engineering-type applications, although anyone looking to further their C++ knowledge will benefit.
Brief Course Outline
Comparison of C with C++: C++ object model, and class syntax; C vs C++ compatibility; C++ replacements for pre-processor features; const members; this pointer; in-line functions; compilation and linking process.
Class manipulation: dynamic memory allocation within classes; automatically generated members, and when not to use them; friends; mutable members; explicit and automatic class conversion; conversion operators; operator overloading; overloading I/O operators.
Inheritance: when to use inheritance/subtypes; automatic class conversion; polymorphism and virtual function syntax; pure virtual functions; RTTI: dynamic_cast vs static_cast; multiple inheritance.
Templates: template functions vs template classes; compilation issues; templates vs inheritance; default template parameters & nested templates.
Advanced memory management: the new and delete operators: global & member functions; reference counting: handle classes; smart pointers, templates/inheritance.
Exceptions: motivation and syntax; incorporation to function prototypes.
Presenter: Dr Darren Gawley
Darren Gawley was awarded a PhD from the University of Adelaide in 2004 for research work in computer vision undertaken in conjunction with the Cooperative Research Centre for Sensor Signal and Information Processing. He then went on to work as a research fellow and lecturer at the University of Adelaide. In 2005, he took up a position at the University of Oxford, working within the Active Vision group and also as a tutor with Exeter College. He has recently moved back to Adelaide and is working at the Australian Centre for Visual Technologies.
Darren Gawley has many years' teaching experience and has presented numerous courses on programming and in particular programming with C++.
For further information please contact:
Anne-Marie Eliseo
Industry Education Manager
phone: +61-8-8302-3928
email: industryeducation@nicta.com.au