Catalyze

Network Consulting Services

Our networking consultants are available for on-site contracting for the design and implementation of software for networking protocols. Our consultants assist your teams with analysis, design, and implementation of software networking protocols. We will enhance your team's skills while ensuring the success of your project.

Contents

©1996, 1997, 1998, 1999 Catalyze. All rights reserved.

Object Technology Consulting Services

At Catalyze we believe the key to success is simple: good design and sound management practices, integrated with a focus on the economic benefits of technology. Our consultants combine iterative development with business and technical risk analysis to ensure your systems meet your business objectives. We have helped our customers build management information systems, client/server systems, real-time systems, and systems for the financial, health care, telecommunications, aerospace, and software tool industries.

We offer on-site consulting to accelerate the technology transition. Our consultants assist your teams with analysis, design, implementation, and project management. We will enhance your team's skills while ensuring the success of your project.

Contents

©1996 thru 2008 Catalyze. All rights reserved.


Design & Implementation Assessement

Assessments are management tools to mitigate the risk and optimize the success of your projects. Catalyze can assist you by providing independent review, verification and validation at all stages of your software development process.

Why Have An Assessment?

Software assessment can help you:

An outside review can help you: Our range of assessment services will help you answer the following questions:

Software Design Review

Business Object Model Review

Process Assessment

How Is The Work Performed?

A typical assessment of the software design for a development team of 10-20 people, might run like this: You provide the consultant with some background material. Following that, there might be 2 or 3 days onsite performing an intense series of design reviews of key subsystems. Next follows 7 or 8 days offsite doing further study, phone and email conversations going deeper into various areas, and preparing the final report, which is delivered onsite. Obviously, the actual process for any particular assessment is tailored to fit your exact needs.

What Are The Results?

An assessment like the one described above would result in a written report documenting specific findings and making concrete recommendations for improvement. These reports often run about 70 pages, 10% boilerplate, and 90% specific to the particular project and design. Samples are available upon request.

Contents

©1996 thru 2008 Catalyze. All rights reserved.


Mentoring

Mentoring is another management tool to mitigate the risk and optimize the success of your projects.

Transfer of object oriented design skills is challenging. Training is necessary. But training goes just so far. There is typically a huge gap between the skill level obtained by the end of a 4 day course and the skill level needed to complete a real project using these advanced technologies.

Mentoring is a way to bridge that gap.

Why Use Mentoring?

Mentoring can help you

How Is The Work Performed?

The mentor is added as a temporary member of your team.

Consider two ends of a spectrum:

At one end, you emphasize technology transfer. Learning and skill building for your team is paramount. The mentor guides, explains, critiques, shows alternatives, etc. The mentor lets the team struggle with new problems, to a controlled extent. Struggling is part of the learning experience. The mentor never pushes the team to designs that are beyond their ability to completely understand and evolve. At the end of the mentorship, it is likely that the team is able to do a design of similar complexity and quality, without the mentor.

Close to the other end, you emphasize shipping a product. Delivery is paramount. The mentor drives the team through the design process. Same process as above. But, to keep to the schedule, the mentor will actively eliminate false paths, direct people to a proper path, and provide enough suggestions and prodding to push the team toward a good design as fast as necessary to keep on schedule (yet also avoiding the precipice of taking ownership of the design). If the mentor was required to push really hard, there may be a much lower likelyhood that the team will be able to do a design of similar complexity and quality, without the mentor.

Typically, the mentor's involvement is intense up front, and then tapers off. Participation is often less than full-time. The amount of participation depends dramatically on your business goals, the magnitude of your problem, and where you wish to be on the above spectrum.

In any case, one of the mentor's goal is to lead the team and design to a solid footing so that participation by the mentor is no longer required.

What Are The Results?

The key factors to success are

When the above conditions are met, everybody has fun, learns a lot, and acomplishes an enormous amount of good work.

Testimonials are available upon request :-)

Contents

©1996 thru 2008 Catalyze. All rights reserved.

Java Training

Our Java courses cover the spectrum, starting with Java Programming Fundamentals and progressing to advanced design techniques for Java.

Courses

The lab exercises may be performed on the platform of your choice.

Contents


Java Programming Fundamentals

