The aim of this paper is to investigate the application of evolutionary approaches to the automatic design of automata in general, and Turing machines, in particular. Here, each automaton is represented directly by its state transition table and the number of states is allowed to change dynamically as evolution takes place. This approach contrasts with less natural representation methods such as trees of genetic programming, and allows for easier visualization and hardware implementation of the obtained automata. Two methods are proposed, namely, a straightforward, genetic-algolithm-like one, and a more sophisticated approach involving several operators and the 1/5 rule of evolution strategy. Experiments were carried out for the automatic generation of Turing machines from examples of input and output tapes for problems of sorting, unary arithmetic, and language acceptance, and the results indicate the feasibility of the evolutionary approach. Since Turing machines can be viewed as general representations of computer programs, the proposed approach can be thought of as a step towards the generation of programs and algorithms by evolution.