C/C++

Select the title to review a description of the course. Please note that these courses can often be adapted for virtual delivery and modified based on the target audience and goals of your program. Please contact us to discuss your training needs and we will work with you to identify and craft the best solution.
  • Advanced C++ Programming
    • Advanced C++ Programming

      Course Number: 636-TES
      Recommended Duration: 5 days

      Course Overview

      The course covers advanced topics in C++.

      Objectives

      You will learn how to create C++ programs using more advanced language features.

      Prerequisites: You must have completed an introductory course in C++ and have one year of experience programming in C++.

      Topics

      • Review of C++ basics
      • Namespaces
      • How to create a class
      • Overloaded operators
      • How to add a data member
      • Inheritance
      • Exception handling
      • Inline functions
      • File I/O
      • Overloading new/delete
      • Templates
      • How to generalize a function
      • Functors
      • STL
      • Smart pointers
      • Multiple inheritance
      • Cast operators
      • RTTI
      • Pointers to members

      Share with others

  • C Language Programming Workshop
    • C Language Programming Workshop

      Course Number: 631-JK
      Recommended Duration: 5 days

      Intended Audience: Experienced programmers learning C as an additional language; systems programming candidates; and programmer trainees learning C as their first language.

      Course Overview

      Hands-on experience coding and executing C programs using the most commonly needed features of the language. There are fourteen machine exercises. Exercises may be performed using text editor and any available C compiler. Upon request, IDE's like Visual Studio may be used.

      Objectives

      Students will learn to use one of the most common programming languages in use today. This course will teach programmers the basic skills needed to write programs using the C language. The special needs of the host operating system will be discussed (UNIX, MVS, MS Windows, etc.).

      Prerequisites

      The student should have some basic understanding of computer and programming concepts. Also, the student should know how to use the text editor used in your installation.

      Topics

      • ANSI standards
      • C statement syntax
      • Workshop environment
      • Compilation process
      • Basic I/O
      • Standard functions
      • I/O formatting
      • Data definition and use
      • Stream oriented I/O
      • Arithmetic operations
      • Automatic incrementing/decrementing
      • Bit operations
      • Operators and Operator precedence
      • Side effects
      • Data conversions
      • Preprocessor and Trigraphs
      • Arrays and Structures
      • Storage classes
      • Recursion
      • Pointers and pointer arithmetic
      • File Processing with C

      Share with others

  • C on z/OS
    • C on z/OS

      Course Number: 712-JK
      Recommended Duration: 3 days

      Intended Audience: C programmers who will be designing and coding applications that are to be run in a z/OS (MVS) environment.

      Objectives

      Students who complete this course will be able to code, compile, link, and run C program in the z/OS (MVS) environment, including programs that reference sequential (QSAM) files, VSAM files, DB2 data, and that communicate with IMS or subroutines written in COBOL or Assembler.

      Prerequisites

      The student entering this course should have a programming background in C, and should be familiar with TSO/ISPF (or any other editor used to write programs in the installation).

      Topics

      • Review of C fundamentals
      • Introduction to IBM C/C++
      • Packed decimal data
      • Trigraphs
      • EBCDIC/ASCII concerns
      • JCL for compiling, linking, and running
      • Sequential files
      • VSAM files
      • Processing DB2 data
      • IMS concerns
      • Interlanguage calls
      • Overview of LE

      Share with others

  • C++ for Non-C Programmers
    • C++ for Non-C Programmers

      Course Number: 634-JK
      Recommended Duration: 5 days

      Intended Audience: Programmers needing to create or maintain programs using the C++ language.

      Course Overview

      Experienced programmers learn to create, modify, and test C++ programs. There are fifteen machine exercises. Exercises may be performed using text editor and any available C++ compiler. Upon request, IDE's like Visual Studio may be used.

      Objectives

      C++ has become the language of choice in network and many other environments. Programmers will learn the syntax of the C++ language, basic object-oriented concepts, and common techniques. Numerous hands-on exercises familiarize students with techniques for programming, object-orientation, and problem-solving using the C++ language.

      Prerequisites

      Programming experience is required. Programming experience with a third-generation language (COBOL, PL/I, C, etc…) is extremely useful. No prior knowledge of the C language is required.

      Topics

      • C++ syntax (ANSI/ISO standard)
      • Fundamental C++ programming constructs
      • Arithmetic, looping, and conditional logic
      • Stream I/O (cin and cout)
      • Object-oriented benefits and features
      • Classes and Objects
      • Encapsulation
      • Declaration, Definition, and Instantiation
      • Function and Operator Overloading
      • Inheritance
      • File I/O
      • Pointers and References
      • Constructor and Destructor functions
      • Polymorphism

      Share with others

  • C++ Programming Workshop
    • C++ Programming Workshop

      Course Number: 633-JK
      Recommended Duration: 5 days

      Intended Audience: Experienced C programmers needing to create or maintain programs using the C++ language.

      Course Overview

      C programmers learn to create, modify, and test C++ programs. There are fifteen machine exercises. Exercises may be performed using text editor and any available C++ compiler. Upon request, IDE's like Visual Studio may be used.

      Objectives

      Students learn the differences between C and C++; basic object-oriented concepts and design; and the major components of C++ language including: Constructors / Destructors, Function and Operator Overloading, the C++ I/O System, and Virtual Functions. Numerous hands-on exercises familiarize students with techniques for programming, object-orientation, and problem-solving using the C++ language.

      Prerequisites: C programming experience is important.

      Topics

      • C++ syntax (ANSI/ISO standard)
      • Fundamental C++ programming constructs
      • Arithmetic, looping, and conditional logic
      • Stream I/O (cin and cout)
      • Object-oriented benefits and features
      • Classes and Objects
      • Encapsulation
      • Declaration, Definition, and Instantiation
      • Function and Operator Overloading
      • Inheritance
      • File I/O
      • Pointers and References
      • Constructor and Destructor functions
      • Polymorphism

      Share with others

  • C++ Standard Template Library
    • C++ Standard Template Library

      Course Number: 637-TES
      Recommended Duration: 5 days

      Intended Audience: This seminar is designed for practicing C++ programmers, but the material it covers is also important for system architects, library designers, team leads, and technical managers for C++ systems that will or may take advantage of the STL.

      Course Overview

      This seminar is a hard-core, hands-on, in-the-trenches indoctrination in the ways of the STL.

      Objectives

      In a combination of lectures and labs, this course brings out the underlying design of the STL, demonstrates how to take advantage of the library's strengths, and shows how to avoid its weaknesses. The purpose of this seminar is to master effective use of the STL, not to cover every aspect of the library.

      Prerequisites

      Previous exposure to the STL is not necessary, but you should be familiar with templates and operator overloading in C++.

      Topics

      • The fundamental design of the library: containers, algorithms, iterators, and function objects
      • The data models underlying STL containers, including standard containers (e.g., vector, list, set, map, etc.)
      • Strings, streams, and common non-standard containers (hash tables and singly-linked lists)
      • Subtle differences in semantics of member and non-member functions with the same name, e.g., find, remove, etc
      • Integrating STL containers with code expecting C-like data structures
      • Maximizing efficiency when using the STL
      • Causes of likely errors when using the STL
      • Making effective use of the STL with compilers and libraries that fall short of the standard

      Share with others

  • Design Patterns in C++
    • Design Patterns in C++

      Course Number: 639-TES
      Recommended Duration: 5 days

      Course Overview

      The course covers the 23 design patterns in the book "Design Patterns" (by Gamma, Helm, Johnson, and Vlissides), and 3 others added by the instructor.

      Objectives

      You will learn to write programs that are extensible, flexible, maintainable, modular, portable, reusable, and understandable.

      Prerequisites

      Complete an introductory course in C++ and have one year experience programming in C++. Also, you must be able to do the following in C++:
      • define a class
      • declare/define/invoke a constructor, a copy constructor, a destructor, operator=0, a member function, a const member function, a static member function, a virtual member function, and a pure virtual member function.
      • define a class to be publicly derived from another class
      • write a member initialization list
      • define/use a class template
      • declare/define/invoke a function template and a member function template

      Topics

      • Introduction
      • Object-Oriented Guidelines
      • What type are you?
      • Clone
      • Disable Copy/Assignment
      • Memento
      • Template Method
      • Chain of Responsibility
      • Prototype
      • Factory Method and Factory Class
      • Abstract Factory (Class)
      • Flyweight
      • Singleton
      • Mediator
      • Proxy
      • Facade
      • Adapter
      • Iterator
      • All of Me
      • Observer
      • Strategy
      • State
      • Bridge
      • Decorator
      • Composite
      • Builder
      • Interpreter
      • Visitor
      • Null Object
      • Command
      • Conclusion

      Share with others

  • Introduction to C++ Programming for C Programmers
    • Introduction to C++ Programming for C Programmers

      Course Number: 635-TES
      Recommended Duration: 5 days

      Course Overview

      The course covers introductory topics in C++.

      Objectives

      You will learn how to create C++ programs.

      Prerequisites

      You must have completed an introductory course in C and have one year of experience programming in C.

      Topics

      • Program
      • Type
      • Operator
      • Statement
      • Array
      • Pointer
      • Reference
      • Const
      • Scope
      • Function
      • Overloaded function
      • Header file
      • Class
      • Attribute
      • Operation
      • Object I/O
      • Constructor
      • Destructor
      • How to add an attribute to a class
      • 1-1 Association
      • 1-Optional Association
      • 1-Many Association
      • Aggregation
      • Inheritance
      • Overriding
      • Substitutability
      • Polymorphism
      • Abtract Class
      • Overloaded Operator
      • Stream
      • File I/O

      Share with others

  • Introduction to C++ for Non-C Programmers
    • Introduction to C++ for Non-C Programmers

      Course Number: 632-TES
      Recommended Duration: 5 days

      Course Overview

      This course covers introductory topics in C++.

      Objectives

      You will learn how to create C++ programs.

      Prerequisites

      You must have one year of programming experience using a modern programming language.

      NOTE: Students whose only experience is with COBOL or with scripting languages (e.g. HTML, XML, JavaScript) should first take an introductory course in C before taking a course in C++.

      Topics

      • Program
      • Type
      • Operator
      • Statement
      • Array
      • Pointer
      • Reference
      • Const
      • Scope
      • Function
      • Overloaded function
      • Header File
      • Class
      • Attribute
      • Operation
      • Object I/O
      • Constructor
      • Destructor
      • How to add an attribute to a class
      • 1-1 Association
      • 1-Optional Association
      • 1-Many Association
      • Aggregation
      • Inheritance
      • Overriding
      • Substitutability
      • Polymorphism
      • Abstract Class
      • Overloaded Operator
      • Stream
      • File I/O

      Share with others


Please click here to return to the Technical Skills page.