This page lists some of the internal training programs that I facilitated for project teams and new recruits while I was in Virtusa. Listed here with permission.

New trainings offered are listed here: http://www.training.lk/

  1. Estimation Guidelines Workshop
     
    Estimating the development cost and effort of software systems is inherently difficult. This three day training guides the participants to arrive at more accurate and realistic estimates by educating them on various sizing techniques, effort estimatimation techniques and tips and tricks.

    Some key areas looked at include (but not limited to) range estimation, use case based estimation, methods to compare different estimation techniques, complexities with object-orientation, Monte Carlo Analysis, iteration and phase planning matters, influence of risk factors and geographically dispersed development.
     

  2. Unified Modeling Language, Object Oriented Analysis And Object Oriented Designing Training
     
    This is a 5 day training primarily for those that are new to object oriented analysis, designing and modeling of object oriented systems using Unified Modeling Language. The training discusses about different artifacts created in iterative software development process starting from requirements capturing and illustrates how those initial artifacts are systematically transformed towards a robust design.

    Preliminary software design patterns (General Responsibility Assignment Patterns) and some of the Gang of Four patterns are introduced to illustrate how the best practices are injected into the design.
     

  3. Enterprise JavaBeans Training
     
    Enterprise Beans are distributed, transactional and secure server-side processing components covering a major section of the J2EE architecture. This 5 day training is an end-to-end training on Enterprise JavaBeans Technology.

    The training covers all types of enterprise beans (Stateless/Stateful Session Beans, Entity Beans with Bean Managed Persistence/Container Managed Persistence and Message-Driven Beans), local and distributed transaction management, EJB-tier security and application server resource connections.
     

  4. JSR 168 Portlet Training
     
    A portal is an integrated and personalized web-based interface to information, applications and collaborative services. JSR 168 standardizes how the user interface components for a portal can be developed in Java programming language which are called Portlets (Similar to Servlets). This three day hands-on training is about JSR 168 complient Portlet development.
     
  5. JSP And Servlet Training
     
    This training is about development of robust web applications. It covers the basics of JSP/Servlets to the standard model 2 architecture (MVC) including J2EE Blue Prints best practices. Two MVC implementations are discussed (J2EE Blue Prints Web Application Framework and Struts).
     
  6. J2EE Tools: Eclipse Workbench
     
    Eclipse is an extensively popular open source integrated development environment (IDE) primarily for Java projects. It has an extensible architecture where plugins that implement various functionalities can easily be added to Eclipse extending it towards a univeral platform for development tools. Duration is one day.
     
  7. J2EE Tools: Maven
     
    Maven is an increasingly popular project management and comprehension tool. Its unified approach in project management, ease of usage and effective extensibility mechanisms make it the ideal tool to be used with in any Java project. Duration is one day.
     
  8. J2EE Tools: XDoclet and Lomboz
     
    XDoclet is an automated code generation engine used in Java projects. It significantly reduces the amount of coding particularly in J2EE projects generating interfaces to the beans, deployment descriptors, facades, value objects, Struts froms and many other artifacts. XDoclet can be extended and used elsewhere (non-J2EE projects) as well. Lomboz is an Eclipse plugin which provides the developers a convenient GUI to use XDoclet in Eclipse.

    The ability of a J2EE developer to effectively use XDoclet makes him fast, faster and ultra fast. The enhancement in development speed is significant and well felt by the developers.

    Duration is one day.
     

  9. Fundamentals of IBM WebSphere Application Server Version 6
     
    Version 6 of the WebSphere Application Server is the latest application server from IBM which complies with J2EE 1.4 specification. This two day training looks at the installation process, profiles, configuration with a web server, application deployment process, system management and security architecture.
     
  10. GUI Programming with JFC/Swing
     
    This is a 6 day comprehensive training on JFC/Swing. It starts from the basic swing components and expands to complex components and customization of them, layout managers, event model, multi-threading, Graphics 2D, drag and drop programming and concludes with the customization of the Swing pluggable look and feel implementation and writing of new Swing components.
     
  11. Java Training (Intermediate Level)
     
    This is a 3 day "Polish your Java knowledge" training. The training introduces different garbage collection algorithms, basics of performance tuning of the Java Virtual Machine, programming with exceptions, Java security implemenation, collections framework, multi threading, io manipulation and new features of Java 1.5.
     
  12. Java Idioms
     
    Idioms make you code effectively and use elegant code constructs. There are a large number of idioms and probably you can device your own. This training focuses on a selected number of Java idioms documented at the Portland Pattern Repository. These selected idioms are specifically related with repeating code patterns.
     
  13. Test Infected Programming With JUnit And Its Extensions
     
    This is a 2 day comprehensive training on unit testing of Java applications. It starts with different mechanisms used for unit testing and their advantages and disadvantages and the role played by JUnit. Then some advanced topics of unit testing are disscussed including testing of database dependant code, mock object testing, in-container testing of Sevlets/JSP and enterprise beans, testing of Struts applications and also JUnit extensions that enable automated functional testing of web applications.
     
  14. Linux Workshop
     
    The workshop is about Linux administration. Installation, package management, process management, services, configuration of network servers and basic shell scripting are covered during this two day program.