10:00
2023-06-06
Introductions (15 min)
Course Overview (5 min)
Introduction to Education Funding Policy (30 min)
Introduction to R and RStudio (25 min)
Break (10 min)
RStudio Setup and Workflow Tips (10 min)
Introduction to Git and GitHub (20 min)
Homework assignment (5 min)
Alex Spurrier, Associate Partner
Jennifer Schiess, Senior Partner & Policy and Evaluation Practice Leader
Krista Kaput, Senior Analyst
Bonnie O’Keefe, Senior Associate Partner
10:00
Please share your:
Our primary goal is to prepare advocates to leverage data analysis and policy knowledge to advocate effectively for school finance reforms that can improve the educational success of historically underserved students.
We will achieve this by helping you:
Learn R for data analysis and visualization
Develop an understanding of K-12 school funding policies nationally and deep understanding of your state’s system, specifically
Use R to support in-depth education finance analysis that is:
Organized
Well-documented
Reproducible
Produce high-quality, effective data visualizations to make your analysis a more powerful, easy-to-understand tool for advocacy
Class structure
Week | Class Date | Detail |
---|---|---|
01 | June 6 | Introduction to education finance equity and R |
02 | June 13 | Basic data analysis and visualization in R |
03 | June 20 | Deep-dive on education finance policy |
04 | June 27 | Data cleaning and processing in R |
05 | July 4 | NO CLASS THIS WEEK |
06 | July 11 | Reproducible data analysis in R |
07 | July 18 | Mapping in R, part 1 |
08 | July 25 | Mapping in R, part 2 |
09 | August 1 | Building interactive visualizations |
10 | August 8 | Modeling state funding policy proposals in R |
11 | August 15 | OFFICE HOURS — CAPSTONE WORK WEEK |
12 | August 22 | OFFICE HOURS — CAPSTONE WORK WEEK |
13 | August 29 | Capstone presentations |
School funding systems are typically assessed on two fronts: adequacy and equity.
Adequacy: Is there enough funding?
Equity: Is the funding distribution aligned with student needs?
The longstanding and persistent reality is that vast funding inequities in our state public education systems render the education available to millions of American public school students profoundly unequal.”
– U.S. Commission on Civil Rights, 2018
School finance equity is a critical component of educational equity overall. In an equitable school finance system, schools would receive funds they need to provide a high-quality education for all students. School funding should be based on the needs of students, not the property wealth of individual communities or a checklist of programs.
Across the country, almost no states have fully achieved this goal.
Inequity in school finance holds back countless other efforts to improve educational outcomes. Achieving both adequacy (enough funding) and equity (funding distributed to where it is most needed) will not solve every educational problem, but it will enable more schools to provide their students with an excellent education.
Large share of K-12 funding.
Relatively stable (property taxes).
Inherently inequitable.
Large share of K-12 funding, tending to direct more to higher-need districts,
More volatile revenue sources compared to property taxes (income, sales, etc. taxes).
Intended to address inequities in local revenue, but rarely achieves that goal.
Relatively small share of K-12 funding.
Majority of federal dollars are allocated through to serve low-income students (Title I) and students with special learning needs (IDEA), along with other specific funding streams like school meal programs.
In recent decades, there have been waves of stimulus funding directed at K-12 schools in the wake of the Great Recession and the COVID-19 pandemic.
State school funding formulae generally try to achieve a few objectives:
These factors drive the complexity of building a well-functioning state funding formula:
“On average, high-poverty school districts in each state receive 5%, or $500 less per student than wealthy ones do. Some states are much, much worse…In only six states do students in high-poverty districts receive at least 10% more funding than those in low-poverty districts.”
“School districts serving the largest populations of Black, Latino, or American Indian students receive roughly $1,800, or 13 percent, less per student in state and local funding than those serving the fewest students of color.”
Rutgers University and the Albert Shanker Institute, 2021:
“Spending in most states’ high-poverty districts is below our estimated required levels, while spending in low-poverty districts is typically above the targets…even in states where, according to our estimates, funding overall seems to be adequate across poverty groups, there are still districts left behind.”
Relying on local property taxes to fund local schools (as most states do) ties school funding closely to housing and property wealth, fueling disparities in funding by race, ethnicity, and class — unless states act to balance the scales.
Example
Proposals to address that challenge – changing structuring funding formulas to align with student needs rather than political clout – face huge barriers.
School finance reform is often prompted by court action (or the potential for court action). School finance litigation has historically focused on one or both of two standards:
Our working framework for assessing state finance policies considers four principles:
Is enough funding generated to support high-quality educational opportunities for all students?
Is funding distributed to account for differences in student and community need?
Can the public easily access funding data and formula documentation?
Are state policymakers empowered to adjust state funding formulas to account for changing student and community needs?
Our perspective, in this course and in general, is that student-based, weighted funding formulas are the best structure to meet our 4 principles.
But that structure alone will not ensure equity and adequacy.
Category | Definition |
---|---|
Student-based | School districts receive funding based on the number of students enrolled or in attendance. In many cases, districts may additionally receive funding weights or supplement based on anticipated student learning needs, with extra funds tied to characteristics of enrolled students, such as low income, disability, and/or status as an English learner. |
Program-based | This system allocates dollars to school districts based on the cost of educational programs within those districts. |
Resource-based | School districts receive funding based on the anticipated cost of resources and inputs, such as staff salaries and instructional materials. |
Condition | Questions to consider in your state |
---|---|
Coalitions | Are there aligned and influential advocates and/or coalitions? |
Champions | Is there political appetite for funding reform in the state? |
Research capacity | Is there sufficient evidence and technical capacity in the state to make the case for and advance funding reform? |
State finances | Is the fiscal situation in the state conductive to K-12 funding reform? |
Lawsuits | Could funding reform be aided by current or past litigation? |
Too many states have outdated, inequitable, and/or inadequate school funding formulas, created over the course of decades of political compromise, intentionally complex and opaque, understood by a select few with disincentives to change.
To change this status quo, advocates need better technical capacity:
“The ability to use rigorous data and research to help define the problem and identify potential remedies can help build a compelling, evidence-based case for why policymakers should act.”
– Dammu & O’Keefe, Making Change
The ultimate change we hope to achieve through this course:
More states across the country with adequate, equitable, transparent funding formulas that set the conditions for higher levels of student success.
R is a statistical programming language. RStudio is a graphical user interface (GUI) that allows R users to better organize and execute R code.
One of the best features of R is that it is very surly.
Data analysis in R is easy to reproduce
Conducting quality checks in R scripts is much easier than in Excel workbooks
In the R environment, data is stored in variables that can be manipulated using functions.
The most basic functions in R are called operators:
<-
x <- 3
+, - , /, *, %, ^
sum()
, mean()
, median()
, percentile()
Variables can have different types:
3
3.14
“pi”
“Low”, “Medium”, “High”
library(tidyverse)
1x <- 3
2y <- c(2, 4, 5)
z <- c("a", "b", "c")
3df <- tibble(letters = z, nums = y)
4df
# A tibble: 3 × 2
letters nums
<chr> <dbl>
1 a 2
2 b 4
3 c 5
# basic r use ------------
# creating variables using the assignment operator "<-"
var1 <- 12
var2 <- 34
# you can do operations on variables
var1 + var2
[1] 46
# we need to store them as a new variable
var1_var2_sum <- var1 + var2
# you can group variables together in a vector using the
# concatenate function "c()" to create vectors
var_values <- c(var1, var2)
var_names <- c("Tom Brady", "Nolan Ryan")
# you can run functions across the values in a vector
mean(var_values)
[1] 23
[1] "Tom Brady"
# vectors of equal length can be grouped into tables, called dataframes
athlete_df <- data.frame(name = var_names, jersey = var_values)
# column names are referenced using "$"
athlete_df$name
[1] "Tom Brady" "Nolan Ryan"
[1] 23
[1] NA
Packages are an important part of expanding what users can do in R, minimizing barriers to high-quality data analysis and visualization.
The most popular packages are available directly through RStudio via the CRAN network.
CRAN packages are reviewed by the R community for quality
Can be installed via the RStudio GUI or through the R console via the install.packages() function
The most popular packages in the R community are part of what is called the “tidyverse”
ggplot2
, tidyr
, dplyr
, stringr
, forcats
, tibble
, readr
, purrr
Tidyverse packages are built to work together
10:00
This key command will clear your workspace —- it’s an important step to do often to ensure that you’re only relying on code you’re writing in scripts and not code you’re executing on the fly in the console
“This will cause you some short-term pain, because now when you restart RStudio it will not remember the results of the code that you ran last time. But this short-term pain will save you long-term agony because it forces you to capture all important interactions in your code. There’s nothing worse than discovering three months after the fact that you’ve only stored the results of an important calculation in your workspace, not the calculation itself in your code.”
Git is version control software – it allows you to save (commit) changes to files and track those changes over time.
GitHub is to Git what RStudio is to R, but for file management.
After you receive an email notification that an issue was opened, you can click a link to view it on GitHub. On the issue page, you can respond if you have questions or click “Close issue” if no follow-up is needed.
Each homework assignment will usually include two basic elements:
Reading: One or two briefs on school finance policy to read
Coding task: An R programming task for you to complete
Assignments should be completed by noon Eastern time on the Monday before the next class session will be held. For week 01, this means your assignment is due by 12:00pm (Eastern) on Monday, June 12.
Reading
Coding Task
median()
function