[29] On August
9,1961, NASA contracted with the MIT Instrumentation Lab for the
design, development, and construction of the Apollo guidance and
navigation system, including software. The project manager for
this effort was Milton Trageser, and David Hoag was the technical
director11. MIT personnel generally agree that they were
chosen because their work on Polaris proved that they could handle
time, weight, and performance restrictions and because of their
previous work in space navigation12. In fact, the Polaris team was moved almost intact
to Apollo13. Despite their experience with aerospace computers,
the Apollo project turned out to be a genuine challenge for them.
As there were no fixed specifications when the contract was
signed, not until late 1962 did MIT have a good idea of Apollo's
requirements14. One of the MIT people later recalled that

If the designers had known then [1961]
what they learned later, or had a complete set of specifications
been available...they would probably have concluded that there was
no solution with the technology of the early
1960s15.

Fortunately, the technology improved, and
the concepts of computer Science applied to the problem also
advanced as MIT developed the system.

[30] NASA's
relationship with MIT also proved to be educational. The Apollo
computer system was one of NASA's first real-time, large scale
software application contracts16. Managing such a project was completely outside the
NASA experience. A short time after making the Apollo guidance
contract, NASA became involved in developing the on-board software
for Gemini (a much smaller and more controllable enterprise) and
the software for the Integrated Mission Control Center. Different
teams that started within the Space Task Group, later as part of
the Manned Spacecraft Center in Houston, managed these projects
with little interaction until the mid-1960s, when the two Gemini
systems approached successful completion and serious problems
remained with the Apollo software. Designers borrowed some
concepts to assist the Apollo project. In general, NASA personnel
involved with developing the Apollo software were in the same
virgin territory as were MIT designers. They were to learn
together the principles of software engineering as applied to
real-time problems.