Public (Open Enrollment) Training Courses in 2012

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

“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.”

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).

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 2012 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 Fall 2012. Winter and Spring 2013 course schedules will be announced during the summer or early Fall. Onsite courses, however, can be arranged at your organization at any mutually agreeable time.



  ()

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 Android training course page.


  ()

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.0 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.0 training course page.


  ()

(A late-afternoon version is also available March 20—May 3 2012)

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, applets, AWT, Swing, Java 2D, multithreaded programming, network programming, database access, and more. New: course now covers serialization!

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


  ()

"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, a nd 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, a nd 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.


  ()

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.


  ()

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.


  ()

Four-day, fast-moving, practical introduction to developing apps with GWT 2.1. 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.1 features!

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


  ()

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.


  ()

The Apache Hadoop software library is a framework that allows for the distributed processing of large 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.

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.