As urban planning moves from a centralized, top-down approach to a decentralized, bottom-up perspective, our conception of urban systems is changing. In Cities and Complexity, Michael Batty offers a comprehensive view of urban dynamics in the context of complexity theory, presenting models that demonstrate how complexity theory can embrace a myriad of processes and elements that combine into organic wholes. He argues that bottom-up processes -- in which the outcomes are always uncertain -- can combine with new forms of geometry associated with fractal patterns and chaotic dynamics to provide theories that are applicable to highly complex systems such as cities. Batty begins with models based on cellular automata (CA), simulating urban dynamics through the local actions of automata. He then introduces agent-based models (ABM), in which agents are mobile and move between locations. These models relate to many scales, from the scale of the street to patterns and structure at the scale of the urban region. Finally, Batty develops applications of all these models to specific urban situations, discussing concepts of criticality, threshold, surprise, novelty, and phase transition in the context of spatial developments. Every theory and model presented in the book is developed through examples that range from the simplified and hypothetical to the actual. Deploying extensive visual, mathematical, and textual material, Cities and Complexity will be read both by urban researchers and by complexity theorists with an interest in new kinds of computational models. Sample chapters and examples from the book, and other related material, can be found at http://www.complexcity.info