Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Coursera

Programming with Python for Social Scientists

via Coursera

Overview

AI, Data Science & Cloud Certificates from Google, IBM & Meta — 50% Off
One plan covers every Professional Certificate on Coursera. 50% off Coursera Plus Annual for 10 days only — price increases June 17.
Unlock All Certificates
This course introduces social scientists to the power of programming, focusing on using Python to enhance social science research. Learn to write code that aids data collection, analysis, and visualization, applying it to real-world social science problems. Through practical coding exercises, you’ll gain the skills to structure and manage data, build useful objects, and work with APIs and web scraping tools. You will also delve into research-specific applications such as text file manipulation and social media data collection. What makes this course stand out is its unique approach—blending theory with hands-on practice, using Python as a tool for data-driven social science research. You’ll be equipped with the skills to turn programming knowledge into actionable insights for social science work. This course is ideal for social scientists, researchers, and students looking to improve their coding and data handling skills. A basic understanding of social science research and programming concepts will be beneficial but not mandatory. This course is based on the book, Programming with Python for Social Scientists, by Phillip D. Brooker. Copyright ©2020 by Sage Publications Limited. All rights reserved, including rights for text and data mining and training of artificial technologies or similar technologies. Published by Sage Publications Limited, London. Used by arrangement with Sage Publications Limited.

Syllabus

  • Introduction
    • This module introduces the unique intersection of Python 3 programming and social science research, highlighting why Python is particularly suited for social scientists. Learners will explore the motivations behind this course, the limitations of existing resources, and the foundational concepts that will guide their programming journey. By the end, participants will understand the course's aims and how Python can empower their research workflows.
  • What Is Programming? And What Could it Mean for Social Science Research?
    • This module introduces the foundational concepts of programming within the context of social science research, emphasizing the interplay between technical tools and methodological rigor. Learners will explore how digital data analysis requires sensitivity, critical thinking, and interdisciplinary approaches. The module also highlights the importance of reflexivity and workflow design in conducting robust digital research.
  • Programming-as-Social-Science (Critical Coding)
    • This module explores how programming intersects with social justice, emphasizing ethical coding practices and the societal impact of technology. Learners will investigate real-world examples of coding for social change and consider how Python can be used to address systemic biases. The module also introduces foundational ethical considerations for integrating programming into social science research.
  • Setting Up to Start Coding
    • This module introduces the essentials for beginning Python programming, including installing Python, navigating the Python shell, and using comments to write clear, maintainable code. Learners will gain hands-on experience setting up their coding environment and understanding foundational coding practices.
  • Core Concepts/Objects
    • This module introduces foundational Python programming concepts, including variable types, mathematical operations, and conditional logic. Learners will practice manipulating data, performing calculations, and controlling program flow using IF/ELIF/ELSE statements. By the end, you'll be able to write basic Python scripts that make decisions based on logical conditions.
  • Structuring Objects
    • This module introduces Python's core data structures—lists, dictionaries, tuples, and strings—emphasizing their methods and practical uses in organizing and manipulating data. Learners will gain hands-on experience with common operations, slicing, and formatting techniques to efficiently manage collections and text in Python programs.
  • Building Better Code with (Slightly) More Complex Concepts/Objects
    • This module introduces key Python programming concepts such as functions, variable scope, loops, and list comprehensions. Learners will practice writing and applying these constructs to automate tasks and manipulate data efficiently. Through hands-on exercises, you'll gain practical skills for building more robust and reusable code.
  • Building New Objects with Classes
    • This module introduces the fundamentals of creating and managing custom classes in Python. Learners will discover how to construct classes, instantiate objects, and utilize class-based structures for effective data management. Practical examples will help solidify understanding of object-oriented programming concepts.
  • Useful Extra Concepts/Practices
    • This module introduces practical Python skills such as installing and importing modules, managing code execution timing, and creating user-friendly script interfaces. Learners will also explore best practices for documenting code and scheduling automated tasks. By the end, you'll be able to enhance your Python scripts for greater efficiency and usability.
  • Designing Research That Features Programming
    • This module guides learners through the structured planning and design of research projects that integrate programming within social science contexts. You will explore practical frameworks, iterative development strategies, and adaptive planning techniques to effectively manage and execute coding-based research. Emphasis is placed on both theoretical considerations and real-world challenges encountered during project implementation.
  • Working with Text Files
    • This module introduces the fundamentals of handling text files in Python, including reading, writing, and managing files across directories. Learners will gain practical skills in manipulating file data and understanding string literals for effective data processing. Real-world applications and project ideas are also discussed to contextualize these techniques.
  • Data Collection: Using Social Media APIs
    • This module guides learners through the process of authenticating and connecting to the Twitter API using Python, retrieving social media data, and managing rate limits for scalable data collection. Learners will gain hands-on experience in setting up developer credentials, writing scripts to access and store Twitter data, and understanding the importance of API documentation. By the end, participants will be equipped to build and extend their own social media data collection tools.
  • Data Decoding/Encoding in Popular Formats (CSV, JSON and XML)
    • This module introduces techniques for retrieving, decoding, and encoding data in widely-used formats such as CSV, JSON, and XML. Learners will practice accessing datasets from the web, manipulating them with Python, and extracting meaningful insights relevant to social science research. By the end, you'll be equipped to handle diverse data sources and formats for your own projects.
  • Data Collection: Web Scraping
    • This module introduces learners to the fundamentals of web scraping using Python, focusing on inspecting HTML, extracting data with BeautifulSoup, and cleaning the collected information. Through practical examples, students will gain hands-on experience in retrieving and preparing real-world web data for analysis.
  • Visualising Data
    • This module introduces learners to data manipulation with Pandas and data visualization using Matplotlib in Python. You will practice creating and formatting visual representations of complex datasets, and reflect on the broader implications of how data is presented. By the end, you'll be able to generate, customize, and save insightful visualizations for real-world data analysis.
  • Conclusion: Using Your Programming-as-Social-Science Mindset
    • This module wraps up your journey by focusing on best practices for sharing code, documenting your work, and communicating complex programming concepts to diverse audiences. You'll learn how to present your programming projects effectively within the social sciences and foster collaboration through clear documentation and writing.

Taught by

Sage Instructors

Reviews

Start your review of Programming with Python for Social Scientists

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.