Module 1: Core Java Fundamentals
Data Types, Operators, Decision Constructs & Loops
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
Declare and initialize variables
Differentiate between object reference variables and primitive variables
Read or write to object fields
Call methods on objects
Creating and manipulating Strings
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
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
Module 2: 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
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
Servlets & Cookies
Module 3: Java Class Design & Object Oriented Design Principles, Inheritance & Abstraction
Use access modifiers: private, protected, and public
Override methods
Overload constructors and methods
Use the instanceof operator and casting
Use package and import statements
Write code that declares, implements and/or extends interfaces
Choose between interface inheritance and class inheritance
Apply cohesion, low-coupling, IS-A, and HAS-A principles
Apply object composition principles (including has-a relationships)
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
Identify when and how to apply abstract classes
Construct abstract Java classes and subclasses
Use the static and final keywords
Create top-level and nested classes
Module 4: 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
Use throw and throws statements
Develop code that handles multiple Exception types in a single catch block
Create custom exceptions
Module 5: Java I/O Fundamentals
Read and write data from the console
Use streams to read from and write to files by using classes in the java.io package including BufferedReader, BufferedWriter, File, FileReader, FileWriter, DataInputStream, DataOutputStream, ObjectOutputStream, ObjectInputStream,
and PrintWriter
Module 6: Threads
Create and use the Thread class and the Runnable interface
Manage and control thread lifecycle
Synchronize thread access to shared data
Identify code that may not execute correctly in a multi-threaded environment
Module 7: Introduction to Java Servlets
Describe web applications, CGI, and the role of Java
Describe benefits of Java servlet technology
Create a simple Java Servlet
Define three-tier architecture
Define Model-View-Controller (MVC) architecture
Module 8: Introduction to Java Server Pages
Describe why Servlets are not the whole solution
Describe essentials of JSPs
Understand the fundamentals and reasons for MVC architecture
Module 9: Implementing an MVC Design
Code a controller using a servlet
Code a view using a JSP
Forward control from a servlet to a JSP
Understand fundamentals of EL
Implement a simple MVC system
Module 10: The servlet's environment
Understand more details of the HTTP protocol
Understand fundamentals of HTML forms
Understand fundamentals of the HttpServlet and related APIs
Write code that manages client sessions
Deployment
Module 11: Container facilities for servlets and JSPs
Understand the purpose and structure of deployment descriptors
Control context root and servlet mapping
Create and use context and init parameters
Use annotations to configure servlets
Module 12: Developing JSP pages
Understand the origi ns, benefits, and weaknesses of JSPs
Describe JSP technology, the conversion of JSPs to servlets, and the lifecycle of JSPs
Understand JSP scripting elements,declarations and directives
Use JSP implicit variables
Understand and use jsp: tags
Module 13: Building Database Applications with JDBC
Describe the interfaces that make up the core of the JDBC API (including the Driver, Connection, Statement, and ResultSet interfaces and their relationship to provider implementations)
Identify the components required to connect to a database using the DriverManager class (including the jdbc URL)
Submit queries and read results from the database (including creating statements, returning result sets, iterating through the results, and properly closing result sets, statements, and connections)
Create and use PreparedStatement
Module 14: JSP, Servlet & JDBC Integration
Build an integrated application using the MVC Architecture
Use JSP as View
Use Servlets as Controller
Use JDBC to establish connection & query your database