| Java Training   Overview 
Fast Track to Java 8 and OO Development is a fast paced course suitable for programmers with existing programming experience. It can be taught to audiences with less experience by reducing coverage of the optional, more advanced topics.
 Java is one of the most important programming languages used today, and its correct usage is a critical part of many systems being written now.  The basics of the language are relatively easy, but the challenge lies in learning how to use it well.  This is especially true regarding the Object-Oriented nature of Java, which for many developers is a new way of approaching system design and construction.
 
 In addition to teaching you everything you need to become productive in basic Java programming, this course draws on our extensive experience to provide a solid understanding of the core OO and Java concepts and practices needed to create well designed Java programs. It covers all the key OO capabilities and how to use them in Java, including material on creating well designed Java classes, using encapsulation, building more complex functionality with composition, and using inheritance to share functionality and create specialized types. It also covers more advanced concepts such as using interfaces, working with the Java Collections Framework, and overviews of accessing databases with JDBC and JPA (including labs using JPA).
 
 This course is suitable for environments using Java 7 or Java 8. The material and labs include coverage of useful new Java 7/8 capabilities such as strings in switch statements, try-with-resources, and lambda expressions. It also stresses the use of good coding practices for all the examples and labs. This course is available for most IDEs, such as Eclipse and IBM RAD
 
 Be prepared to work hard and learn a great deal! The course can be held on-site & customized to fit your needs.
 
 Java Training   Skills Gained
 
  Hands-OnUnderstand Java’s importance, uses, strengths and weaknessesUnderstand Java language basicsWrite, compile, and run Java programs Understand the Object Model and Object Oriented ProgrammingUnderstand and use classes, inheritance, polymorphismCreate well designed classes and use them in your Java programsUse composition and delegation to create objects from other objects
  Understand & use packages to organize codeUnderstand interfaces, their importance, and their usesUse interfaces to implement abstractionLearn good Java coding styleCreate well structured Java programsCompile and execute programs with the JDK development tools and
    with an Integrated Development Environment (IDE) of your choiceUse the core Java libraries (java.lang, java.util)Understand & use exceptions for error handlingUnderstand the basics of using JDBC and JPA, and use them to access databases
    from JavaUse the Java Collections FrameworkBe aware of, and use the new features of Java 7 and Java 8Understand and use basic I/O streams (Optional) 
Minimum 50% hands-on
 Supported Platforms
 
Java 7, Java 8, Eclipse, IBM RAD (8.0+), Eclipse
 Java Training   Course Duration
 
 5 Days
 
 Java Training   Course outline
 
 Session 1: A First Look
 
          A Simple Java Class Java’s “Hello World” ProgramLABS:
            
              Hello World:  A Simple Application Session 2: Java Basics 
          Language and Platform Features Program Life CycleThe Java SE Development Kit (JDK)LABS:
            
              Working with the Development Environment Session 3: Class and Object Basics  
          The Object Model and Object-Oriented ProgrammingClasses, References, and Instantiation
          Adding Data to a Class DefinitionAdding Methods (Behavior)LABS:  
            
              Exploring Types and Object InstancesWriting and Using a Class Definition with Fields and Methods Session 4: More on Classes and Objects  
          Accessing data, the "this" variableEncapsulation and Access Control, public and private AccessConstructors and Initializationstatic Members of a ClassScopes, Blocks, References to ObjectsLABS:  
            
              Encapsulation / Access ProtectionWriting and Using Constructors(Optional) Static MembersUsing the Debugger Session 5: Flow of Control  
          Branching: if, if-else, switchIteration: while, do-while, for, break, continueLABS:  
            
              Flow of Control / Data Validation Session 6: Strings and Arrays  
          String, StringBuffer, StringBuilderArrays, Primitive Arrays, Arrays of Reference TypesvarargsLABS:  
            
           Session 7: Packages 
          Package Overview - Using Packages to Organize Codeimport statementsCreating Packages, package Statement, Required Directory
            StructureFinding Classes, Packages and ClasspathLABS: 
            
              Using Packages to Organize Code Session 8: Composition and Inheritance 
          Using Composition to Deal With ComplexityComposition/HAS-A, DelegationUsing Inheritance and Polymorphism to share commonalityIS-A, extends, Inheriting Features, Overriding Methods, Using
            PolymorphismClass ObjectAbstract ClassesLABS: 
            
              (Optional) Working with CompositionUsing Inheritance to Specialize Classes Session 9: Interfaces 
          Using Interfaces to Define TypesInterfaces and Abstract ClassesLABS: 
            
              Using Interfaces to Remove Implementation Dependencies  Session 10: Exceptions 
          Exceptions and the Exception Hierarchytry and catchHandling ExceptionsProgram Flow with ExceptionsfinallyLABS: 
            
              Throwing and Handling Exceptions Session 11: Java Collections and Generics 
          The Collections Framework and its APICollections and Java GenericsCollection, Set, List, Map, IteratorAutoboxingCollections of Object (non-generic)
          Using ArrayList, HashSet, and HashMapfor-each LoopProcessing Items With an IteratorMore About GenericsLABS:  
            
              Using Lists and GenericsUsing Sets Session 12: Database Access with JDBC and JPA 
          JDBC Overview
	    
              JDBC Architecture and APIUsing DriverManager, Connection, Statement and ResultSetJPA Overview
           
             JPA Architecture and Programming ViewEntity Classes and AnnotationsMapping an Entity ClassEntityManagerFactory and EntityManagerWorking with JPA (Find by primayry key and inserts)LABS: 
            
              Mapping an Entity ClassWorking with JPA Session 13: Additional Java Features 
          AssertionsType-safe EnumsAnnotationsLambda Expressions and Method References (Java 8)Additional Features Session 14: I/O Streams (Optional) 
          Readers and WritersFilter StreamsByte StreamsFormatted OutputNew I/O (NIO) APIsLABS:  
            
           Appendix: JDBC 
          JDBC OverviewJDBC Architecture and APIDatabase ConnectionsIssuing Statements and Processing Data 
 |