This returns a massive amount of data (e.g. 75 MB) depending on the program.  Do we need to do anything about this?  Maybe it should be stored on the server somewhere with a hash, and the front-end can send the hash back if it wants to save the assignments?