Public (Open Enrollment) Training Courses in 2014

2014 Short Courses at JHU Dorsey Center in Elkridge MD
Co-Sponsored by Johns Hopkins Engineering for Professionals

JHU/EP Logo

“Wonderful. In 20 years, this is the best organized, most pragmatic and enjoyable course I've taken.”

“The best instructor-led course I have attended, by far.”

“Best short course ever!”

“Compared to the other short courses I have taken, this one completely redefined my scale from 1-10.”

“In my 35+ years of taking technical courses, Marty's classes consistently come out ranking #1 on my list. Highly relevant material is delivered with enthusiasm, humor, and a high degree of class interaction that is unmatched anywhere.”

more student reviews

In general, onsite training courses taught at your organization are better than public ones. In particular:

  • The onsite courses are cheaper (no venue to rent, so your price is lower).
  • The onsite courses are more convenient (you don't have to travel).
  • The onsite courses are more effective (the topics and pace can be customized to suit your needs and background).
  • For clients in the Baltimore/Washington area, the onsite courses have a more flexible schedule (e.g., we can meet evenings or afternoons or one or two days per week instead of on n consecutive days).

If you are interested in a customized onsite course at your organization, please email hall@coreservlets.com

However, many clients simply do not have enough developers for an onsite course, so we periodically offer open enrollment courses as well. These courses still feature Marty's lively and entertaining presentation style, lots of relevant hands-on exercises, coverage of best practices, up-to-date topics and examples, and the chance to ask as many hard questions as you would like. And we still offer the same guarantee: if you are not completely satisfied with the course, we will refund the full cost. All 2014 courses are held at the JHU Dorsey Center in Elkridge, Maryland (5 minutes from BWI airport) and are co-sponsored by the Johns Hopkins University Engineering for Professionals program.

The following summarizes the schedule for the public (open enrollment) training courses for 2014. The spring 2015 course schedules will be announced later. Onsite courses, however, can be arranged at your organization at any mutually agreeable time.



  ()


Also evenings (4:00-8:00 pm) January 7/9 & 14/16 2014

Java Logo Java-day hands-on intro to the two most important new features to be added to Java in a decade: lambdas and streams. Assumes that the students are already comfortable with earlier versions of Java. If not, take the general Java course instead.

Covers motivation for lambdas, basic forms, type inferencing, using effectively final variables, @FunctionalInterface, method references, The java.util.function package (and Function, Predicate, Consumer, Supplier, and BinaryOperator), making streams, stream methods (especially forEach, filter, map, and reduce), lazy evaluation, parallel streams, infinite streams, etc.

For registration and more information, see the Java 8 public training course page. For customized onsite versions, see the onsite Java training page.


  ()

Java Logo Fast-moving, hands-on introduction to Java programming aimed at developers with significant previous experience in some programming language, preferably C, C++, C#, or with a little bit of previous Java exposure. Not a course for first-time programmers.

Covers basic syntax, loops, conditional statements, OOP, generics, varargs, autoboxing, builtin data structures, applets, AWT, Swing, Java 2D, multithreaded programming, network programming, serialization, and more. New: course now covers Java 8 lambdas and streams. However, if you are already comfortable with Java, and just want to learn the new Java 8 features, don't take this course: take the mini Java 8 course instead.

For registration and more information, see the Java public training course page. For customized onsite versions, see the onsite Java training page.


  ()

JSF Logo Let's admit it: JSF 1.x was a pain in the neck. Sure, it was the only major Web app framework that was part of the Java EE spec, and it had lots of great third-part component libraries. But, for ordinary developers it was tedious and cumbersome to use. However, JSF 2 is a dramatic improvement in almost every way: more powerful, much simpler to use, has integrated Ajax support, and is better from top to bottom. JSF 2 is now widely considered the standard Java-based Web app framework, and is also generally preferred over the older and lower-level servlet and JSP libraries. This course will give a thorough introduction to JSF 2 including annotations, defaults, Ajax functionality, page navigation, validation, event handling, I18N, page templating with facelets, composite components, looping with ui:repeat, view parameters, and lots more. The course also gives a quick introduction to PrimeFaces, one of the best and easiest to use rich component libraries for JSF 2. We will cover PrimeFaces installation and setup (a breeze!) and the main rich input elements (sliders, spinners, autosuggest boxes, masked input, popup calendars and so forth).

The course assumes moderate to significant previous Java experience, but does not require any JSF 1.x experience.

For registration and more information, see the JSF 2.2 public training course page. For customized onsite versions, see the onsite JSF and PrimeFaces training page.


  ()

Hadoop Logo Apache Hadoop is a framework that allows for the distributed processing of massive data sets across clusters of computers using a simple programming model. It is designed to scale up from single servers to thousands of machines, each offering local computation and storage. Rather than rely on hardware to deliver high-avaiability, the library itself is designed to detect and handle failures at the application layer, so delivering a highly-availabile service on top of a cluster of computers, each of which may be prone to failures. This course gives a practical, hands-on guide to developing and maintaining Hadoop-based applications.

The course assumes moderate to significant previous Java experience, but no previous knowledge of Hadoop or cloud computing is required.

For registration and more information, see the Hadoop training course page.


  ()

RESTful Web Services Book Cover Fast-moving 3-day intro to building and accessing Web services with Java. Aimed at at developers with significant Java experience, but with little or no exposure to Web Services.

Covers SOAP-based and RESTful Web Services. Uses Axis2, CXF, Jersey, RESTEasy, and Restlet.

For registration and more information, see the Web Services training course page.


  ()

Android Logo Android is now the world's bestselling mobile platform, and its nonrestrictive policies and the use of Java as the core application language makes Android an ideal choice for developing internal corporate mobile applications. However, the API is large, complex, and sometimes difficult to get started with. This course gives a practical, hands-on introduction to developing Android applications. It provides thorough coverage of the the foundational Android topics: installation, setup, XML-based layouts, event-handling strategies, basic widget types, and window layout types. it also gives a fast-moving survey of some of the most important libraries: location-based services, screen rotations, multithreaded applications, network programming, animation, and lots more. In each section, it gives details on the most important topics, surveys more advanced or lesser-used topics, stresses best practices, and gives plenty of working examples. Each section is followed by a series of hands-on exercises to reinforce the concepts. There are a choice of exercises of varying complexity so as to accommodate developers with various levels of expertise and previous experience.

The course assumes moderate to significant previous Java experience, but does not require any previous experience with mobile apps. All exercises can be run inside Eclipse on the official Android emulator, so owning a physical Android device is not a requirement for the course. However, if you bring an Android phone or tablet, we will show you how to test your exercises on it.

For registration and more information, see the public Android training course page. For customized onsite versions, see the onsite Android training page.


  ()

Dates TBD

PrimeFaces Logo JSF version 2 is a huge step forward from JSF 1, and is becoming well-established as the Web app framework of choice in the Java world. However, JSF made the strategic decision to not try to build rich non-HTML-standard GUI elements into the core framework, but instead define an API so that third parties can build rich component libraries that can be portably used in any JSF 2 application. This approach lets the component libraries use "best of breed" GUI elements from jQuery UI, Ext/JS, and other popular libraries be used as they evolve and become widely accepted. PrimeFaces has now become the most popular of these third-party component libraries, surpassing both RichFaces and IceFaces in usage.

This course gives gives a thorough introduction to the most important of the PrimeFaces capabilities: input elements (dates, numbers, strings, autocompleters, etc.), dialog boxes, theming, tabbed and accordion panels, extended data tables, image galleries and viewers, menus, charts, etc. If you are new to JSF 2, don't take this course: take general JSF 2 course instead. That course includes a brief introduction to PrimeFaces, but gives detailed coverage of the core JSF 2 programming skills that this course assumes as a prerequisite.


The course assumes moderate to significant previous experience with JSF 2.

For registration and more information, see the PrimeFaces training course page.


  ()

Dates TBD

Spring Framework Logo Practical, hands-on training on Spring programming. Aimed at developers with moderate to significant previous Java experience but little or no experience with the Spring Framework.

Covers dependency injection, aspect-oriented programming, transaction management, job scheduling, testing, and much more.

For registration and more information, see the Spring training course page.


  ()

Dates TBD

Hibernate Logo Practical, hands-on training on Hibernate and JPA development. Aimed at developers with moderate to significant previous Java experience but little or no experience with Hibernate or JPA.

Covers codeless configuration, collection mappings, inheritance and component relationships, object lifecycles, transaction management, and much more. New: course now covers automatic object versioning and multi-level caching!

For registration and more information, see the Hibernate and JPA training course page.


  ()

Dates TBD

Ajax Image "Ajax" designates the set of techniques that enable Web applications to asynchronously update small portions of the pages based on server-side data. First popularized by Google, these techniques are now being widely applied in Web applications, and increase the performance, flexibility, richness, and interactivity of Web sites and Web-based applications. However, Ajax programming is complex and poorly understood. This course gives a practical, hands-on introduction to the fundamentals of Ajax development. It covers foundational topics like JavaScript programming, core Ajax approaches, XML and JSON data handling, and Ajax development and debugging tools. It also covers more advanced topics like automatic JSON generation, JSON-RPC, and Ajax/JavaScript frameworks such as jQuery, Prototype, and Scriptaculous (with particular emphasis on jQuery). In each section, it gives details on the most important topics, surveys more advanced or lesser-used topics, stresses best practices, and gives plenty of working examples. Each section is followed by a series of hands-on exercises to reinforce the concepts. There are a choice of exercises of varying complexity so as to accommodate developers with various levels of expertise and previous experience. New: course now covers the HTML 5 input elements!

The course assumes moderate to significant previous experience with Java, and preferably at least brief exposure to servlets or JSP. No previous experience with jQuery or JavaScript is required.

For registration and more information, see the Ajax training course page.


  ()

Dates TBD

GWT Logo Four-day, fast-moving, practical introduction to developing apps with GWT. Assumes previous experience with Java, but does not require experience with JavaScript or Ajax.

Covers GWT pros and cons, setup, project creation, event handling, RPC, widgets, panels, and more. New: course now covers new GWT 2.x features!

For registration and more information, see the GWT training course page.