This book is intended to serve as the basis for a first course in Python programming for graduate students in political science and related fields. The book introduces core concepts of software development and computer science such as basic data structures (e.g. arrays, lists, dictionaries, trees, graphs), algorithms (e.g. sorting), and analysis of computational efficiency. It then demonstrates how to apply these concepts to the field of political...