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.
If you wrote the check, the only way to guarantee that you will not be liable for it longer than six months is to place a stop payment order on it. According to Bankrate.com, an oral stop-payment order expires after 14 days and a written stop-payment order expires in six months. You must renew stop-payment orders every six months to ensure that you are not held liable for old checks; banks typically charge a fee for each order.