Android Programming: Developing Mobile Apps with Java

August 13-17 2012, JHU Dorsey Center, 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

This page describes the public (open enrollment) training course on Android programming to be held through at in Elkridge, MD (co-sponsored by the Johns Hopkins University Engineering for Professionals program). The entire course is personally developed and taught by leading Java developer, speaker, and author Marty Hall. No contract instructor regurgitating someone else's materials! Marty has taught Java technology courses onsite for dozens of organizations in the US, Canada, Mexico, Australia, Japan, Puerto Rico, India, and the Philippines, all to rave reviews.

If you are looking for customized training courses on Java 6 or 7, JSF 2.0, PrimeFaces, Android, Ajax, jQuery, Hadoop, GWT, Spring, Hibernate, or RESTful Web Services taught on-site at your company, please see this page.

Register Early! Five of Marty's previous public short courses were full, so reserve your spot today. Registrations are taken in the order they are received.


Course Overview

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. All exercises can be run inside Eclipse on the 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.

Marty normally runs on-site training courses at customer locations. This is easier administratively, is better for clients since the topics and schedule can be customized, and is more cost effective for students since no travel is required. However, due to demand from those who do not have enough students for an on-site course, Marty will be running a public (open enrollment) Android training course August 13-17 2012 at the Johns Hopkins Dorsey Center in Elkridge MD.

The course is developed and taught by Marty Hall, an experienced developer, award-winning instructor, popular conference speaker (5 times at JavaOne), and author of several bestselling Java books.

About the Instructor

Marty and Gosling @ Marty's car

Marty & Java inventor James Gosling at Marty's car.

Marty Hall is the author of six popular Java EE books, including Core Servlets and JavaServer Pages, the all-time worldwide bestselling servlet/JSP book, published in Bulgarian, Chinese Simplified Script (Mainland China), Chinese Traditional Script (Taiwan), Czech, Greek, English, French, German, Hebrew, Japanese, Korean, Macedonian, Polish, Portuguese, Russian, and Spanish. Marty is president of coreservlets.com, a training and consulting company focusing on server-side Java technology and Rich Internet Apps with Ajax. In addition to long Java development and consulting experience, Marty has an extensive background in teaching and training, having given training courses on J2EE, JSF 2.0, GWT, and Ajax topics in Japan, Canada, Australia, the Philippines, Mexico, Puerto Rico, India, Cambodia, and dozens of US venues. A popular and entertaining speaker, Marty has spoken at conferences and user groups around the world, including Comdex, the Web 2.0 Expo, the Great Indian Developer Summit, and five times at JavaOne. Marty is also adjunct faculty in the Johns Hopkins University part-time graduate program in Computer Science, where he directs the Java and Web-related concentration areas.

Prerequisites

Android applications are written in Java, so at least moderate previous Java experience is needed. You need not be a Java expert, but you should be comfortable with basic syntax (loops, conditionals, Strings, etc.), OOP (classes, methods, constructors, interfaces, etc.), basic data structures (arrays, Lists, Maps, etc.), and how to go about creating and debugging basic Java programs. If you have never programmed in Java before, the course will definitely move too fast for you. Some previous exposure to XML is helpful but not absolutely required. No previous experience with Android or mobile apps is expected.

Venue

The course will be held at the Johns Hopkins Dorsey Center in Elkridge, Maryland. This is a modern, comfortable venue with separate computers for each student, fast internet connections, and with coffee, snacks, and meals included. Class meets from 8:30 am to 4:30 pm daily. For students who prefer to bring their own laptops, fast wifi is available, and you can email the instructor for information on installing the class software in advance.

For Maryland residents, the location is centrally located 5 minutes from BWI airport and has plenty of free parking. For out-of-town students, there are many hotels within 1 mile.

Registration

The five-day course costs $2395 per student and includes an extensive course notebook, a commercial textbook, exercises, exercise solutions, breakfast, snacks, and lunch. Compare this price to courses from Sun, Learning Tree, GlobalKnowledge, and Oracle University that cost around $2400 for four-day courses and $3000 for five-day courses that do not include textbooks or meals. Besides, those courses almost always use an unknown instructor who did not develop the course materials and often lacks significant real-world development experience.

To register, fill out and send in the course registration form. Space is limited: five previous offerings of coreservlets.com courses were full. Bonus: Register at least a week in advance and get a $50 gift certificate from amazon.com.

Questions and More Info



  • Guinea pigs? No! Marty's courses are well-tested, having been taught in 8 countries and dozens of US venues. We don't use your developers as guinea pigs for new materials.
  • Regurgitation? No! Marty developed all his own materials. No contract instructor regurgitating memorized PowerPoint slides.
  • Green? No! Marty is an experienced developer, and is the author of 6 popular Java EE texts from Prentice Hall. The course gives best practices and real-world strategies. No newbie instructor dodging tough questions.

Syllabus

Here is the tentative syllabus, based on earlier Android courses taught by Marty. The topics will probably change slightly between now and Fall 2012.

  • Introduction and overview. Pros and cons.
  • Installation, setup, and getting started.
  • Android Programming Basics
  • Widget Event Handling
  • Widgets I: Buttons and Similar Clickable Widgets
  • Widgets II: Spinners (Combo Boxes)
  • Layouts: Organizing the Screen
  • Coding Style: The Official Android Conventions
  • Location-Based Services
  • Intents Part I: Invoking Activities by Class Name
  • Intents Part II: Invoking Activities with URIs
  • Intents Part III: Invoking Activities with Tabbed Windows
  • Localization and Resources
  • Handling Screen Rotations and App Restarts
  • Google Map Components
  • Networking I: General Techniques
  • Networking II: HTTP and JSON Techniques
  • Multithreaded Programming Part I: General Techniques
  • Multithreaded Programming Part II: Android-Specific Techniques
  • 2D Graphics, Canvas, and Animation