Programming with Python for Social Scientists


Book Description

As data become ′big′, fast and complex, the software and computing tools needed to manage and analyse them are rapidly developing. Social scientists need new tools to meet these challenges, tackle big datasets, while also developing a more nuanced understanding of - and control over - how these computing tools and algorithms are implemented. Programming with Python for Social Scientists offers a vital foundation to one of the most popular programming tools in computer science, specifically for social science researchers, assuming no prior coding knowledge. It guides you through the full research process, from question to publication, including: the fundamentals of why and how to do your own programming in social scientific research, questions of ethics and research design, a clear, easy to follow ′how-to′ guide to using Python, with a wide array of applications such as data visualisation, social media data research, social network analysis, and more. Accompanied by numerous code examples, screenshots, sample data sources, this is the textbook for social scientists looking for a complete introduction to programming with Python and incorporating it into their research design and analysis.




Text Analysis in Python for Social Scientists


Book Description

Text is everywhere, and it is a fantastic resource for social scientists. However, because it is so abundant, and because language is so variable, it is often difficult to extract the information we want. There is a whole subfield of AI concerned with text analysis (natural language processing). Many of the basic analysis methods developed are now readily available as Python implementations. This Element will teach you when to use which method, the mathematical background of how it works, and the Python code to implement it.




Introduction to Python Programming for Business and Social Science Applications


Book Description

Would you like to gather big datasets, analyze them, and visualize the results, all in one program? If this describes you, then Introduction to Python Programming for Business and Social Science Applications is the book for you. Authors Frederick Kaefer and Paul Kaefer walk you through each step of the Python package installation and analysis process, with frequent exercises throughout so you can immediately try out the functions you’ve learned. Written in straightforward language for those with no programming background, this book will teach you how to use Python for your research and data analysis. Instead of teaching you the principles and practices of programming as a whole, this application-oriented text focuses on only what you need to know to research and answer social science questions. The text features two types of examples, one set from the General Social Survey and one set from a large taxi trip dataset from a major metropolitan area, to help readers understand the possibilities of working with Python. Chapters on installing and working within a programming environment, basic skills, and necessary commands will get you up and running quickly, while chapters on programming logic, data input and output, and data frames help you establish the basic framework for conducting analyses. Further chapters on web scraping, statistical analysis, machine learning, and data visualization help you apply your skills to your research. More advanced information on developing graphical user interfaces (GUIs) help you create functional data products using Python to inform general users of data who don’t work within Python. First there was IBM® SPSS®, then there was R, and now there′s Python. Statistical software is getting more aggressive - let authors Frederick Kaefer and Paul Kaefer help you tame it with Introduction to Python Programming for Business and Social Science Applications.




Introduction to Scientific Programming with Python


Book Description

This open access book offers an initial introduction to programming for scientific and computational applications using the Python programming language. The presentation style is compact and example-based, making it suitable for students and researchers with little or no prior experience in programming. The book uses relevant examples from mathematics and the natural sciences to present programming as a practical toolbox that can quickly enable readers to write their own programs for data processing and mathematical modeling. These tools include file reading, plotting, simple text analysis, and using NumPy for numerical computations, which are fundamental building blocks of all programs in data science and computational science. At the same time, readers are introduced to the fundamental concepts of programming, including variables, functions, loops, classes, and object-oriented programming. Accordingly, the book provides a sound basis for further computer science and programming studies.




Introduction to Computation and Programming Using Python, second edition


Book Description

