I happened upon an article that discusses `\expandafter` which I think will solve the issue, as it's a latex compiling order problem, I think.
In the title, "Bachelor of Science" needs to be uppercase, but elsewhere in the text it might be regular case. I would assume that "B.S." would be typed in by the user as an uppercase piece of text, but I realize it might not be wise to rely on the end user for that. #3 is a year, so there's no need to consider case.