A Beginner’s Guide to Computational Methods in Social Work Research
Lately I have been getting a lot of questions from master’s and doctoral students in social work who want to learn computational methods, and often computational text analysis in particular. I am writing this down because the same questions keep coming and it is easier to answer them once here. The message is usually some version of the same thing: they already know what they study, they want to work with text or administrative records, and they cannot tell where in a program that training is supposed to come from. I assembled most of mine outside my own program, so take the parts that fit your school and leave the rest.
Traditional methods first
Before any of this, learn ordinary research methods properly. A computational study succeeds or fails on the same things any study does, whether the question is worth asking and whether the measure means what you say it means, and working at a larger scale repairs neither. If anything the scale makes the second harder, which is the argument boyd and Crawford made in 2012 and which still applies. I have a beginner’s guide to quantitative methods in social work research on this site covering the sequence I would want someone to have before they come to the computational part.
Underneath that is your epistemology. What you take evidence to be decides which questions you find worth a year of work and which data could answer them, and no amount of Python settles that for you.
Types of methods
Computational social science named itself in Science in 2009 and took stock of itself in the same journal in 2020, and Edelmann and colleagues reviewed what it had become for sociology. It is not one community, though, and the division below is my own. It comes from watching where people publish and which conferences they attend, and no established taxonomy backs it, so treat it as a rough map. If you want to check it against something other than my impression, the IC2S2 program is where I would look. The tutorials and the session program are posted every year, and both show where the field’s attention has moved. I served on that program committee in 2024, and reading submissions is most of where this division came from.
From inside, the work seems to fall into three kinds with different data and different venues, and deciding which one you are joining is more useful than deciding which technique to learn first.
Machine learning for causal inference. This kind mostly uses the ordinary quantitative tabular data we already had, and applies machine learning to identify effects better. It runs alongside econometrics and quasi-experimental design, and policy researchers are concentrated in it. The methods are things like causal forests for heterogeneous treatment effects and double machine learning for estimation with many covariates. If you care about longitudinal or intensive longitudinal data and about establishing that something caused something else, this is your area, and sociology, political science, and economics are all active in it.
Large-scale administrative data. Here computational means computation at scale, because of how much data there is. The analysis itself need not be machine learning at all and is often traditional social science method, applied to files too large for the software you learned it in. This work is close to demography and health informatics, fields that have handled census records and electronic health records for decades and have solved many of these problems already. Read their published work before you invent anything.
Unstructured data. This one is growing fastest, and large language models are the reason. Text, audio, and video that used to be treated as qualitative sources are now digitized and stored at scale, which turns them into unstructured big data, though the user id and the timestamp are still stored in an ordinary table beside them. Their size makes them good for exploratory questions, which is why social scientists have moved toward them. Methodologically this work starts in natural language processing and computer science, and Grimmer, Roberts and Stewart is the standard treatment of text as data for social scientists, while Ziems and colleagues is the reference point for using large language models as annotators. Computational text analysis is done across sociology, political science, and communication. Clinical text and medical images are a large part of health informatics.
I do not work in the first kind at all. My own work is in the second and third, and both my methods and my conferences follow from that.
Whichever direction you pick, you will not do it in SPSS or Stata, so the first step is the same either way: the basics of a programming language, and then whatever your interest requires. One warning about the first kind. Doing it well means engaging with the algorithms themselves, which takes real linear algebra. Unstructured data work can need that too, but less.
Algorithmic fairness and AI ethics
A great deal of computational work on social problems happens outside the computational social science community altogether, and the clearest case is the building of predictive models: risk algorithms for child maltreatment, for suicide, for poverty and benefit eligibility. Some of this appears at computational social science venues, but the sustained critical conversation about it happens in the algorithmic fairness community, at FAccT and EAAMO.
Most of these models were built on administrative and tabular data. Chouldechova and colleagues studied the child maltreatment screening tool used in Allegheny County, which is the case closest to social work practice. Obermeyer and colleagues showed that an algorithm used across US health systems underestimated the needs of Black patients, because it used cost as a proxy for illness. On the clinical side, Walsh, Ribeiro, and Franklin trained models on health records to predict suicide attempts. More of this work now draws on unstructured data as well, clinical notes in particular, so the boundary with the third kind is thinning.
If this is your interest, learn the first and third kinds evenly, since you need the estimation and the text handling both, and engage with the FAccT community, not only the social work one.
For anyone whose interest is AI ethics specifically, what the term covers has changed. The earlier discussion was largely about algorithmic fairness, which in practice meant predictive models and how they distribute harm. Generative AI has moved it, so keeping up now takes more than knowing how to run a language model over unstructured text. It also takes some understanding of how these models work, what agentic systems do, how the companies building them are structured and financed, and the science and technology studies literature that has been asking these questions about technology for far longer than any of us have.
Coursework and electives
Social work doctoral programs rarely teach these methods themselves, so the courses come from elsewhere in the university. Dali and Caidi, reading North American social work accreditation documents from an information science position, found technology content treated as “a bonus, not essential knowledge,” which is roughly what the course catalogs look like too.
The practical work is finding out which departments will let you in, and that answer is usually more generous than students assume.
- Read the enrollment policy of the school that teaches the course. Michigan’s School of Information says that “all University of Michigan students may participate in School of Information classes when seats are available,” which makes a course like SI 630, Natural Language Processing, available with no override at all.
- Check whether your university has a data science certificate open to every graduate student. Michigan’s MIDAS Graduate AI and Data Science Certificate is “open for enrollment to current University of Michigan graduate students from any degree-granting program.” Michigan has no certificate called computational social science, so search by what the courses teach rather than by the label you expect.
- Ask about a named track before assuming there is none. The University of Washington built a statistics track for social work doctoral students with its Center for Statistics and the Social Sciences, and Penn and Case Western both offer data analytics certificates on the master’s side. Where none exists, the program director is the person to ask.
- Audit before you enroll. A machine learning course in a statistics department assumes linear algebra and a comfort with proofs that a social work methods sequence does not build. Attend for two weeks and read the prerequisite line literally.
- Use your university’s statistical consulting unit. Michigan’s is CSCAR, at the Institute for Social Research. Most research universities have an equivalent, and doctoral students are eligible.
- Take the language first, then a course built on a project. One semester on Python or R is enough to follow along in everything after it, and a course that ends in an analysis you chose leaves you with a first project and a public repository at the same time.
Summer institutes
Two weeks in the summer is the highest-yield block of time available to a doctoral student, because it is the only format where you write code all day for long enough that it becomes ordinary.
SICSS, the Summer Institute in Computational Social Science, is the one I would apply to first. It ran at 27 partner locations in 2026, and “there is no tuition required to attend the Summer Institutes, and some locations cover the cost of travel, accommodation, and meals.” Each site sets its own deadline, and you may only apply to one at a time. All of the teaching materials are open, so you can study the curriculum whether or not you are admitted. I went to the Rutgers site in 2022 and helped organize the NYU Silver site in 2023, and with Amanda Ritchie and Marya Gwadz I evaluated what participants took away from it (Yoo et al., 2026, forthcoming in the Journal of Social Work Education, on my publications page). Across 15 participants, two weeks produced large self-reported gains in knowledge (d = 1.43), web scraping (d = 1.46), API collection (d = 1.16), and machine learning (d = 1.03), and computer anxiety fell (d = -0.74).