The new edition of an introductory text that teaches students the art of computational problem solving, covering topics ranging from simple algorithms to information visualization. This book introduces students with little or no prior programming experience to the art of computational problem solving using Python and various Python libraries, including PyLab. It provides students with skills that will enable them to make productive use of computational techniques, including some of the tools and techniques of data science for using computation to model and interpret data. The book is based on an MIT course (which became the most popular course offered through MIT's OpenCourseWare) and was developed for use not only in a conventional classroom but in in a massive open online course (MOOC). This new edition has been updated for Python 3, reorganized to make it easier to use for courses that cover only a subset of the material, and offers additional material including five new chapters. Students are introduced to Python and the basics of programming in the context of such computational concepts and techniques as exhaustive enumeration, bisection search, and efficient approximation algorithms. Although it covers such traditional topics as computational complexity and simple algorithms, the book focuses on a wide range of topics not found in most introductory texts, including information visualization, simulations to model randomness, computational techniques to understand data, and statistical techniques that inform (and misinform) as well as two related but relatively advanced topics: optimization problems and dynamic programming. This edition offers expanded material on statistics and machine learning and new chapters on Frequentist and Bayesian statistics.




Introduction to Data Science for Social and Policy Research


Book Description

This comprehensive guide provides a step-by-step approach to data collection, cleaning, formatting, and storage, using Python and R.




A Primer on Scientific Programming with Python


Book Description

The book serves as a first introduction to computer programming of scientific applications, using the high-level Python language. The exposition is example and problem-oriented, where the applications are taken from mathematics, numerical calculus, statistics, physics, biology and finance. The book teaches "Matlab-style" and procedural programming as well as object-oriented programming. High school mathematics is a required background and it is advantageous to study classical and numerical one-variable calculus in parallel with reading this book. Besides learning how to program computers, the reader will also learn how to solve mathematical problems, arising in various branches of science and engineering, with the aid of numerical methods and programming. By blending programming, mathematics and scientific applications, the book lays a solid foundation for practicing computational science. From the reviews: Langtangen ... does an excellent job of introducing programming as a set of skills in problem solving. He guides the reader into thinking properly about producing program logic and data structures for modeling real-world problems using objects and functions and embracing the object-oriented paradigm. ... Summing Up: Highly recommended. F. H. Wild III, Choice, Vol. 47 (8), April 2010 Those of us who have learned scientific programming in Python ‘on the streets’ could be a little jealous of students who have the opportunity to take a course out of Langtangen’s Primer.” John D. Cook, The Mathematical Association of America, September 2011 This book goes through Python in particular, and programming in general, via tasks that scientists will likely perform. It contains valuable information for students new to scientific computing and would be the perfect bridge between an introduction to programming and an advanced course on numerical methods or computational science. Alex Small, IEEE, CiSE Vol. 14 (2), March /April 2012 “This fourth edition is a wonderful, inclusive textbook that covers pretty much everything one needs to know to go from zero to fairly sophisticated scientific programming in Python...” Joan Horvath, Computing Reviews, March 2015




Computational Frameworks for Political and Social Research with Python


Book Description

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.




Doing Computational Social Science


Book Description

Computational approaches offer exciting opportunities for us to do social science differently. This beginner’s guide discusses a range of computational methods and how to use them to study the problems and questions you want to research. It assumes no knowledge of programming, offering step-by-step guidance for coding in Python and drawing on examples of real data analysis to demonstrate how you can apply each approach in any discipline. The book also: Considers important principles of social scientific computing, including transparency, accountability and reproducibility. Understands the realities of completing research projects and offers advice for dealing with issues such as messy or incomplete data and systematic biases. Empowers you to learn at your own pace, with online resources including screencast tutorials and datasets that enable you to practice your skills and get up to speed. For anyone who wants to use computational methods to conduct a social science research project, this book equips you with the skills, good habits and best working practices to do rigorous, high quality work.




Big Data and Social Science


Book Description

Both Traditional Students and Working Professionals Acquire the Skills to Analyze Social Problems. Big Data and Social Science: A Practical Guide to Methods and Tools shows how to apply data science to real-world problems in both research and the practice. The book provides practical guidance on combining methods and tools from computer science, statistics, and social science. This concrete approach is illustrated throughout using an important national problem, the quantitative study of innovation. The text draws on the expertise of prominent leaders in statistics, the social sciences, data science, and computer science to teach students how to use modern social science research principles as well as the best analytical and computational tools. It uses a real-world challenge to introduce how these tools are used to identify and capture appropriate data, apply data science models and tools to that data, and recognize and respond to data errors and limitations. For more information, including sample chapters and news, please visit the author's website.