Fastrak Training Inc. -- Training Software Professionals Worldwide

 

How Long Does It Take to Learn Ada?

By Eileen Steets Quann, Fastrak Training Inc.

A Common Query

As a provider of Ada training for the last seven years, we are frequently asked the same question: "How long does it take to learn Ada?"

Since this question continues to be asked, it suggests that the answer is neither obvious nor simple. I believe that the difficulty of providing a succinct answer springs from it being the wrong question. This becomes more apparent when the question is changed slightly.

Suppose I ask instead, "How long does it take to learn algebra?" Most people immediately see that the answer is "It depends." What kind of a math background do the students have? What do they need to be able to do? What kind of a mathematical aptitude do the students have? How confident are they of their ability to learn?

Concepts in algebra are taught in the middle schools and continue through advanced courses in college. When have they "learned" algebra? Depending on answers to the above questions, it could be argued that it takes between a few hours and many years.

The Students and Their Jobs

How do we answer the question about Ada? At Fastrak, we begin by asking the client two questions: "Who are your students?" "What do they need to be able to do?"

If you tell me that they have a strong background in software engineering, a solid understanding of concepts like abstraction, information hiding, and encapsulation; that they are comfortable with strong data typing, use Pascal now, are highly motivated to learn, and have good software processes already in place, I will give you one answer.

Suppose instead you say that they are high school graduates, with virtually no knowledge of software engineering concepts and little design experience; they are experienced with only one language and an old one at that (COBOL or FORTRAN). They are resistant to using a new language and will be working on a large system with poorly defined processes, addressing complex design issues. It doesn't take a rocket scientist to know that you'll get a different estimate.

While these may be the extremes in the software industry, we encounter students at both ends of the spectrum and many in the middle.

What backgrounds and experiences make Ada easier to learn? I believe that two criteria exert a bigger influence on the individual programmer's ability to learn Ada than anything else. Because Ada is an evolutionary rather than a revolutionary language, we have discovered that the people who already know several languages, regardless of what languages they are, learn Ada most quickly. They draw upon a broader experience base, and they learn quickly by analogy.

Two Kinds of Maturity

A common perception is that younger people have an easier time learning Ada than the more "mature" audiences. My observation has been that people who are accustomed to learning new things continuously, will learn more quickly. This is because they know how to learn, are not intimidated by something new, and have confidence in their ability to learn. The only "old dogs who can't learn new tricks" are the ones who think they are.

The maturity of their software organization seems to be another important factor. We have found that the higher the maturity level of the software organization, the faster and easier they learn Ada, and the more receptive they are to using it. They already understand and appreciate the importance of software engineering and process. More mature organizations also foster the learning environment, which addresses the other two criteria. (Perhaps if only Capability Maturity Model Level 3 organizations were allowed to use Ada, the answers would be much simpler.)

Other Considerations

What do they need to be able to do? Do you need software engineers to design and develop systems in Ada, or coders to implement the designs of others? Will there be someone to help them when they get stuck? Will they use sophisticated tools, or do they just need to compile and execute their programs?

What about the training media? Do you intend to use all classroom instruction, individual reading, computer-based training (CBT), on-the-job training (OJT), or some combination? Each has its strengths and drawbacks, its champions and detractors.

A Range, Not an Absolute Figure

The good news is that the answer to the Ada question has a more narrow range than the algebra question. The bad news is that, because of the state of the software industry, the limited training software developers have had in the past, and the large number of level 1 organizations, the answer is often higher than people want to hear. This is not because Ada is so difficult to learn, but because they need to learn so much before they get around to learning Ada if our goal is to grow software engineers.

Here are a few guidelines to estimate training time. Some people will claim that these are high, others will argue that they are optimistically low. The estimates are for classroom training only; CBT would be shorter but generally more expensive because of the upfront development costs, follow-on OJT with knowledgeable mentors and good documentation is assumed but not included. The ranges represent the range of skill levels, motivation, and ability of typical students. Atypical students are outside these ranges.

Figure 1 shows typical course duration for teaching various skills.

 


 

 

Subject                                                   Days

 

Software engineering concepts and process                5 -20

A new design methodology                                 4 -10

Software development tools (per tool)                    3 - 5

Basic Ada programming skills                             5 -10

Advanced Ada concepts for designing systems              5 -15

 

 Figure 1: Approximate Classroom Needs

 



 

 

The estimates are generally cumulative but may be reduced in a well-planned and well-executed training program. To define the needs of your organization, you must first answer the key questions: "Who are the students?" "What do they need to be able to do?" Your answers bound your question, "How long does it take to learn Ada?"


Return to Fastrak Training Home Page

View other Articles

Return to Fastrak Press Home Page


 

Fastrak Training Inc.