Creating Java Applications
Introduction to Java Applications, Using the javac command to compile Java applications, Using the java command to run Java applications, Displaying Text with printf, Variables and Introducing Arithmetic Operators, Equality and Relational Operators.
Using Classes and Objects
Classes, Objects, Methods and Instance Variables, Declaring Class and Methods, Instantiating an Object of a Class, Declaring a Method with a Parameter, Instance Variables, set Methods and get Methods, Primitive Types vs. Reference Types, Initializing Objects with Constructors, Floating-Point Numbers and Type double.
Control Statements
"if" Single-Selection Statement, "if" ... else Double-Selection Statement, while Repetition Statement, Counter-Controlled Repetition, Sentinel-Controlled Repetition, Nested Control Statements, Compound Assignment Operators, Increment and Decrement Operators, Primitive Types, Essentials of Counter-Controlled Repetition, for Repetition Statement, do ... while Repetition Statement, switch Multiple-Selection Statement, break and continue Statements, Logical Operators.
Methods
Static Methods, static Fields and Class Math, Declaring Methods with Multiple Parameters, Notes on Declaring and Using Methods, Method-Call Stack and Activation Records, Argument Promotion and Casting, Java API Packages, Generalized Scaling and Shifting of Random Numbers, Scope of Declarations, Method Overloading.
Arrays
Declaring and Creating Arrays, Examples Using Arrays, Enhanced for Statement, Passing Arrays to Methods, Multidimensional Arrays.
Classes and Objects
Class Case Study, Controlling Access to Members, Referring to the Current Object's Members with the this Reference, Overloaded Constructors, Default and No-Argument Constructors, Composition, Enumerations, Garbage Collection and Method finalize, static Class Members, static Import, final Instance Variables, Creating Packages.
Inheritance
Superclasses and Subclasses, protected Members, Relationship between Superclasses and Subclasses, Creating an Inheritance Hierarchy, Using protected Instance Variables, Using private Instance Variables, Constructors in Subclasses, Software Engineering with Inheritance.
Polymorphism
Polymorphism Examples, Demonstrating Polymorphic Behavior, Abstract Classes and Methods, Polymorphic Processing, Operator instanceof and Downcasting, Allowed Assignments Between Superclass and Subclass Variables, final Methods and Classes, Creating and Using Interfaces, Declaring Constants with Interfaces, Common Interfaces of the Java API
Exception Handling
Exception-Handling Overview, Handling ArithmeticExceptions and InputMismatchExceptions, When to Use Exception Handling, Java Exception Hierarchy, finally Block, Stack Unwinding, printStackTrace , getStackTrace and getMessage, Chained Exceptions, Declaring New Exception Types, Assertions
Database and JDBC
Structured Query Language (SQL), Basic SELECT Query, WHERE Clause, ORDER BY Clause, Merging Data from Multiple Tables: Joining, INSERT INTO Statement, UPDATE Statement, DELETE FROM Statement, Creating Database books in Cloudscape, Manipulating Databases with JDBC, Connecting to and Querying a JDBC Data Source, PreparedStatements, Transaction Processing, Stored Procedures, Batch Processing, Processing Multiple ResultSets or Update Counts, Updatable ResultSets, JDBC, DataSource, Connection Pooling, RowSets
Applets
Executing an Applet in the appletviewer, Executing an Applet in a Web Browser, Applet Life-Cycle Methods, Initializing an Instance Variable with Method init, Sandbox Security Model
Multimedia
Loading, Displaying and Scaling Images, Animating Images, Image Maps, Loading and Playing Audio Clips, Playing Video and Other Media with Java Media Framework
XHTML
Editing XHTML, First XHTML Example, XHTML Validation Service, Headings, Linking, Images, Lists, Tables, Forms, Internal Linking, meta Elements
CSS
Inline Styles, Embedded Style Sheets, Conflicting Styles, Linking External Style Sheets, Positioning Elements, Backgrounds, Element Dimensions, Box Model and Text Flow, Media Types, Building a CSS Drop-Down Menu, User Style Sheets
Servlets
Servlet Overview and Architecture, Interface Servlet and the Servlet Life Cycle, HttpServlet Class, HttpServletRequest Interface, HttpServletResponse Interface, Handling HTTP get Requests, Setting Up the Apache Tomcat Server, Deploying a Web Application, Handling HTTP get Requests Containing Data, Handling HTTP post Requests, Redirecting Requests to Other Resources, Session Tracking, Cookies, Session Tracking with HttpSession, Multi-tier Applications: Using JDBC from a Servlet, HttpUtils Class
Java Server Pages
JavaServer Pages Overview, A First JavaServer Page Example, Implicit Objects, Scripting, Scripting Components, Scripting Example, Standard Actions, Action, Action, Action, Action, Directives, page Directive, include Directive, Custom Tag Libraries, Createing a Custom Tag, Tag Attributes, Evaluating the Body of a Custom Tag
Java Server Faces
Java Web Technologies, Servlets, JavaServer Pages, JavaServer Faces, Web Technologies in Netbeans, Creating and Running a Web Application in Netbean, Examining a JSP File, Examining a Page Bean File, Event-Processing Life Cycle, Relationship Between the JSP and Page Bean Files, Examining the XHTML Generated by a Java Web Application, Building a Web Application in Netbeans
Ajax Enabled Java Server Faces
Accessing Databases in Web Applications, Building a Web Application That Displays Data from a Database, Modifying the Page Bean File for the AddressBook Application, Ajax-Enabled JSF Components, AutoComplete Text Field and Virtual Forms, Configuring Virtual Forms, JSP File with Virtual Forms and an AutoComplete Text Field, Providing Suggestions for a AutoCompleteText Field, Google Maps Map Viewer Component
XML and RSS
XML Basics, Structuring Data, XML Namespaces, Document Type Definitions (DTDs), W3C XML Schema Documents, XML Vocabularies, MathMLTM, Other Markup Languages, Extensible Stylesheet Language and XSL Transformations, Document Object Model (DOM)
Java RSS Utilities
The RSS Utilities Package, Installing the RSS Taglib, Using the RSS taglib, Extracting Data From RSS Feed, Java RSS Parser
Multithreading
Java Thread Model ; Creating and Running Threads ; Manipulating Thread State ; Thread Synchronization ; Volatile Fields vs. Synchronized Methods ; wait and notify ; join and sleep ; The Concurrency API ; Atomic Operations
Networking
The OSI Reference Model ; Network Protocols ; The Socket Class ; The ServerSocket Class ; Connecting Through URL Objects ; HTTP and Other TCP Servers ; Datagram Clients and Servers ; Non-Blocking Sockets
RMI Architecture
Motivation for RMI ; RMI; EJB; and CORBA ; RMI Architecture ; Lifetime of a Remote Method Invocation ; Registries ; Naming and URL Resolution ; Interface Design ; The Remote Interface ; Implementation Classes ; The RemoteObject and RemoteServer Classes ; The UnicastRemoteObject Class ; Server Implementation ; Using the Registry ; Client Implementation ; Code Deployment ; RMI Marshaling ; Passing Objects ; The Factory Pattern ; Serialization vs. Remote Reference ; Designing for Latency ; The Transfer Object Pattern ; Controlling Object Location ; Exception Handling
JMS
Asynchronous Messaging; The Java Message Service; Point-to-Point Messaging; Publish-and-Subscribe Messaging; JNDI; Connections and Sessions; Working with Queues; Working with Topics; Expiration; Message Content; Message Types; Header Fields; Properties; Message Selectors; Reliability; Message Persistence; JMS from Web Applications; The Component Environment; Acknowledgement and Redelivery; Acknowledgement Modes; Session Recovery; Transactions; What JMS Transactions Are and Aren't; Transaction Pitfalls; Batch Processing; Priority; JMS and EJB: Message-Driven Beans; JMS and Web Services: SOAP Messaging
Java SE Security
Holistic Security Practices; Threats to the User; The Class Loader and Bytecode Verifier; System Classes and the Core API; SecurityManager and AccessController; Permissions; Implication; CodeSources; Policies; Configuring Java SE Security; Dynamic Policies; Privileged Actions
Java EE Security
Java EE Servers as Code Hosts; Tomcat Security Configuration; Declaring Roles; Securing URLs; HTTP Authentication Schemes; Securing EJBs; Programmatic Security; JAAS in Java EE; Realms and LoginModules; JACC; Certifying a Java EE Application; HTTPS Configuration; Secure Development Practices: Java EE; Presentation-Tier Vulnerabilities; User Accounts; MVC and Security; Validating User Input; SQL Injection; Cross-Site Scripting; Reflected XSS; Defeating XSS; OWASP; Penetration Testing; Error Handling and Information Leakage; Logging and Auditing
Java Messaging Service
Asynchronous Messaging;The Java Message Service;Point-to-Point Messaging;Publish-and-Subscribe Messaging;JNDI;Connections and Sessions;Working with Queues;Working with Topics;Expiration;Message Content;Message Types;Header Fields;Properties;Message Selectors;Reliability;Message Persistence;JMS from Web Applications;The Component Environment;Acknowledgement and Redelivery;Acknowledgement Modes;Session Recovery;Transactions;What JMS Transactions Are and Aren't;Transaction Pitfalls;Batch Processing;Priority;JMS and EJB: Message-Driven Beans;JMS and Web Services: SOAP Messaging
CORBA
The Object Management Architecture ;The Object Management Group ;CORBA and the Goal of Interoperability ;Object Request Brokers ;Object Adapters ;Interface Definition Language ;The Role and Use of IDL ;IDL Constructs ;Interfaces, Operations, Attributes ;IDL Design Issues ;Factories ;CORBA Services ;Naming ;Events and Notifications ;Transactions and Concurrency ;Trader ;LifeCycle ;Persistent State ;Collections ;Security ;Externalization
JMX
Management v. monitoring; Motivations and requirements for creating a managed and monitored system; Ways to do management monitoring; Implementing management and monitoring with JMX; Understanding the JMX architecture: Instrumentation, JMX Agents, Remote Management; Out-of-the-box JMX Tools: JConsole and monitoring the JVM; Creating Managed Beans (MBeans): Standard MBeans and Dynamic MBeans; Managing a MBeans: Locally and remotely; MBean notification and events; Writing your own management and monitoring console
Methods of Training
Online Lecture Modules, Subject Expert Feedback Sessions after each Module, practical case studies, end of module assignments. etc.
Who Should Apply
Anyone who wishes to develop a career in Java Programming. Selection is based on consultation.
Possible Careers
Computer Programmer, Software Developer, Java Developer, Software engineer, Software Test, Software Design, IT consultant.
Qualifications
Successful candidates are awarded the Postgraduate Diploma in Java Programming (PG Dip. Java Prog.) at Pass, Credit or Distinction level. The Postgraduate Diploma is awarded by the Institute of Commercial Management.