The ICPSR Summer Program at Michigan suits a student who wants one specific technique. The 2026 catalog included Data Science and Text Analysis in Python, Machine Learning in R, Network Analysis with no prerequisites, and a one-week Introduction to Python, all hybrid, so the Zoom option removes the housing cost. The member discount is large, a single general session running $2,725 at a member institution against $4,975 elsewhere. ICPSR also awards more than $300,000 in scholarships a year, and social work is named among the eligible disciplines, unlike most of these programs.
- The Carpentries workshops are usually free to attend, since the fee falls on the hosting institution, and the lessons are open. Data Carpentry maintains a social science curriculum, R for Social Scientists, built on survey data instead of genomics, and you can request a workshop for your own school.
- The NIH-funded summer institutes in biostatistics are not for you. Michigan’s Big Data Summer Institute and its counterparts at Boston University, Columbia, and Yale are built for undergraduates preparing for graduate school. Read the eligibility line before you spend an afternoon on the applications.
- Data Science for Social Good fellowships are the applied version of a summer institute. The University of Washington’s places fellows on a real project with a partner organization, and Coding it Forward does the same inside government agencies. They pay, and they end in a project you can show.
- Your own professional association already runs these. SSWR has offered computational workshops for several years, including an introduction to machine learning taught by Anao Zhang and one on deploying open-source language models locally that I taught with Cheng Ren and Gaurav Sinha. They are cheap, since you are already there.
Python or R
Pick one and learn it properly before you learn the second. Either will do for most purposes, though they are not interchangeable once the work is text.
Python is where the text and language toolchain lives. Transformers, spaCy, gensim, BERTopic, and scikit-learn are all Python, and if you plan to use pretrained language models at any point that is where you will be working. R is the better choice if your statistics training is already in R and your text work will be descriptive, since quanteda, tidytext, and stm cover a lot of ground and are maintained by social scientists. The choice is also not permanent, and spacyr exists so that an R user can call spaCy.
- Start in Google Colab so installation is not the thing that stops you. Colab’s FAQ says plainly that it “is free of charge to use,” and equally plainly that “access to expensive resources like GPUs is heavily restricted” and that notebooks “can run for at most 12 hours.” I wrote a beginner’s guide to Colab and a longer one that ends at Hugging Face. When you do install locally, Python’s own beginner guidance points to the standard installer, and Anaconda’s 2024 licensing change does not apply to universities.
- When Colab is not enough, look at what your university already pays for. Michigan’s Research Computing Package supplies “annual no-cost access” to the Great Lakes cluster, up to 80,000 CPU hours, usually through your advisor’s allocation. Kaggle allows 30 free GPU hours a week.
- Learn the fundamentals first, then use an AI coding assistant. Almost every participant in our evaluation used one during the two weeks, and there is no reason to work without them. What they do not supply is the programming mindset: knowing what a data structure is, what a loop is doing, why something broke, and whether the output is plausible. With text data especially, a wrong answer arrives looking much like a right one, and you need the fundamentals to catch it. Kazemitabaar and colleagues at CHI 2023 found novices given a code generator completed more tasks and scored higher without losing ground on modifying code by hand, though its participants were children aged 10 to 17. Michigan’s U-M GPT is free to all students, while the Claude Code and Codex tooling built on it is billed per token.

