While artificial intelligence and big data are the main topics in computational social science, the most complicated aspect is the use of computational tools to develop and explore social science theory. This course demonstrates how computer simulations can be used to explore what theoretically is possible. Computer simulations enable us to understand why societies behave the way they do and to imagine the future we want. It can feel as natural as playing a videogame. Agent-based models are used to create and manage artificial cities, much like SimCity. Computer simulations let us look at how we can make the world a better place, without causing harm to anyone. We will use several computer simulation models to explore the possibilities of combining real-world data with hypothetical models. You will then program an artificial society from the bottom up. You will be able to experience the complexity of designing social systems while also experiencing the ease with the new computational tools that allow us to tackle such difficult endeavors.