This intensive course introduces the programming features of Java. The course begins with an introduction to object-oriented concepts. Students learn how to build simple Java applets. Next they learn how to extend the class libraries to define new classes, and at the same time they get a comprehensive overview of the class libraries. Once the basic object-oriented techniques have been learned and practiced, the conventional aspects of the language are covered. Students build a simple application as the course progresses.

Goals

Upon completion of the course students will be able to:

Outline

Programming Exercises

This course is approximately 60% lecture and 40% lab. There are 4 major lab exercises. By the final exercise, students have completed a small application, complete with GUI interface.

Target Audience

This course is aimed at software engineers, programmers, system architects and technical managers. No previous experience of Java, or other object-oriented programming languages is required.

Duration

4 days

Java Courses

Contents

©1996 thru 2008 Catalyze. All rights reserved.


Java Programming In-Depth

This intensive course provides an in-depth treatment of GUI’s, exceptions, and threads. It starts where most Java programming courses leave off. The course provides a detailed overview of using and building Layout Managers. Students learn how to extend java.awt by using a class library based on java.awt to create a GUI for a sample application. The next module demonstrates the concepts of multi-threaded programming, and explains the implementation of Threads in Java. Finally a strategy for treating errors and exceptions systematically is presented.

Goals

Upon completion of the course students will be able to:

Outline

Programming Exercises

This course is approximately 40% lecture and 60% lab. There are 4 major lab exercises. By the final exercise, students have implemented a thread-safe queue, networking client & server, and completed a medium sized application of about a dozen classes, complete with GUI interface.

Target Audience

This course is aimed at software engineers, programmers, system architects and technical managers who have a working knowledge of Java and need an in-depth understanding of advanced programming topics. The Catalyze Java Programming Fundamentals course, or other similar course is a required pre-requisite.

Duration

4 days

Java Courses

Contents

©1996 thru 2008 Catalyze. All rights reserved.


Java For C++ Programmers

This course provides an in-depth overview of Java for C++ programmers. Students learn how to use Java as an effective alternative to C++ within the context of designing object-oriented systems. The key differences between Java and C++ are described and the students learn how design paradigms in Java and C++ differ. The course emphasizes object-oriented design concepts and their implementation in Java.

Goals

Upon completion of the course students will be able to:

Outline

Programming Exercises

This course is approximately 40% lecture and 60% lab. There are 4 major lab exercises. By the final exercise, students have implemented a thread-safe queue, networking client & server, and completed a medium sized application of about a dozen classes, complete with GUI interface.

Target Audience

This course is aimed at Software Engineers, Programmers, System Architects, and Technical Managers, with prior experience using C++ as an object-oriented programming language.

Duration

4 days

Java Courses

Contents

©1996 thru 2008 Catalyze. All rights reserved.


Advanced Object Modeling for Java

This course provides a foundation in designing object-oriented applications in Java. The basic object-oriented concepts are explained in the context of Java. A sample application is developed in class to expose the key concepts of object design in Java. Use case analysis forms a framework for the design and the Booch/Rumbaugh UML notation is used to express design decisions.

Goals

