This course will explore how to use agent-based modeling to understand and examine a widely diverse and disparate set of complex problems. During the course, we will explore why agent-based modeling is a powerful new way to understand complex systems, what kinds of systems are amenable to complex systems analysis, and how agent-based modeling has been used in the past to study everything from economics to biology to political science to business and management. We will also teach you how to build a model from the ground up and how to analyze and understand the results of a model using the NetLogo programming language. We will also discuss how to build models that are sound and rigorous. No programming background or knowledge is required, and the methods examined will be useable in any number of different fields.