Advanced C++ Programming for Unix and Linux

Course

Online

Price on request

Description

  • Type

    Course

  • Methodology

    Online

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.

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Reviews

Subjects

  • IT
  • C++
  • Unix
  • Linux
  • Programming

Course programme

An overview of C++ - the language, patterns and idioms

  • Inheritance, Polymorphism and all that
  • Function Objects
  • Templates and the Standard Template Library
  • Mixed C and C++ programming
  • Key patterns - Singleton, Observer, Visitor, Composite
  • Templates and the Standard Template Library
  • Namespaces and scope

An overview Unix technologies

  • The POSIX API and its variants
  • Inter-process communication under Unix/Linux
  • The Berkeley Sockets API
  • POSIX Threads (p-threads)
  • The Unix file system
  • X windows

Techniques for Devising and Implementing Wrapper Classes

  • Operating system resources as objects
  • The create a resource, get a handle, manipulate the resource via system and library calls that take a handle as an argument API model
  • Creating classes corresponding to operating system resources - that contain the handle as a member variable, and methods for manipulating the resource that invoke the underlying system and library calls
  • Wrapping up Motif Widgets in C++ - a case study

Extending functionality beyond Wrapper Classes

  • Managing a collection of child processes
  • Devising two way communication with objects that contain a pair of pipes
  • Creating shared memory objects with built in critical sections
  • Implementing a Model-View-Controller pattern using Motif Widgets

Working with P-threads the object oriented way

  • Designing and implementing a p-thread class
  • Devising and implementing a thread local storage scheme
  • Managing a pool of worker threads
  • Inter-task communication mechanisms for use with p-threads

Working with C++ based widget sets

  • Commonly occurring widgets - buttons, menus, dialogs, list boxes ...
  • Layout managers
  • Overview of Qt+
  • Overview of Gtk+
  • Deriving new widget classes

CORBA and C++

  • Overview of CORBA
  • MICO - Corba implementation
  • ORBACUS - Corba implementation
  • Implementing Client / Server applications in C++ and CORBA

Data Persistence

  • Serialisation - simple and complex
  • Serialisation libraries
  • Use of Smart pointers
  • Persistence using relational databases
  • Persistence using object relational databases
  • Persistence using object oriented databases

Network Programming

  • Object oriented perspective on TCP/IP
  • Wrapping up the Sockets API in C++
  • Building application services derived from a Socket class
  • Network management with SNMP
  • An overview of SNMP++

Advanced C++ Programming for Unix and Linux

Price on request