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 science by working with structured and unstructured data, querying databases, and interacting with application programming interfaces (APIs).…mehr
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 science by working with structured and unstructured data, querying databases, and interacting with application programming interfaces (APIs). Students will learn how to collect, manipulate, and exploit large volumes of available data and apply them to political and social research questions. They will also learn best practices from the field of software development such as version control and object-oriented programming. Instructors will be supplied with in-class example code, suggested homework assignments (with solutions), and material for practical lab sessions.
Josh W. Cutler began his career commercializing research at Microsoft Live Labs from 2005 to 2009. He holds a BS degree in computer science and math from UW-Madison and later pursued a PhD at Duke University, where he built predictive models analyzing conflict. He has served in leadership roles at multiple data-focused startups, and founded and led a company to acquisition. He currently leads the AI Platforms and Transformation team at Optum. Matt Dickenson is a senior software engineer at Uber, applying machine learning to transportation. He holds a BS degree in political science from the University of Houston and an MS degree in computer science from Duke University. He has taught introductory programming and data science courses and workshops at Duke University, Washington University in St. Louis, and the University of Miami.
Inhaltsangabe
Chapter 1. Getting Started With Python.- Chapter 2. Building Software.- Chapter 3. Object-Oriented Programming.- Chapter 4. Introduction to Algorithms.- Chapter 5. Introduction to Data Structures.- Chapter 6. Input, Output, and the Web.- Chapter 7. Application Programming Interfaces.- Chapter 8. Databases.- Chapter 9. NoSQL Databases.- Chapter 10. Introduction to Machine Learning with Python.- Chapter 11. Linear Programming.- Chapter 12. Practical Programming.- Chapter 13. Case Study: Image Processing.- Chapter 14. Case Study: Natural Language Processing.- Chapter 15. Conclusion.