Live chat by BoldChat

Training for Programmer:


TRaining for C++

Advanced C++ Training course offers a comprehensive coverage of the advanced features of the C++ language.

The course starts with basic OO concepts, and then a quick introduction to the language. The language is presented, not as an extension of C, but as a demonstration of how object-oriented development promotes a new, productive way of thinking.

Other topics covered include Templates, Standard Template Library (STL) and Exceptions. The course also covers some advanced Object-Oriented design techniques in C++ such as Design Heuristics, Design by Contract, Interfaced-based programming, Composition and Delegation Patterns, Memory Management and Smart Pointers, Subtyping, Design for efficiency and Meta programming in C++.

Objectives

Our goal is to transfer as much knowledge as possible from the classroom to the workplace. Advanced C++ Training course has been carefully designed to ease a C++ programmer into new and advanced language features and advanced Object-Oriented design concepts in C++ with the use of lots of hands-on exercises. At the end of this course, students should:

  • Apply advanced concepts of OO designs
  • Be able to write and maintain C++ programs
  • Write robust, maintainable, elegant and efficient C++ code
  • Be able to deploy good C++ programming practices
  • Be able to use the advanced features of the C++ programming language
  • Be able to implement advanced Object-Oriented techniques in C++ to realize efficient and flexible applications
  • Leave with skills needed to develop industrial C++ applications

Outline for Advanced C++ Training Course

Templates

  • Template Classes Definition
  • Template Classes Implementation
  • Parametrized Classes
  • Templates and Non-Type Parameters
  • Template Guidelines
  • Templates and Plain Functions
  • C++ Template Function

Standard Template Library (STL)

  • STL String
  • STL Components
  • Containers
  • Use of Iterators in STL
  • Use of Vector
  • Initialization of Containers

STL Collections

  • Overriding STL Algorithms
  • Function Objects
  • Library Provided Function Objects
  • Using STL Function Objects and Binders
  • Negators

STL Associative Containers

  • Set
  • Multiset
  • Map
  • Multimaps

Exceptions

  • Object-Oriented Error Handling
  • C++ Exceptions
  • Throwing Exception
  • Exception Classes
  • Exception Class Hierarchies
  • Try / Catch Blocks
  • Catching Exceptions
  • The Rule of Catch Ordering
  • Catching Any Exception

Rethrowing an Exception

  • The Throw List
  • Solving Automatic Resource Deallocation
  • Exceptions in the Destructor
  • Design Guidelines

Design by Contract

  • Program Correctness
  • Conditions and Specifications
  • Interface Specification
  • Preconditions and Postconditions
  • Contract Violations
  • Defensive Programming
  • The Eiffel Lesson
  • C++ and Preconditions
  • Postcondition and C++
  • Contracts and Visibility
  • Class Invariants

Interfaces in C++

  • Interfaces and Creation
  • Use of Factory
  • Use of Handles
  • Subsystems And Packages
  • Adapting Interfaces
  • Coupling Through Inheritance
  • Decoupling By Example

Delegation

  • Concept of Delegation
  • Delegation in C++
  • Simple Delegation
  • Static Delegation
  • Superclass Delegation
  • Subclass Delegation
  • Issues With Subclass Delegation in C++
  • Object Delegation
  • Strategy Problem
  • C++ and Strategy
  • Design of Composite
  • Composite and Delegation
  • Other Delegation Patterns

Subtyping

  • Types versus Classes
  • What Is a Type (in Theory)?
  • What is a Class (in Theory)?
  • Subtyping
  • Subclassing

Multiple Inheritance

  • Multiple Inheritance of Interfaces
  • Multiple Inheritance of Implementation
  • Shared Properties
  • Resolving Ambiguity
  • Virtual Inheritance
  • Multi Methods
  • Double Dispatch
  • Use of RTTI

C++ Reflection

  • Concept of Reflection
  • Lessons from Smalltalk
  • Creation of Objects in Smalltalk
  • Creation of Objects in Smalltalk vs. C++
  • Use of Meta Objects
  • Class Factory
  • Creation of Objects Through Meta Objects
  • Configuration of Meta Objects
  • C++ Support for Meta
  • Dynamic Cast
  • C++ Meta Implementation
  • The Type Information Class
  • Use of type_info

The C++ Language

  • C++ as an Object-Oriented Language
  • Constructors And Destructors
  • I/O Streams
  • Operator Overloading
  • Casting (Static and Dynamic)
  • Cast and Multiple Inheritance
  • Const Feature
  • Polymorphic Array

STL Operators

  • Accumulate
  • adjacent_find
  • copy
  • count
  • fill
  • find
  • for_each
  • sort
  • generate
  • includes
  • merge
  • remove
  • replace
  • reverse

