The top-down approach to understanding brain function seeks to account for the behavior of an animal in terms of biophysical properties of nerve cells and synaptic interactions via a series of progressively reductive levels of explanation. Using the fly as a model system, this approach was pioneered by Werner Reichardt and his colleagues in the late 1950s. Quantitative input-output analyses led them to formal algorithms that related the input of the fly's eye to the orientation behavior of the animal. But it has been possible only recently to track down the implementation of part of these algorithms to the computations performed by individual neurons and small neuronal ensembles. Thus, the visually guided flight maneuvers of the fly have turned out to be one of the few cases in which it has been feasible to reach an understanding of the mechanisms underlying a complex behavioral performance at successively reductive levels of analysis. These recent findings illuminate some of the fundamental questions that are being debated in computational neuroscience (Marr and Poggio, 1977; Sejnowski et al., 1988; Churchland and Sejnowski, 1992): (1) Are some brain functions emergent properties present only at the systems level? (2) Does an understanding of brain function at the systems level help in understanding function at the cellular and subcellular level? (3) Can different levels of organization be understood independently of each other? In this review we concentrate on two basic computational tasks that have to be solved by the fly, as well as by many other moving animals: (1) stabilization of an intended course against disturbances and (2) intended deviations from a straight course in order to orient toward salient objecs. Performing these tasks depends on the extraction of motion information from the changing distribution of light intensity received by the eyes.