Programming Languages

Advanced Java with Spring and Hibernate


Duration : 80 hours

Course Details:

   - Advanced Java

    - Introducing the Spring Framework

    - Spring architecture fundamentals

    - Applying Inversion of Control (IoC) and Dependency Injection (DI)

    - Minimizing Code with Aspect-Oriented Programming (AOP)

    - Transparently applying common functionality

    - AspectJ style AOP

    - Constructing an Effective DataAccess Tier with Spring

    - Simplifying data access with JDBC templates

    - Abstracting the Data Access Layer

    - Managing transactions

    - Building a Web Tier with Spring MVC

    - Processing web requests

    - Rendering the response

    - Building Ajax controllers

    - Persisting Objects with Hibernate

    - Integrating Hibernate

    - Handling Complex Object Relationships

    - The role of the Hibernate Session

    - Mapping collections

    - Strategies for building object associations

    - Effectively mapping inheritance relationships

    - Optimizing Data Access

    - Applying Hibernate Query Language (HQL)





ASP.NET Web Forms


Duration : 80 hours

Course Contents:

   - Introduction to Web Forms


   - Designing Web Forms


   - Activating Web Forms


   - Retrieving and Updating Data


   - Developing data-driven applications


   - Modifying data


   - Architecting ASP.NET Web Applications


   - Creating multitier applications


   - Managing state in web applications


   - Constructing Responsive ASP.NET Pages with Ajax


   - Creating a richer UI with Ajax extensions


   - Making custom Ajax requests with jQuery


   - Developing Mobile-Friendly Web Applications


   - Creating flexible Web Forms


   - Harnessing jQuery Mobile


   - Building Sophisticated Web 2.0 Websites


   - Improving search engine rankings


   - Integrating jQuery plugins


   - Leveraging the Geolocation API


   - Deploying ASP.NET Web Applications



Introduction to the C# Language


Duration : 120 hours


Course Content 


   - The evolution of C#

  • Comparing different versions of C#

  • Expressing C# models in UML

   - C# and the .NET infrastructure

  • Common Language Infrastructure (CLI)

  • Managed code philosophy

  • Common Intermediate Language (CIL) and metadata

   - Language Fundamentals

  • Data types and control constructs

  • Declaring implicit and explicit variables

  • Value and reference types

  • Unicode characters and strings

   -  Defining and calling methods

  • The Main method specification

  • Passing arguments and returning values

  • The scope and lifetime of variables

  • Named and symbolic methods

  • Handling exceptions

  • Recovering resources

   - Employing .NET library classes

  • Avoiding collisions by using namespaces

  • Performing I/O using the stream class and serialization

  • Standard and Generic Collections

   - Developing C# Classes

   - Defining classes

  • Encapsulating attributes with methods and properties

  • Providing consistent initialization using constructors

  • Overloading methods and constructors

   - Achieving reuse through inheritance and polymorphism

   - Creating and using objects

  • Allocating object memory with new

  • Passing initial values to constructors

  • Choosing value or reference allocation

  • Invoking methods and accessing properties

   - Interconnecting Objects

   - Associating classes

  • Manipulating references

  • Physical vs. logical equivalence

  • Selecting collection library classes

  • Increasing reliability using generics

   - Exposing interfaces

  • Defining an interface specification

  • Interface polymorphism

  • Events and delegates

   - Simplifying Component Development

   - Component features of .NET

  • Manifests and assemblies

  • .NET assembly metamodel

   - Writing .NET components in C#

     Creating and calling custom components

  • Extending System.ComponentModel.Component

   - Interfacing legacy components

  • Accessing COM/DCOM

  • Tools for forward and backward compatibility

  • Calling existing components

   - Integrating C# with other languages

  • Harmonizing components through the CLI

  • Accessing metadata

  • Handling cross-language differences

   - Implementing and Enhancing C# Solutions

   - Building multitier applications

  • Leveraging solid architectures (MVC and EDM)

  • Substituting the user interface

  • Coding industry-standard design patterns in C#

   - Working with relational databases

  • Accessing databases with the Entity Framework (EF)

  • Integrating C# extended features with LINQ

   - Advanced techniques

  • Implementing the IEnumerable<T> interface

  • Invoking extension methods

  • Employing events, delegates and lambda expressions

  • Multithreading using asynchronous keywords