For the actual sequence of learning Python I have a tutorial series on this site that starts with the language itself, then pandas, then data wrangling and visualization.
Online courses
Before picking courses it helps to know which kind of data your question involves. If it already arrives in rows and columns, which is what surveys, administrative records, and claims files give you, then you need better regression far more than you need machine learning. If it arrives as text, images, or audio, most of the courses below are about the conversion into variables that has to happen first, and I would take them in roughly this order:
- Python for Everybody by Charles Severance at Michigan’s School of Information, first and regardless of what comes after. The course is free on its own site, with free certificates for Michigan affiliates, and that site is the one to use, since Coursera replaced its audit mode in 2025 with a preview that locks everything after the first module.
- A course in the kind of text you actually work with. For anyone near health or behavioral health services, Clinical Natural Language Processing from the University of Colorado, taught by Laura Wiley, is part of the Clinical Data Science specialization whose introductory course I took in 2022. It works with clinical notes rather than news articles or product reviews, which is much closer to the documents social work research actually holds.
- Machine learning, if predictive modeling is where you are going. Risk prediction, screening algorithms, and heterogeneous treatment effects all need it, so take a proper course if that is your direction. It is not a prerequisite for text analysis, and plenty of good computational work in this field never fits a predictive model at all.
- The Hugging Face LLM course once you can write Python comfortably, and fast.ai after that. Both are free.
Coursera lists financial aid on individual courses, which is easier than paying the subscription, and a large share of this material also exists as free lecture recordings on YouTube, so a paywalled syllabus is often a reading list you can follow elsewhere.
None of this requires a second degree or a certificate. You can do the whole of it through online courses and short training, and the field is unusual in how much of its material is simply given away. The standard graduate text on language processing, Jurafsky and Martin, is a free draft on a Stanford page. An Introduction to Statistical Learning is a free PDF in both its R and Python editions. Salganik’s Bit by Bit, which is the book I would give a social scientist first, has a complete free edition online. For text work in R, Text Mining with R and Supervised Machine Learning for Text Analysis in R are both open.
First projects
The mistake I see most often is waiting for the dissertation to be the first computational project. It is too large, and you would be learning the method and defending it at the same time.
A better first project is one dataset, one question, and one method, finished in a semester and presented at a conference. That is enough to teach you the parts nobody writes down, like how long collection actually takes and how much cleaning stands between the raw file and a table.
Small samples are not a disqualification. Participants in our evaluation raised this repeatedly, since organizational and clinical research in social work often has a few hundred units rather than a few million, and the honest answer is that most text methods are indifferent to it. Topic models and classifiers want many documents, not many people, so 200 clients with long case notes is a text corpus. Sentiment scoring, dictionary methods, and readability measures work on any n. Where sample size does matter is prediction, and a first project is not the place for a prediction model anyway.
If the data is text, the order I would work in is the boring one: count the words, then look at which words appear together, then measure something on each document, then model structure. Word frequencies after stopword removal will tell you within an hour whether the corpus contains what you think it contains, and I have abandoned more than one idea at that stage.
Data access
Two different problems both go by this name, and they have opposite answers.
The first is finding something to practice on, and there the answer is to collect nothing at all. Use data that already exists and is already clean, so the method is the only thing you are learning. I keep two posts for this, one on finding secondary datasets and one on health and mental health services datasets, and ICPSR downloads are unlimited at member institutions. For text, Hugging Face lists over a million datasets and Kaggle holds a large catalogue of its own. With a corpus somebody else has cleaned, none of your time goes into collection, and collection is most of the time on a real project.

