The major bug I see here is the risk of an unsanitized graduation date argument.

Let me take a closer look at it and decide between just sanitizing the input or outright changing types. I don't want to break something somewhere else.