partial fulfillment for undergrad