The second problem is collecting data for a study you intend to publish, and there the route depends on which kind of data the question needs.

Structured data is a matter of finding the right holding rather than collecting anything. ICPSR is unlimited at member institutions, the Census API covers ACS and decennial tables and has a Python route I have written up, and federal agencies publish provider and facility files directly, which is where the directories behind my own workforce papers came from.
Semi-structured and unstructured data you either collect or apply for, and there are three routes.
- Platform APIs, which are the easiest start. The YouTube Data API is free, needs only a Google account and a key, and returns the comments under any public video. It is how I have collected most of the fandom data I work with, and there is a write-up on this site.
- Archives and licensed collections, which cover what the platforms no longer hand out directly. Michigan hosts the Social Media Archive at ICPSR, which is where Meta platform data now lives for researchers, and Reddit runs a researcher program that takes an application with IRB documentation.
- Web scraping, for anything with a public page and no API, which in this field means provider directories, agency websites, and government records.
Watch for two recent changes that catch people out. Pushshift, which most published Reddit research used, is now restricted to moderators, and the X API has no free tier.
Health data requires credentialing before any download. MIMIC needs CITI training and a signed use agreement, and All of Us needs a registered account, supplies $300 in cloud credits, and suppresses any count between 1 and 20.
Advisors and committees
Most social work doctoral students who want these methods do not have an advisor who uses them. In our focus groups this came up more than any other barrier, described as a shortage of faculty with the experience and small cohorts where nobody else is working this way.
I would not treat that as a reason to change advisors. Your advisor is mentoring you on the substance of the research, which is the part that determines whether the study is worth doing, and that does not require them to write Python. I would instead add a methodologist to the dissertation committee, from the statistics department, the information school, sociology, or biostatistics, and do it early enough that they affect the design. Committee composition is one of the few pieces of doctoral machinery you genuinely control.
Around the committee, the other sources are more available than they look.
- Cold email works. Most people say yes to a short specific question from a doctoral student.
- Data librarians are paid to answer exactly this kind of question, and are almost always underused.
- Statistical consulting units take doctoral students, and most research universities have one.
- The peer network from a summer institute lasts, and it is part of what those two weeks buy you.
Portfolio
Every project should end with a public repository, and this is the habit that compounds fastest. Kesari and colleagues, writing about training computational social science doctoral students, put “legible and reproducible code” in public view as one of three pillars alongside skills and community, and it is the pillar that a social work student is least likely to be told about.
- Put the code on GitHub, and archive it somewhere else as well. Science’s policy gives the reason plainly: “Because GitHub libraries may be modified later by authors in ways that could complicate reproducibility, any code stored on that site should be archived in its current form in a permanent public repository ahead of publication.” NYU’s library guidance names the destination, that “Zenodo is currently the best repository for storing research code,” and the GitHub to Zenodo integration issues a DOI for each release, which makes the code citable on your CV.
- Start writing papers early. The repository shows the skill, and a search committee counts the paper. Writing also tends to expose which parts of an analysis were never actually finished.
- Treat a dataset as a product. If you have harmonized something that did not exist before, deposit it and cite it. Mine are on openICPSR, and they took a fraction of the effort the underlying papers did. Universities increasingly ask for this, and most now have an institutional repository for it, Michigan’s being Deep Blue.
- Publish the tool separately when it is reusable. A cleaning script is not a package, but a procedure other people need is. I put one on PyPI after writing the same audit three times.
- Read the code policy of the journal you are targeting, because they differ more than you would expect. JSSWR says only that “authors may be asked to provide data or syntax code for review,” while Science requires that code be archived in a permanent public repository before publication. If your work is NIH-funded, the Data Management and Sharing Policy has applied since January 2023 regardless of what the journal asks.
Journals and conferences
Computational social work has no journal of its own, so the work goes to one of three kinds of place.
- Social work journals that take methods-forward papers, principally the Journal of the Society for Social Work and Research and the Journal of Technology in Human Services.
- Health informatics and digital health, where the JMIR family publishes quickly and openly at an article processing charge above $2,500.
- Computational social science journals, among them EPJ Data Science, Journal of Computational Social Science, and Big Data and Society.
Conferences are where the norms differ most from what a social work doctoral student is trained to expect, and the differences are better learned before you submit than after.
- IC2S2 is the main annual computational social science meeting, and it works on abstracts with no archival proceedings, so a talk there is a talk and not a publication.
- ICWSM, run by AAAI, and the ACL venues, including CLPsych, the clinical psychology workshop held annually since 2014, publish full peer-reviewed proceedings. In computing those proceedings are terminal publications rather than a step toward a journal article, which is the single norm that most confuses people coming from social work.
- Health informatics keeps its own circuit, and AMIA’s Annual Symposium is the main meeting. For work on clinical notes, service records, or digital health it is a closer audience than the computational social science conferences.
- Preprints are expected. ACL Rolling Review’s policy is that authors “are free to post and discuss non-anonymous preprints at any time” during review.
- Review is double blind, and deadlines are hard.
Inside social work, SSWR now has a Data Science and Artificial Intelligence special interest group, which I help organize, and it is the least expensive way to find the other people working this way.
Master’s students
If you are still in an MSW or a master’s program and reading this, you have more room than you think, and the sequencing is different.
- Take every quantitative methods elective your program offers, and the generalized linear models course if there is one, because logistic regression is the honest starting point for understanding what a classifier does.
- Use an independent study to do a small analysis project with a faculty member. It is the closest thing to a research apprenticeship a master’s program contains.
- Take the data analytics certificate if your school has one. Penn and Case Western both offer one on the social policy side, and it will do more for a research career than an additional practice elective.
- Outside the curriculum, Python for Everybody and the Carpentries social science lessons cost nothing. They are enough to arrive at a doctoral program already able to code, which changes what your first two years can be about.
Unsolicited advice
- Be patient, and build from the bottom. You may feel rushed. I started learning Python in 2017, which is nearly ten years ago, and I have only recently felt confident in it. Some of that is the AI coding assistants, which do help. Most of it is the years before them, when I read the documentation and wrote the code myself, much of which is in the tutorials on this blog. Those hours are where the confidence came from.
- Expect three years before a new method produces anything. If there is a method you want to add, plan for at least that much steady work, and do not look for the quick version.
- A method becomes yours through repeated use. Almost none of them become yours on first exposure. It happens through repetition and practice, long after the course that introduced it has ended.
- Do not try to master the field. The methods change faster than anyone can follow, and the researchers you admire are looking things up as they go. Learn what the project in front of you requires, and take the next thing to learn from the next project.
- Your domain knowledge is the scarce input. The methods are documented and teachable, and there are now tools that will write most of the code with you. Knowing which question about service access or client experience is worth a year of work is harder to acquire, and you have spent years acquiring it already.
- Allow yourself to be lost. None of what I have written down here was handed to me in writing by anybody. I collected it by going to a lot of places and wandering between them, drawing my own map as I went. I started at a big data research center in 2019, during my master’s, worked as a research assistant on projects that used these methods, went to a summer institute, came back to organize one, and then wrote a dissertation that used them, and nobody gave me that sequence in advance. I hope you draw your own map. Do not look for the shortcut, and spend real time being lost. The doctorate is the time you have for that.
