The nature of undergraduate education is to teach students certain skills, which they will hopefully find helpful in later courses and after they graduate; for society, the goal is to have more people with those skills. The goal of student participation at the undergraduate level in open source shouldn't be to get working code for the project they are participating in, but rather to give them the instinct to participate in the development of the software they use over the rest of their careers, rather than only asking for features or coping with not having them.