``The Federal Student Loan Program: Quantitative Implications for College Enrollment and Default Rates'' (manuscript # RED-07-196) Description of codes There are 21 codes to solve the model and deliver the results in the paper. They are grouped in 4 categories: 1) 4 codes that deliver the main results in the paper and the distribution of initial characteristics. Note that this is the last step in the algorithm. 2) 3 codes that are used to solve for the no college path, which in the end deliver the earnings profiles for the no college group to be used in the codes in part 1. 3) 11 codes that are used to solve for the college path, which deliver the earnings profiles for the college group to be used in the codes in part 1. 4) 3 auxiliary codes used in simulations. In addition, there are 3 files with earnings statistics from data. 1 Codes for the initial distribution and the main results in the paper This part describes the use of the following codes: main_enrollment.m, distribfind_step3_colnocol.m, simulation_default.m, simulation_earnings.m, simulation_welfare.m. 1. All the codes in this section are run from main_enrollment.m. This code also solves for the optimal enrollment decision. 2. The code distribfind_step3_colnocol.m delivers the joint distribution of ability and human capital together with the fit of the model relative to the data earnings statistics presented in the paper in Section 3.3. This represents step 3 in the computational algorithm described in the appendix. This code uses simulated earnings profiles for agents in the model that are delivered using codes on both the college and the no college paths presented separately below. It also uses the earnings statistics (mean, skewness, and gini) from the CPS data for high school graduates, data_ALL_CPS2.mat (attached) and alos by education groups, data_CG_CPS2.mat and data_NC_CPS2.mat (also attached). The code needs the objfct.m file in the auxiliary part. 3. The code simulation_welfare.m delivers most of the results in the paper: college enrollment percentages by initial characteristics (human capital, ability, and assets) in the benchmark economy, averages of human capital and ability by education groups (Section 4.1.2), college enrollment and default rates in the benchmark economy and in the two policy environments (Sections 4.2 and 4.3.1), life-cycle earnings of defaulters versus nondefaulters in the benchmark economy (Section 4.2), consequences for the government budgets (Section 4.3.2), and allocational consequences by initial characteristics in the flexible repayment system, which are discussed in Section 4.3.3. 4. In addition, the code simulation_earnings.m delivers earnings profiles for the two education groups in the benchmark economy and in the flexible repayment system (Section 4.3.1). The simulation codes in this section use the auxiliary codes listed below in part 4. To run this part, intermediary steps are needed (steps 1 and 2 in the computation algorithm in the appendix). The codes needed for these two steps are described below for each path. 2 No college path codes This part describes the use of the following 3 codes: main_nc.m, hchoice_step1_nc, and earnings_step2_nc.m. 1. All the codes in this section are run from main_nc.m. 2. The code hchoice_step1_nc.m solves for the optimal decision rules on the no college path on the grid of learning ability, initial human capital, and initial assets (a,h,x). This is step 1a) in the computation algorithm in the appendix. 3. The file earnings_step2_nc.m computes life-cycle profiles of human capital, hours, and earnings from the grid points for an extracted number of points in the initial grids. This is part of the step 2 in the computation algorithm in the appendix. This code delivers the earnings for the no college group used in distribfind_step3_colnocol.m and main_enrollment.m. 3 College path codes This part describes the use of the following 11 codes: main_cg.m, hchoice_step1_cgpp.m, hchoice_step1_cg.m, DEF.m, hchoice_step1_cg_bench.m, IC.m, SC.m, hchoice_step1_cgchoice, dhchoice_step1_5.m, earnings_step2_cg_bench.m, and earnings_step2_cg_choice.m. 1. All the codes in this section are run from main_cg.m (there is one exception noted below). 2. The codes hchoice_step1_cgpp.m, hchoice_step1_cg.m, DEF.m, hchoice_step1_cg_bench.m, IC.m, SC.m, hchoice_step1_cgchoice.m solve for the optimal decision rules on the college path on the grid of learning ability, initial human capital, and initial assets (a,h,x). This is step 1b) in the computation algorithm in the appendix, which involves several sub steps: (a) for post-payment I use hchoice_step1_cgpp.m (b) for payment periods during post-college I solve for each payment option available: no consolidation (hchoice_step1_cg.m), default (DEF.m), income consolidation (IC.m), standard consolidation (SC.m). (c) given decision rules for each payment path, I aggregate the results and choose the optimal payment as long as the agent does not choose to change from the standard fluctuating payments status using hchoice_step1_cg_bench.m for the benchmark economy (and relaxation eligibility system) and using hchoice_step1_cgchoice.m for the flexible repayment system. (d) for the college period, optimal choices are computed in hchoice_step1_cg_bench.m and hchoice_step1_cgchoice.m, except for the first period, which is done separately in dhchoice_step1_5.m This code also computes the loan amount given for the grid points. Note that this can be adjusted to deliver the debt and the relevant choices associated with that debt level, in all three environments: the benchmark economy, the relaxation eligibility system, and the flexible repayment system (instructions on this are included in the file). Also, this code runs independently (i.e. not from main_cg.m). • An important observation is that all these codes can be run in parallel for a restricted set of ability levels (and time of switch to another payment path) to economize on time. 3. The files earnings_step2_cg_bench.m and earnings_step2_cg_choice.m compute life-cycle profiles of human capital, hours, and earnings from the grid points for an extracted number of points in the initial grids for the benchmark economy (and relaxation eligibility system) and for the flexible repayment system, respectively. This is part of the step 2 in the computation algorithm in the appendix. This code delivers the earnings for the college group used in distribfind_step3_colnocol.m and main_enrollment.m. 4 Auxiliary codes This part refers to 1. Markov.m and chooserandom.m, which are used in the simulations codes in part 1) and 2. objfct.m, which is used in finding the distribution of (a,h), code distribfind_step3_colnocol.m in part 1).