This project is concerned with the combinatorics of 3- manifolds. Specifically, it studies Heegaard surfaces of 3- manifolds, essential maps between Haken 3-manifolds, and the outer automorphism group of Haken 3-manifold groups. Part of the work involves development of practical algorithms, e.g., for constructing surfaces of specified types in 3-manifolds. The study of 3-dimensional manifolds is aided by the fact that our experience of living in such a space endows us with a strong intuition for what can and cannot take place. Studying the topology of higher dimensional manifolds is necessarily dependent upon the algebraic machinery available to assist in it, but in dimension 3 we also have at our disposal a direct avenue of perception. It is therefore surprising to learn that some questions that have natural generalizations to higher dimensions have been answered already for these higher cases, while the 3- dimensional case that inspired them remains obdurately unassailable. There is a classical conjecture of Poincare about spheres that is the most notorious example of this phenomenon. What appears to be at work in thus violating our natural over- estimate of the advantage that geometric intuition should confer in dimension 3? It is at least partly a naive faith in intuition and mistrust of computation, but it is also the fact that the known methods of computation perform best with the luxury of excess dimensions in which to maneuver. They are somehow cramped in the presence of only three dimensions. Bearing this in mind, one can see that the investigator's nitty-gritty combinatorial constructions and algorithmic computations may just possibly be the brute force that is essential to progress in dimension 3.