Combinatorial group theory has a long history of computation despite the seemingly paradoxical fact that almost all problems having to do with finitely presented groups are recursively unsolvable. Many decision problems are solvable for automatic groups, word hyperbolic groups, nilpotent groups, and other well known classes. On the other hand, there are constructions of groups, Tarski monsters for example, with bizarre properties. This tutorial is devoted to the question of whether techniques from recursive function theory and model theory (such as forcing and priority arguments) which so far have not been much employed in combinatorial group theory can help to delineate the boundary between well behaved and wild groups by affording methods for constructing groups with desired properties. This question will be explored from a number of different perspectives.