Loose coupling is a term that goes way back in the history of software development to the very beginings of "Structured Programming", the forerunner to Object-Oriented Programming.
Simply put, loose coupling means that any two separate pieces of code (a module in the old structured programming terms) should have as little dependence upon and knowledge of, each other as is possible, ideally zero dependence/knowledge.
Check out the Wikipedia entry for
loose coupling for some more modern references on it.