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
Social Network Marketing