I want to write a districting algorithm like the one found on RangeVoting.org:
It looks like they have a pretty good source of population density. Is there somewhere I can find a similar source of data?
As part of PL94-171, the canonical source for population data for drawing legislative districts is the Decennial census.
To get the high resolution data you want, you can download shapefiles of blocks by state with population included from http://www2.census.gov/geo/tiger/TIGER2010BLKPOPHU/
Of course, if you want to get into demographics of the population of those blocks, that is also available from the decennial census. You can get race and basic age from the files released for PL94-171 -- that data is the first release from each decennial census so that redistricting can get started promptly. Of course, now that the decennial census is several years in the past, you can get complete demographic data, although dealing with it at the block level is not a simple task.
The US Census publishes population statistics on US congressional and state legislative voting districts. The 2010 census (gazetteer) files can be found here:
Every year between the dicennial census, the US Census publishes estimated updates. The 2013 census (gazetteer) files can be found here:
I've also converted all the gazetteer files from 1990 to 2013 to a common linked CSV format (I am a co-founder of OpenGeoCode.Org). They can be found here:
The above data contains in addition to population counts, land area and center of population (population centriod).
US Census Tiger/Line shapefiles for District outlines can be found here: