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.
All U.S. banks are subject to federal code stating that a check can be declined after 180 days, or approximately six months, after it was written. California does not have any laws that extend or reduce this period. The issuing bank still has the option to cash or decline a personal check after 180 days have passed.