I think both notions would make a ton of sense for this kind of government program. Other posters have wisely already observed that not all education is equal. Others again recommended that rather than finance the first years of college, it might be more beneficial to finance the last (to encourage those near the end to just complete their degrees and get out into the workplace).
It seems to me like with a judicious use of forgiveness/reimbursement based on successful completion of coursework (e.g., credits awarded), and a reimbursement scale based on the perceived usefulness of the class/degree being pursued (via bureau of labor statistics recommendations) would allow the government to take an active role in engineering a long term competitive workforce. Want more STEM graduates? Raise the % of reimbursement for passing STEM classes. Maybe raise the % reimbursement as well for more advanced classes (50% first year, 60% second year, 70% third year, 80% fourth year). Lower the % of reimbursement for those professions which the BLS indicates we don't need as many of as a country.
Under such a system, you can always get any degree you want, but if you do something that aligns with the government view of what will be beneficial to the country, the government will pay you something for it. It certainly makes sense to have higher subsidies for higher paying professions (in many cases, those most in demand) because they increase the future tax base the most.
As far as I can tell, we all want a more educated populous and recognize benefits for that as a whole... Maybe there are smarter ways to do it than a blank check for a couple of years of higher education.