Learning Java: Designing and Developing Business Applications
New! February 28 - March 4, 2005
Duration: 5 days
Price: $18,500 for up to 12 students. Additional students: $750 each. Price includes all course materials and texts. Instructor travel and lodging are extra.
Course Description
"Learning Java" is an introduction to Java programming that also provides a background in other design and development skills that are essential for effective Java development. This course focuses on the core Java 2 Platform, but it goes beyond simple Java syntax and library classes to demonstrate how Java development fits within an object-oriented development project. Most students are involved in web-based application development for enterprise applications in their work place, so we introduce widely used framework technologies, including Struts (web application framework), JDBC (database API), and Hibernate (OO-to-relational persistence framework). This enables new Java developers to achieve initial competency in object-oriented design and core Java programming, while also gaining an understanding of frameworks that are often used for Java web applications.
Design issues are covered at various levels, including system architecture, class design, programming style, and Java language idioms. The goal is to learn to think in truly object-oriented terms, so that low-level coding takes place within a larger conceptual understanding of the complete application. This approach leads to better quality code that is more likely to meet business requirements. The design portion of the class teaches the Responsibility-Driven Design approach, developing information holders, structurers, service providers, controllers, and coordinators. The objects are placed in a consistent fashion in an application architecture that is appropriate for interactive information systems that students typically encounter at their jobs.
Course Objectives
At the conclusion of this course, the student will be able to develop Java classes that fit within a larger web-based application, including the ability to:
Course Topics
Getting started with Java
Object-oriented design
The Java Language
Error Handling
Input/Output
Concurrency
Web Applications
Instructional Methods
Lectures, including demonstrations of sample code, introduce each topic and set the context for the exercises. Students work individually on the exercises, practicing the new concepts by developing incremental functionality with the instructor providing individual assistance as needed. For most of the exercises, the student is given a base of code that needs to be enhanced with new components or fixed within existing code. Therefore, the student is exposed to many samples of code, enabling the student to focus on the particular development topic of immediate interest, while viewing a wide variety of code that serves as a model for future work. Each exercise is followed by an instructor-led review in which difficult areas are discussed and best practices are summarized. This learning cycle of lecture, exercise, and review is repeated throughout the day in 1 - 2 hour periods.
Who Should Attend
This course is intended primarily for software developers who are about to start developing in Java or who already have limited Java experience gained from self study. Most students already have experience in some other language, such as VisualBasic, C, or C++. Some students already have some Java experience, but they take this course in order to get a better understanding of the object-oriented concepts that are essential for using Java effectively in a corporate environment. Database administrators also attend the class, especially if they are involved in writing stored procedures and want to become more involved in the full software development effort. Technical managers who want a better understanding of Java technology and Java development techniques also benefit from this course.
Prerequisites
No previous Java development or object-oriented experience is required. However, the student must have some software development experience, using any programming language or scripting environment. For example, students should already understand basic programming concepts, such as variables, control flow (e.g. if-then-else statements and 'for' loops), and arrays. Students who already have expertise in a particular topic, such as OO design, relational databases, or web page development, will be given additional exercises, so that they can explore those topics in more detail from a Java perspective.
Student Materials
Each student will receive:
Course Author
Jim Tyhurst, Ph.D. is a consultant who has been developing enterprise applications in Java for the past 7 years with an additional 14 years of software engineering experience before that. In addition to consulting full-time, Jim has taught undergraduate information technology courses through the University of Phoenix. Jim holds a Ph.D. in Linguistics from UCLA, where he received a W. M. Keck Research Grant for his work on computational models of semantic representations for English.
For additional information, please contact us: training@wirfs-brock.com