Upon completion of the course students will be able to:

  • Create a simple Java application
  • Understand the basic object-oriented concepts: abstraction, encapsulation, and inheritance
  • Understand the key features of Java: classes, packages, interfaces
  • Define requirements through Use Case analysis
  • Express key design decisions in the UML
  • Outline

    Target Audience

    This course is aimed at software engineers, programmers, system architects and technical managers, who are planning to build Java applications. It gives teams a common framework for developing Java applications. Experience with an object-oriented programming language is recommended, but no prior knowledge of Java is required.

    Duration

    4 days

    Java Courses

    Contents

    ©1996 thru 2008 Catalyze. All rights reserved.


    The Java Class Libraries: Patterns by Design

    Design patterns were successfully applied to the development of the Java class libraries. Design patterns make it easier to reuse successful designs and architectures. Expressing designs as patterns can make a system more reusable, improve documentation, and enhance communication. This course provides an in-depth overview of the Java class libraries, concentrating on the notoriously convoluted java.awt. It shows how patterns where used, and discusses any implementation trade-offs that were made. Not only do you get to understand the Java class libraries, but you learn how to use design patterns in your own development projects. In addition you learn some new patterns that the authors have found to be extremely useful in Java development.

    Goals

    Upon completion of the course students will be able to:

    Outline

    Target Audience

    This course is aimed at software engineers, programmers, system architects and technical managers interested in learning more about programming in Java, design patterns, and the Java class libraries.

    Java Courses

    Contents

    ©1996 thru 2008 Catalyze. All rights reserved.

    Object-Oriented Analysis and Design Training

    Glenn Andert and Iseult White, have an extensive background in applying OOAD methods. Prior to starting Catalyze they worked with Grady Booch at Rational Software Corporation on evolving the Booch Method. Iseult also wrote "Using the Booch Method: A Rational Approach", Benjamin Cummings, 1994.

    Courses

    Contents


    Object Modeling in the UML

    This four day course provides a foundation in object-oriented concepts, analysis, design and project management. Students learn how to identify objects in a number of simple problem domains. A sample project is developed in class to expose the steps involved in analysis and design. Use case analysis forms a framework for requirements and the UML notation is used to describe the problem domain, and to express design decisions. Students work in groups to develop a solution to a more complex domain problem. The deliverables required for object-oriented development are outlined. The course emphasizes hands-on problem solving using interactive workshops and concentrates on teaching design techniques that lead to robust systems.

    Goals

    Upon completion of the course students will be able to:

    Outline

    Target Audience

    This course is aimed at software engineers and their managers. It gives teams a common framework for developing and managing object-oriented projects.

    Prerequisites

    This course does not require any previous knowledge of object-oriented techniques.

    Duration

    4 days

    OOAD Courses

    Contents

    ©1996 thru 2008 Catalyze. All rights reserved.


    Object Modeling in Booch

    This four day course provides a foundation in object-oriented concepts, analysis, design and project management. Students learn how to identify objects in a number of simple problem domains. A sample project is developed in class to expose the steps involved in analysis and design. Use case analysis forms a framework for requirements and the Booch notation is used to describe the problem domain, and to express design decisions. Students work in groups to develop a solution to a more complex domain problem. The deliverables required for object-oriented development are outlined. The course emphasizes hands-on problem solving using interactive workshops and concentrates on teaching design techniques that lead to robust systems.

    Goals

    Upon completion of the course students will be able to:

    Outline

    Target Audience

    This course is aimed at software engineers and their managers. It gives teams a common framework for developing and managing object-oriented projects.

    Prerequisites

    This course does not require any previous knowledge of object-oriented techniques.

    Duration

    4 days

    OOAD Courses

    Contents

    ©1996 thru 2008 Catalyze. All rights reserved.


    Object Modeling in Rumbaugh

    This four day course provides a foundation in object-oriented concepts, analysis, design and project management. Students learn how to identify objects in a number of simple problem domains. A sample project is developed in class to expose the steps involved in analysis and design. Use case analysis forms a framework for requirements and the UML notation is used to describe the problem domain, and to express design decisions. Students work in groups to develop a solution to a more complex domain problem. The deliverables required for object-oriented development are outlined. The course emphasizes hands-on problem solving using interactive workshops and concentrates on teaching design techniques that lead to robust systems.

    Goals

    Upon completion of the course students will be able to:

    Outline

    Target Audience

    This course is aimed at software engineers and their managers. It gives teams a common framework for developing and managing object-oriented projects.

    Prerequisites

    This course does not require any previous knowledge of object-oriented techniques.

    Duration

    4 days

    OOAD Courses

    Contents

    ©1996 thru 2008 Catalyze. All rights reserved.

    C++ Training

    Our C++ training courses were developed by Glenn Andert. Glenn was an architect at Taligent, and has years of experience in designing large systems in C++.

    Contents


    Introduction to C++ Programming

    This course begins with an introduction to object-oriented concepts. The notions of abstraction, encapsulation, inheritance, and polymorphism are explained. Students learn how to write simple C++ programs, and then how to define and use C++ classes. Next the students learn how to use inheritance and polymorphism in C++. Once the basic object-oriented techniques have been learned and practiced the conventional aspects of the language are covered. This allows students to concentrate on the object -oriented aspects of the language without due concern for C++ syntax. The course builds up an application as the sessions progress.

    Goals

    Upon completion of the course students will be able to:

    Outline

    Target Audience

    This course is aimed at software engineers who are competent in other programming languages. It enables them to develop programs in C++. Knowledge of a high level programming language is essential. Knowledge of C is not assumed.

    Duration

    4 days

    C++ Courses

    Contents

    ©1996 thru 2008 Catalyze. All rights reserved.


    Advanced C++ Programming

    This course is aimed at deepening the professional programmers knowledge of C++. The course begins with a brief review of C++ basics. It then proceeds to cover advanced features of C++ including multiple inheritance, templates, run-time type information and exceptions. The course builds up an application as the sessions progress.

    The schedule of this course is aggressive. It begins with basic concepts and rapidly accelerates to advanced topics. Early problems are simple, later problems are quite challenging. This course is designed to push students as far and as fast as possible within the time limitations of the course.

    Goals

    Upon completion of the course students will be able to:

    Outline

    Target Audience

    C++ programmers who want to learn the advanced features of the language.

    Prerequisites

    Basic knowledge of the C++ programming language is essential.

    Duration

    4 days

    C++ Courses

    Contents

    ©1996 thru 2008 Catalyze. All rights reserved.

    Using Patterns to Design Object-Oriented Applications

    Design patterns make it easier to reuse successful designs and architectures. Expressing designs as patterns can make a system more reusable, improve documentation, and enhance communication. This course demonstrates how to apply patterns to the design and development of object-oriented applications. A number of case studies highlight different implementation choices, and show how patterns are combined to create architectures. Finally the seminar presents the Catalyze experience report on the use of patterns in real projects.

    Goals

    Upon completion of the course students will be able to:

    Outline

    Target Audience

    This course is aimed at software engineers, programmers, system architects and technical managers.

    Contents

    ©1996 thru 2008 Catalyze. All rights reserved.

    Catalyze

    History

    Catalyze was founded in December, 1993.

    Networking Mission

    We deliver design and implementation services to client firms developing networking software. Our services have been successfully delivered to leading computer companies building advanced networking technologies.

    Object Technology Mission

    We have many years of experience helping companies improve the business value of their software development investments.

    We deliver training and consulting services to client firms making the transition to or in the process of implementing object-oriented, distributed, client/server software development strategies. Our services have been successfully delivered to leading Fortune 1000 firms in the financial services, telecommunications, medical, transportation and software industries.

    Catalyze helps Fortune 1000 companies build scaleable client/server systems that meet their rapidly evolving business requirements.

    A key ingredient of success is the ability to encapsulate business rules, policies and operations in a suite of reusable services from which applications can be quickly constructed. To provide clients with the basic foundation necessary for creating such architectures, Catalyze delivers training and mentoring in object-oriented requirements, analysis, design, architecture and implementation. Catalyze has decades of experience applying these techniques to the design and construction of distributed systems and large-scale object-oriented architectures. Clients leverage this experience by utilizing Catalyze design mentoring services.

    The goal of many information technology organizations is to build a robust enterprise server platform with location transparency, information access, and scaleability. Catalyze has a deep understanding of the best available technical solutions to solve the client’s business need. It maintains and expands its knowledge through the practical experience gained by applying these technologies in a wide range of systems. Clients leverage this expertise through Catalyze mentoring services. As a result, clients can invest less precious time and resources into technology investigation and more into building business solutions.

    Catalyze helps clients use a risk driven iterative development process to deliver systems in well-defined increments that mitigate technical and business risk. The use of advanced management techniques are necessary for creating corporate-wide IT architectures. Creating such architectures is an evolutionary process that involves adapting to changing technologies and changing business requirements. Business requirements continually evolve as new applications are deployed, since users will continue to identify new ways to benefit from the system. The Catalyze iterative process allows clients to cope with changing or minimally defined requirements and adapt the architecture over time.

    Contents


    About Catalyze Partners

    For Chris Vandever's professional biography, contact chrisv@catalyze.com .

    For Glenn Andert's professional biography View Glenn Andert's profile on LinkedIn

    For Glenn Andert's blog check out glennandert.com/ .


    Contacting Catalyze

    For further information about Catalyze services, or pricing and availability, contact any of the Catalyze founders.

    Chris Vandever can be contacted at

    Glenn Andert can be contacted via his profile at

    Or contact us via U.S. Mail at

    Contents


    This page was last updated 28-May-2008.

    Learjet site

    Contents

    ©1996 thru 2008 Catalyze. All rights reserved.