Other STL Features

  • Container Adaptors
  • Complex Numbers
  • Standard Exception
  • Memory
  • Smart Pointer from the Standard Library

Design Heuristics

  • Object-Oriented Design Guidelines
  • Reflecting Client's View
  • Polling
  • Express Interfaces Through Objects
  • Value Objects
  • Class Invariants
  • Abstract Base Classes
  • Classes and Interfaces
  • Design Interfaces Between Base and Derived Classes
  • Classes Cohesiveness
  • Interface Bloat
  • Encapsulation Leakage

Decoupling

  • What is Coupling?
  • Kinds of Coupling
  • Identity Coupling
  • Identity Coupling: Object Lifetimes
  • Change of Identity
  • Type Coupling
  • Implementation Coupling
  • Interfaces and Implementations

Causality

  • Event Registration
  • Observer and Observables
  • C-Style Callbacks
  • C-Style Subject
  • Object-Oriented Function Pointers
  • Object-Oriented Callback
  • Type Safety and Callbacks
  • Templated Callback
  • Function Callback
  • Use of Callbacks

Memory Management

  • Basic Guidelines
  • Match Constructors with Destructors
  • Singleton
  • Initialization of Global Objects
  • Smart Pointers
  • Overloading New and Delete
  • Operator new
  • Operator delete
  • Changing New Handler

C++ Inheritance

  • Rules and Guidelines
  • Inheritance of Baseclass Methods
  • Change of Methods
  • Contracts and Inheritance
  • Contracts and Subtyping
  • Variations of Method Arguments
  • Rules for Method Arguments
  • Rules for Changing Return Types
  • Cancellations of Methods

Efficiency

  • Performance Analysis
  • Ground Rules
  • Locality of Reference
  • Use of Inline Functions
  • Data Locality
  • Lazy Evaluation
  • Copy on Write
  • Lazy Fetching
  • Eager Evaluation
  • Caching
  • Performance and Responsiveness
  • Utilization of Threads
  • Asynchronous Protocols
  • Futures

Training For OCP-JP 6 (SCJP)

Below is an Index of the list of chapters that are covered in training of SCJP/OCPJP Certification series. The Syllabus is correct at the time of this writing when the certification was still called SCJP.

Java Basics

  • Define the scope of variables
  • Define the structure of a Java class
  • Create executable Java applications with a main method
  • Import other Java packages to make them accessible in your code

Working With Java Data Types

  • Declare and initialize variables
  • Differentiate between object reference variables and primitive variables
  • Read or write to object fields
  • Explain an Object's Lifecycle (creation, "dereference" and garbage collection)
  • Call methods on objects
  • Manipulate data using the StringBuilder class and its methods
  • Creating and manipulating Strings

Using Operators and Decision Constructs

  • Use Java operators
  • Use parenthesis to override operator precedence
  • Test equality between Strings and other objects using == and equals ()
  • Create if and if/else constructs
  • Use a switch statement

Creating and Using Arrays

  • Declare, instantiate, initialize and use a one-dimensional array
  • Declare, instantiate, initialize and use multi-dimensional array
  • Declare and use an ArrayList

Using Loop Constructs

  • Create and use while loops
  • Create and use for loops including the enhanced for loop
  • Create and use do/while loops
  • Compare loop constructs
  • Use break and continue

Working with Methods and Encapsulation

  • Create methods with arguments and return values
  • Apply the static keyword to methods and fields
  • Create an overloaded method
  • Differentiate between default and user defined constructors
  • Create and overload constructors
  • Apply access modifiers
  • Apply encapsulation principles to a class
  • Determine the effect upon object references and primitive values when they are passed into methods that change the values

Working with Inheritance

  • Implement inheritance
  • Develop code that demonstrates the use of polymorphism
  • Differentiate between the type of a reference and the type of an object
  • Determine when casting is necessary
  • Use super and this to access objects and constructors
  • Use abstract classes and interfaces

Handling Exceptions

  • Differentiate among checked exceptions, RuntimeExceptions and Errors
  • Create a try-catch block and determine how exceptions alter normal program flow
  • Describe what Exceptions are used for in Java
  • Invoke a method that throws an exception
  • Recognize common exception classes and categories

Training For OCP-JP 7

Formerly Sun Certified Java Programmer (SCJP). The OCP, Java SE 7 Programmer certification is designed for individuals who possess a strong foundation in the Java Programming language.

At the end of our training, Students can appear for following Oracle certification exams.

Course Details:

Java Basics

  • Define the scope of variables
  • Define the structure of a Java class
  • Create executable Java applications with a main method
  • Import other Java packages to make them accessible in your code

