Both schools are strong in CS but i would go with Duke on this one. I also had to choose between Duke and UMD–though the decision was slightly easier for me because UMD only offered me a partial scholarship. Nevertheless, I probably would have chosen Duke even if UMD had offered me a full ride, simply because the opportunities at Duke are absolutely amazing. CS majors at Duke have incredible opportunities to network for big companies and it’s not uncommon for Microsoft, Google, and the like to recruit Duke students.
Of course, I’m biased towards my own school, but you and your family are free to visit and decide for yourself! I can definitely say, however, that if your son is bright enough to earn a full-ride to UMD, then he’s definitely Duke material!