Introduction to C++ Programming - A 5 day Course
Synopsis
Unlike many other introductory C++ courses that use Microsoft, or Borland integrated development environments this course is based on the gnu C++ compiler. Programmers attending this course will learn to write carefully thought out and well implemented C++ code and learn a lot about the GNU C++ compiler at the same time.
Principles of object oriented analysis and design and of UML are covered. The relationship between C and C++ is explored, and the course includes a thorough overview of C syntax.
Intended Audience
The course is for experienced programmers, with a basic knowledge of C, who will be developing applications in C++, predominantly in a Unix or Linux environment. The compiler used on the course will be the GNU C++ compiler running on a Linux workstation.
Knowledge of Object Oriented Analsysis and Design, and of UML, although useful is not needed, as these topics will be covered in sufficient detail in the course where appropriate.
This course can also be run on Microsoft Windows platforms using the Cygwin port of GNU to Microsoft Windows.
Key Skills
- Understanding the key aspects of object oriented analysis and design and UML
- Use of the GNU C++ compiler
- Handling of Input/Output in C++
- Knowing when to use public and privated inheritance
- Working with virtual classes and virtual inheritance
- Understanding templates and essential features of the Standard Template Library (STL)
- Mastering basic patterns and idioms - such as the handle-body idiom, the singelton pattern, the composite pattern and the observer pattern
- Implement simple Graphical User Interfaces using the Qt+ widget set
- Appreciate the issues involved in implementing data persistence
Practical Work
The course contains many simple programming exercises to reinforce the theory, and to stimulate understanding. Coverage of make and makefiles, and the various GNU C++ compiler options will be included at appropriate points in the course.
- Creating and manipulating objects and displaying their attributes
- Experimenting with public and private inheritance
- Experimenting with virtual classes
- Implementing copy constructors
- Exploring deep vs. shallow copying techniques
- Understanding reference counting and the copy on modify idiom
- Implement an instance of the handle-body idiom
- Explore some uses of the Singleton pattern
- Build a simple graphical user interface
- Demonstrate the Observer pattern in action
- Implement a templatised singly linked list
- Writing and reading a table of records to and from a file
- Saving a collection of objects and retrieveing a collection of objects in binary format to and from a file
- Appreciate some of the functionality provided by the Standard Template Library
Scheduled and On-site Courses
Courses in this subject are scheduled on an 'ad-hoc' basis. We can arrange a course at our Carshalton centre or on customer site for any client wishing to send two or more delegates on the same course.
For courses at the Carshalton Centre the fee will be:
- £3500 + VAT for the first two delegates
- £1650 + VAT for the third delegate
- £1200 + VAT for the fourth delegate
- £400 + VAT for each additional delegate to a maximum of eight
On-site course fees are as above + expenses recharged at cost.
For a 1:1 course in Carshalton the fee is £2750 + VAT. For a 1:1 on-site course the fee is £2750 + VAT + expenses recharged at cost.
If there are any dates showing below this line, a course has been scheduled and places for individuals are available at £1750. Otherwise, no courses are currently scheduled and the above fees apply.
Publicly scheduled dates, locations, and prices
A schedule of dates for this subject is not currently available. Please call 0800 651 0338 or use our contact form to enquire about places and availability.
Contents:
A background to object oriented thinking
Practical applications leading to object oriented approaches
Brief History of C++
An overview of the C in C++
|
Classes and instances
More advanced aspects of working with classes and instances
A more detailed look at input and output in C++
|