Working With Java Data Types

  • Declare and initialize variables
  • Differentiate between object reference variables and primitive variables
  • Read or write to object fields
  • Explain an Object's Lifecycle (creation, "dereference" and garbage collection)
  • Call methods on objects
  • Manipulate data using the StringBuilder class and its methods
  • Creating and manipulating Strings

Using Operators and Decision Constructs

  • Use Java operators
  • Use parenthesis to override operator precedence
  • Test equality between Strings and other objects using == and equals ()
  • Create if and if/else constructs
  • Use a switch statement

Creating and Using Arrays

  • Declare, instantiate, initialize and use a one-dimensional array
  • Declare, instantiate, initialize and use multi-dimensional array
  • Declare and use an ArrayList

Using Loop Constructs

  • Create and use while loops
  • Create and use for loops including the enhanced for loop
  • Create and use do/while loops
  • Compare loop constructs
  • Use break and continue

Working with Methods and Encapsulation

  • Create methods with arguments and return values
  • Apply the static keyword to methods and fields
  • Create an overloaded method
  • Differentiate between default and user defined constructors
  • Create and overload constructors
  • Apply access modifiers
  • Apply encapsulation principles to a class
  • Determine the effect upon object references and primitive values when they are passed into methods that change the values

Working with Inheritance

  • Implement inheritance
  • Develop code that demonstrates the use of polymorphism
  • Differentiate between the type of a reference and the type of an object
  • Determine when casting is necessary
  • Use super and this to access objects and constructors
  • Use abstract classes and interfaces

Handling Exceptions

  • Differentiate among checked exceptions, RuntimeExceptions and Errors
  • Create a try-catch block and determine how exceptions alter normal program flow
  • Describe what Exceptions are used for in Java
  • Invoke a method that throws an exception
  • Recognize common exception classes and categories

Training For Core Java 7

Java is the most popular programming language and the platform for developing desktop, web, enterprise and mobile based applications.

This course is designed for those programmers who want to build their fundamentals & programming skills using Java and want to study beyond the OCP-JP curriculum.

You will find information on key elements of the latest Java API. Real-world examples demonstrate key features of Java in action. In addition, new Java SE 7 features such as try-with-resources, strings in switch, type inference with the diamond operator, NIO.2, and the Fork/Join Framework are also discussed in detail.

Course Details:

  • How to Install Java and about Environment Variables
  • JVM Architecture
  • Datatypes, Variables, Keywords and Identifiers
  • Operators and Expressions, Naming Conventions in Java
  • Control Flow Statements
  • Arrays
  • Command Line Arguments
  • Object and Class
  • Object Oriented Programming(OOP)
  • Inheritance
  • Interfaces
  • Abstract Classes, Inner Classes
  • Access Specifiers, Access Modifiers
  • Packages
  • Collection Frame Work
  • Exception Handling
  • Multi Threading
  • Input/Output Streams
  • Networking
  • AWT, Applets and Swings
  • FAQ's and SCJP Exam Oriented Concepts

After Completion:

Successful completion of this training provides clear evidence that the Java developer understands and can create:

  • Java console based applications using Object oriented Principles
  • Java Swing & AWT based GUI applications with Exception Handling Mechanism
  • Java applications with Collections Framework with Generics and String Formatting with Parsing API
  • Multi Threaded Java applications
Request a Quote

Featured Projects

Technical Expertise

Awards

Our Partners

Customer Talk

  • upSage Pastel has streamlined our financial operations. We have achieved stability with the system now and are satisfied with your support.up

    -Principal
    Institute of Social Works

  • upI would like to thanks and congratulate to you and your team who has performed very nice and swift action to fulfil this project in less time and efficient way.up

    -CEO
    Capital Markets and Securities Authority (CMSA)

  • upI have been impressed with your level of technical ability and the ease with which we can work together. I will certainly be recommending Web Technologies to others who need fast and well delivered applications.up

    -Executive Director
    Tanzania Education Authority (TEA)

  • upWe are very happy with the service Web Technologies provides. They are contactable twenty four hours a day, seven days a week and their response times are excellent, which keeps our down time to a minimum.up

    -Johannes Kahwa
    It Manager, Social Security Regulatory Authority ( SSRA)

  • upWeb Technologies have been overseeing the development of our University Website , Software and networks for over 5 years. Work is always completed to a high standards, on time and to budget. We have been very appreciative of the patient, friendly and reliable service.up

    -Elibariki Mushi (Head of ICT)
    Kampala International University (KIU)

Be Social with us

Terms of Service | Terms of Use | Privacy Policy | Connectivity

Articles | FAQ | Sitemap | Inquiry | Client Speaks | Contact | Blog | Partnership