|
Java Immersion Program for Whole Companies
The STAP is the industry's original Object-Oriented immersion program
Primary Goals
1. Accelerate acquisition of Java Expertise
After completing the STAP, apprentices (STAP participants) shall
be using VisualAge Java with the same proficiency and confidence
that would otherwise take six to twelve months to acquire in an
ad-hoc setting. Apprentices become experienced developers that lead
and staff future object-oriented development efforts.
2. Accelerate development of the client's medium-to large-scale
application
After completing the STAP, apprentices will have built a working
application prototype of the clients project not just a few pretty
screens and the “easy stuff4, but a portion of the actual production
code, complete with database hookups, distribution, and all the
other more difficult pieces of development. The apprentices will
possess the skills and knowledge to complete the project on their
own.Principles
- The STAP focuses on a specific client project and is customized
accordingly.
- Apprentices have successfully completed two KSC VisualAge
Java courses before the STAP and are familiar with all
other project technologies and tools.
- The STAP involves 3 apprentices.
- The typical STAP lasts 11 consecutive weeks. The location
of the STAP alternates between KSC and the client's site.
- Each STAP is directed by an experienced KSC STAP leader.
- In the last twelve years, KSC STAPs have trained hundreds
of developers. Over the years, feedback from STAP apprentices
and leaders has motivated continuous STAP improvement and refinement.
This feedback is responsible for the principles detailed
below.
The STAP focuses on a specific client project and is customized
accordingly.
- STAPs are project-focused. A successful STAP requires a specific,
well-defined project with validated requirements and documented
success criteria. STAP apprentices are most effective when working
in their own application domain with real requirements and deadlines.
- Every STAP is different because every project is different.
STAPs are tailored to emphasize those topics most valuable
to the project and apprentices.
Typical topics include:
| Object-oriented architectures
Application domain modeling
VisualAge Java debugging
Constructing user interfaces |
Interfacing with other applications
Accessing external databases
Versioning and source code control
Packaging an application for delivery |
Apprentices are encouraged to have successfully completed two KSC
VisualAge Java courses before the STAP and are familiar
with all other project technologies and tools.
Training in the basics of
object orientation and VisualAge Java is less expensive
and more quickly provided in the classroom. A lack of preparation
wastes precious STAP time and delays the project.
Many projects require enabling technologies such as relational
databases, specialized business knowledge and networking technologies.
KSC strongly recommends that the apprentices receive training and
practical experience in these technologies before the STAP begins.
The STAP involves 3 apprentices.
This number guarantees ample individual attention while assuring
satisfactory project progress. For those clients that need
to train more than three apprentices at one time, multiple STAPs
may be conducted consecutively or concurrently.
The typical STAP lasts 11 consecutive weeks. The location
of the STAP alternates between KSC and the clients site.
| Week |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
| Apprentices work with KSC site with their
KSC STAP leader |
|
|
X |
X |
|
|
X |
X |
|
|
X |
| Apprentices work at their site with their
KSC STAP leader |
X |
|
|
|
|
|
|
|
|
|
|
| Apprentices work at their site independently
|
|
X |
|
|
X |
X |
|
|
X |
X |
|
Why is the STAP less effective when held solely at the clients
site? Learning any new technology is more efficient when
continuous, uninterrupted time is available for the task; the apprentices
encounter fewer distractions when they learn at KSC. Also,
the wealth of Java and object expertise with KSC is readily
available to the apprentices when specific situations demand it.
Why does the STAP location alternate? The two-week
periods at KSC are intense learning experiences liable
to overload apprentices when sustained for much longer. Apprentices
are expected to continue project development (as directed by
their STAP leader) during the weeks away from KSC. Although
low-key and interspersed with back-in-the-office activities, this
independent work allows apprentices to internalize the Java and
object knowledge studied with KSC.
The 11-week STAP length is necessary for larger, more complex
projects. In some cases, a shorter STAP may be appropriate.
Each STAP is directed by an experienced KSC STAP leader.
- The STAP leaders goal is to ensure the success of the STAP
experience for his/her apprentices. This involves managing the
STAP project, presenting and scheduling lectures, reviewing exercises,
providing expert mentoring and support, and assisting in the Java
programming effort. STAP leaders must possess a wide range
of talents and skills.
- KSC commonly refers to each STAP leader as a STAP Master. This
reflects the strong mentoring emphasis of the STAP the STAP Master
shares much with the master craftsman.
Representative STAP Schedule
This STAP schedule applies to a distributed
VisualAge Java project using a relational database
and CORBA. Since every STAP is tailored to the specific
needs of the client and project, each clients STAP schedule may
differ
| Week 1
With STAP leader at clients site |
- Clarify requirements with client domain experts
- Model application domain
- Document the design with UML
|
| Week 2 Working
independently |
- Expand and validate design
|
| Week 3 With
STAP leader with KSC |
- Introduction to the STAP process
- Application layering fundamentals
- Review of Java fundamentals
- Team programming principles
|
| Week 4 With
STAP leader with KSC |
- Domain coding in Java
- Introduction to object testing
- Java coding style
- Threads and advanced multitasking issues
|
| Weeks 5, 6 Working
independently |
- Continue domain coding
- Continue testing and code reviews
|
| Week 7 With
STAP leader with KSC |
- User interface programming with VisualAge
- Introduction to design patterns
- Introduction to JavaBeans
- Relational database schema design from objects
|
| Week 8 With
STAP leader with KSC |
- Advanced AWT programming
- Introduction to the JDBC
- Introduction to database brokers
- Database broker layer coding
|
| Weeks 9, 10
Working independently |
- Continue user interface coding
- Continue database broker layer coding
- Continue testing and code reviews
|
| Week 11 With
STAP leader with KSC |
- Object distribution with CORBA
- Advanced object testing issues
- Object packaging issues
|
|