Description
This course covers the mechanics of building complex Unix / Linux based applications in C++. It is a collection of examples and case studies that are important, yet do not seem to be dealt with elsewhere. A large part of the course explores techniques for implementing wrappers around Unix API system calls in order to implement functionality at a higher level of abstraction, by hiding much of the low level functionality inside a suitable class. The course also covers techniques for developing Graphical User Interfaces using Widget sets implemented in C++,such as Qt+ and Gtk+, as well as the Motif widget set (which is implemented in C). The principles of developing distributed applications using CORBA are introduced, as are C++ object oriented approaches to building Socket based applications. A major section of the course deals with implementing Posix threads based applications in an object oriented manner.
Key Skills obtained in this course will be:
Implementing a graph search algorithm using the STL, Setting up a CORBA based information service, Developing a Motif based query form in C++, Implementing Tetris in C++ using Qt+ or Gtk+ as the basis for the user interface, Implementing a socket based video data streaming service in C++, Devising a multi-threaded simulation of a manufacturing plant, Exploring and improving the functionality provided by a basic serialisation library, Implementing data persistence using MySQL as the underlying relational database.
Who should attend
The course is for experienced C++ and Unix programmers, who would like to take a more object oriented approach to Unix application development.
The course is also suited to those who will be designing and implementing large complex application frameworks that will be running on Unix / Linux platforms.