The TSA has a page on "Acceptable ID" for passing through a security checkpoint.
The most important part on this page for you is :
Not having an ID, does not necessarily mean a passenger won't be
allowed to fly. If passengers are willing to provide additional
information, we have other means of substantiating someone's identity,
like using publicly available databases.
Whilst it's likely that a University photo ID would not be sufficient (unless it was issued in a way to meet "REAL ID" requirements), your US Visa, especially when combined with an expired passport, would certainly be sufficient to prove your identity. If required, they could even carry out additional checks such as fingerprints to confirm your identity (as these would have been taken when your visa was issued), although realistically I can not see this happening.
I would plan to arrive at the airport a little earlier than required in case the additional checks take extra time, but I would not expect you to have any problems getting through.
Personally I've also been able to go through TSA checkpoints on two occasions using an Australian drivers license. I didn't intend to, but grabbed the wrong license from my wallet - and both times they commented on it and then let me through without any further checks. I certainly wouldn't rely on that working (especially if your home-country license doesn't include security features like holograms/etc), but it's worked for me...