Advanced C++ Programming

Duration: 5 Days
Abstract: This is NOT a beginner’s course! This course teaches the students how to Use the data structures that are in the ANSI Standard C++ Standard Library to solve business problems. Take charge of memory allocation in order to:

• Find memory leaks
• Document an application’s memory usage
• Speed up the creation of objects during program execution

Objectives: After completing this course, the student will be able to use the list and tree data structures that come with the Standard C++ Library to:

• Speed up host database processing
• Analyze relationships among raw corporate data to support business
• Intelligence initiatives
• Troubleshoot memory leaks

Audience: Experienced C++ programmers
Prerequisites: C++ Syntax and practical experience programming in C++. This course assumes that the student already has a very strong understanding of templates, overloaded operators, and pointers Knowledge of structured analysis, data structures and standard algorithms is helpful


Lecture Topics: Business rationale for learning and using data structures
• Development cost savings
• Development time savings
• Elimination of errors
• Performance improvements
• Usefulness for implementing business models and rules
• Business uses for the Standard C++ Library
• Data mining
• Code reuse
• Finding hidden business relationships
• Minimizing the number of extra index fields on your host database
• Avoiding complex joins on your host database
• Building more transparent interfaces
• Overload new and delete to control memory allocation
• Class by class new and delete
• Global new and delete
• Templates
• Standard exception classes to simplify error processing
• New typecast syntax
• Overloaded operators
• New and delete operators
• Array index operator
• Function call operator
• Typecast operator
• Organization of the Standard C++ Library
• Iterators
• Function objects
• Lists
• Arrays
• Linked lists
• Queues
• Stacks
• Trees
• Binary trees
• The advantages of using Balanced trees
• Maps and sets
• Using sparse arrays to speed access to data
• Standard algorithms for solving typical problems

Memory Allocation
Array Search Algorithms
Using the Standard Template Library Iterators Searching an Unordered
Search An Ordered Array
Creating and Using Linked Lists
Using the Trees from the Standard Template Library
Data mining
• Looking for demographics
        • Looking for associations in business data



Required Equipment: Client must supply one computer for each student that has at least the following configuration:
  Pentium CPU or better
64 megabytes RAM
500 megabytes hard disk
Drive A: must be a 3.5 inch high density (1.44 megabyte) floppy
SVGA (or better) monitor and card
ANSI C++ Compiler (complying with at least the December, 1995 draft)
Text Editor
If the client can supply a printer that the class can share, the students will be able to:

• Print their source code
• Better evaluate their work
• Client must also supply two overhead projectors and two screens

Business Impact of the Standard C++ Library:
In order to be productive, programmers need a more sophisticated vocabulary than language syntax provides. Real business problems can often be expressed as standard abstract data structures. While the data itself might be unique, the data structures that lie under the data are usually standard patterns. These patterns have been studied for half a century. Failing to recognize the patterns and failing to use the algorithms that manipulate the patterns results in code that is more complex than the situation demands. Project schedules are missed and unnecessary errors are produced. Much of the code that is written in the business world manipulates collections of data. The Standard C++ Library is ANSI standard code that manages collections. It does not have to be rewritten for each and every data item. This is a major savings in development time.

Phone: 954-784-0900 • Fax: 954-784-0904