Software Engineering is an interesting mix of practice and theory. On the theory side, you should make a habit of browsing / googling for things that are a good intersection of interesting to you and novel. Be forewarned, some of the common places to get information (like stackOverflow) can be very intimidating.
The standard expiration date for most checks is 180 days (six months) and personal checks are included in this policy. In the United States, banks are privately owned and not government operated so banks do have the right to refuse your deposit if there happens to be any suspicion of the item's negotiability.
yes there is... As there is on most all major business or government checks...but that is for safety and concerns the check itself not an expiration on what they are paying. If you have an expired check that was never cashed it is a simple process to have the check replaced with a new one.