Through combining theoretical models and empirical data, complexity science has increased our understanding of social behavior of animals, in particular of social insects, primates, and fish. What are missing are studies of collective behavior of huge swarms of birds. Recently detailed empirical data have been collected of the swarming maneuvers of large flocks of thousands of starlings (Sturnus vulgaris) at their communal sleeping site (roost). Their flocking maneuvers are of dazzling complexity in their changes in density and flock shape, but the processes underlying them are still a mystery. Recent models show that flocking may arise by self-organization from rules of co-ordination with nearby neighbors, but patterns in these models come nowhere near the complexity of those of the real starlings. The question of this paper, therefore, is whether such complex patterns can emerge by self-organization. In our computer model, called StarDisplay, we combine the usual rules of co-ordination based on separation, attraction, and alignment with specifics of starling behavior: 1) simplified aerodynamics of flight, especially rolling during turning, 2) movement above a "roosting area" (sleeping site), and 3) the low fixed number of interaction neighbors (i.e., the topological range). Our model generates patterns that resemble remarkably not only qualitative but also quantitative empirical data collected in Rome through video recordings and position measurements by stereo photography. Our results provide new insights into the mechanisms underlying complex flocking maneuvers of starlings and other birds.