|
ABOUT THE INSTRUCTOR
COURSE REVIEWS JSF 2.0, MYFACES, & PRIMEFACES AJAX (w/ JQUERY, HTML5, ETC.) JAVA 6 & 7 PROGRAMMING ANDROID PROGRAMMING GWT INTERMEDIATE SERVLETS & JSP SPRING FRAMEWORK HIBERNATE & JPA ADVANCED SERVLETS & JSP JAKARTA STRUTS 1.x & STRUTS 2 SCWCD IPHONE PROGRAMMING CUSTOMIZED ON-SITE PUBLIC TRAINING SCHEDULE
APACHE TOMCAT
6 APACHE TOMCAT 7 JAVASERVER FACES (JSF) JSF 1.x JSF 2.0 INTERMEDIATE SERVLETS & JSP ANDROID PROGRAMMING AJAX & GWT JAVASCRIPT & AJAX BASICS PROTOTYPE SCRIPTACULOUS JQUERY DOJO GWT 2.1 JAVA 6 & 7 PROGRAMMING HTML 5 ADVANCED SERVLETS & JSP SPRING HIBERNATE & JPA JAKARTA STRUTS EJB3 WEB SERVICES WITH AXIS2 SCWCD TUTORIALS IN CHINESE TUTORIALS IN JAPANESE
|
Java 6 Programming: A Crash CourseFebruary 28 — March 4 2011, JHU Dorsey Center, Elkridge MD
|
|||||||||||
| This class is now over. Next public versions are tentatively set for Spring 2012 at the same Johns Hopkins location in Maryland. In the meantime, please contact hall@coreservlets.com for information on a customized onsite version at your location. Lower price, more convenient for your developers, and customizable content. |
|---|
“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.”
This page describes the public (open enrollment) training course on Java programming to be held through at the Johns Hopkins Dorsey Center 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
Java is the world's most popular and widely-applied programming language, but it is large, complex, and sometimes difficult to get started with. This course gives a practical, hands-on introduction to programming with Java 6, the latest version of the language. It provides thorough coverage of the the foundational Java topics: basic syntax, object-oriented programming, and core data structures; it also gives a fast-moving survey of some of the most important libraries: graphical user interfaces, multithreaded applications, network programming, serialization, and database access. 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 that use Java 6 and Eclipse 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.
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) Java 6 training course February 28 through March 4 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 & 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
The course consists of an approximately equal mixture of lecture and hands-on lab time. The course assumes that all students are experienced programmers in some language: this is not a course for first-time programmers. Experience with C, C++, C#, or Objective-C is particularly helpful.
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
|
|
Syllabus
Course now includes an introduction to database access with JDBC
Introduction to and Overview of Java
- Truths / Myths About Java
- Java is Web-Enabled?
- Java is Safe?
- Java is Cross-Platform?
- Java is Simple?
- Java is Powerful?
- Java Versions and Application Areas
- Standard Edition
- Enterprise Edition
- Micro Edition (and Android Edition)
Java with Eclipse: Setup and Getting Started
- Installing Java
- Installing and configuring Eclipse
- Importing sample projects
- Executing simple desktop programs
- Executing applets
Basic Java Syntax
- Creating, compiling, and executing simple Java programs
- Accessing arrays
- Looping
- Indenting code
- Using if statements
- Comparing strings
- Building arrays
- One-step process
- Two-step process
- Multidimensional arrays
- Performing basic mathematical operations
- Reading command-line input
Basic Object-Oriented Programming in Java
- Similarities and differences between Java and C++
- Object-oriented nomenclature and conventions
- Instance variables (data members, fields)
- Methods (member functions)
- Constructors
- Destructors (not!)
Object-Oriented Programming in Java: More Capabilities
- Overloading
- Designing "real" classes
- Inheritance
- Quick intro to advanced topics
- Abstract classes
- Interfaces
- Understanding polymorphism
- Setting CLASSPATH and using packages
- Visibility modifiers
- Creating on-line documentation using JavaDoc
Applets and Basic Graphics
- Applet restrictions
- Basic applet and HTML template
- The applet life-cycle
- Customizing applets through HTML parameters
- Methods available for graphical operations
- Using try/catch blocks
- Loading and drawing images
- Controlling image loading
More Java Syntax and Utilities
- Mutating vs. returning results
- Data structures
- ArrayList
- LinkedList
- HashMap
- Generics
- printf
- varargs
- String vs. StringBuilder
Asynchronous Event Handling
- General event-handling strategy
- Handling events with separate listeners
- Handling events by implementing interfaces
- Handling events with named inner classes
- Handling events with anonymous inner classes
- The standard AWT listener types
- Subtleties with mouse events
AWT Components
- Basic AWT windows
- Creating lightweight components
- Closing frames
- Using object serialization to save components to disk
- Basic AWT user interface controls
- Processing events in GUI controls
Organizing Windows with Layout Managers
- How layout managers simplify interface design
- Standard layout managers
- Positioning components manually
- Strategies for using layout managers effectively
Drawing with Java 2D
- Drawing Shapes
- Paint Styles
- Transparency
- Using Local Fonts
- Stroke Styles
- Coordinate Transformations
- Requesting Drawing Accuracy
GUIs: Basic Swing
- New features
- Basic approach
- Starting points
- JApplet, JFrame
- Swing equivalent of AWT components
- JLabel, JButton, JPanel, JSlider
- New Swing components
- JColorChooser, JInternalFrame, JOptionPane, JToolBar, JEditorPane
- Other simple components
- JCheckBox, JRadioButton, JTextField, JTextArea, JFileChooser
GUIs: Advanced Swing and MVC
- Building a simple static JList
- Adding and removing entries from a JList at runtime
- Making a custom data model
- Making a custom cell renderer
Multithreaded Programming
- Why threads?
- Basic approach
- Make a task list with Executors.newFixedThreadPool
- Add tasks to the list with tasks.execute
- Two variations on the theme
- Separate instances of Runnable
- One instance of Runnable
- Race conditions and synchronization
- Helpful Thread-related methods
- Advanced topics in concurrency
Multithreaded Graphics and Animation
- Approaches for multithreaded graphics
- Redraw everything in paint
- Have routines other than paint draw directly on window
- Override update and have paint do incremental updating
- Double buffering
- Reducing flicker in animations
- Implementing double buffering
- Animating images
- Controlling timers
Network Programming: Clients
- Creating sockets
- Implementing a generic network client
- Parsing data
- StringTokenizer
- String.split and regular expressions
- Retrieving files from an HTTP server
- Retrieving Web documents by using the URL class
Network Programming: Servers
- Steps for creating a server
- A generic network server
- Accepting connections from browsers
- Creating an HTTP server
- Adding multithreading to an HTTP server
Network Programming: Using Serialization to Send High-Level Data Structures
- Idea
- Requirements
- Steps for sending data
- Steps for receiving data
Accessing Databases with JDBC
- Overview of JDBC technology
- JDBC drivers
- Seven basic steps in using JDBC
- Using JNDI with JDBC
- Retrieving data from a ResultSet
- Using prepared and callable statements
- Handling SQL exceptions
- Submitting multiple statements as a transaction
Too few developers for
onsite courses? Try
our public courses in MD,
co-sponsored by Johns
Hopkins "Engineering
for Professionals":
Android Programming:
Mobile Apps in Java
August 13-17 2012
JSF 2.0 & PrimeFaces:
Web Apps in Java
August 20-24 2012
Java 7 Programming:
A Crash Course
August 27-31 2012
Rich Internet Apps
with Ajax & jQuery
September 10-14 2012
Spring: Simplifying
Java Applications
September 17-21 2012
Java Persistence with
Hibernate & JPA
April 11-15 2011
RESTful & SOAP-based
Web Services in Java
October 29-31 2012
Courses at
YOUR Location
• Customized content
• Flexible dates
• Any country
CEU's Now Available
You can get CEU's
for onsite courses.
Courses can be
offered directly from
accredited college.



