Bioengineering @ UCB - Duke - USC(half tuition) - UCSD

We need to help our son decide between the four colleges. Each have their unique advantages/disadvantages. The dilemma is that he wants to go to med school but he is not sure so he wants to keep his options open. He doesn’t mind working hard but then is also little worried about the GPA factor and good EC’s. We are in the bay area so Cal is the closest. Not sure if you can graduate in four years at Cal in engineering and also given all the competition if kids get research opportunities.

Duke is paying no $ at all. Good med school acceptance rate but far from home. With Duke he will pay $65K a year so if he goes to med school then we also need to be smart about the $ as well. We can afford it but is it worth to pay that much $ compared to his other choices.

USC is giving half tuition plus Engineering Honors invitation. Good private school resources with close to same cost as UC. He visited for couple days but not sure if that helped him to make a decision.

UCSD great bioengineering program but his thinking is why I would choose UCSD over Cal. Would there be any advantage on GPA front?

Any insights from parents or students is appreciated.