|
ABOUT THE INSTRUCTOR
COURSE REVIEWS JSF 2.0 & 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 7 Programming: A Crash CourseAugust 27-31 2012, JHU Dorsey Center, Elkridge MD
|
||||||||||
|
|
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
(Also May 21-24 in Oslo Norway)
JSF 2.0 & PrimeFaces:
Web Apps in Java
August 20-24 2012
(Also June 4-8 in Oslo Norway)
Java 7 Programming:
A Crash Course
August 27-31 2012
(Also afternoons Mar-May in MD)
Rich Internet Apps
with Ajax & jQuery
September 10-14 2012
(Also 5/29--6/1 in Oslo Norway)
Java Persistence with
Hibernate & JPA
September 17-21 2012
Spring: Simplifying
Java Applications
September 24-28 2012
October 22-26 2012
RESTful & SOAP-based
Web Services in Java
October 29-31 2012
Hadoop: Big-Data
Apps in the Cloud
November 5-9 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.




The course will be held at