Programs written to solve problems in Elements of Computing Systems by Nisan and Schocken