Course CPP101
Introduction to C++ Programming
Introduction to C++ Programming
Duration: 5 Days
Intended Audience
Attendees are expected to have some programming experience in a procedural language such as Basic, Fortran or Pascal. The course is also suitable for recent engineering and computer science graduates who need to "cure" any bad (programming) habits they might have picked up at University and to get up to full speed with C++.
Synopsis
Unlike many other introductoryC++ 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. As well as command line and make oriented applicatio development the course will also make use of the Eclipse IDE.
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, or a similar language, 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.
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. call Ajay Patel on 02086690769 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++
|
