An algorithm was developed to evaluate relevance of a resource with respect to a user profile, coaching objectives, and program interaction. This algorithm employs AI techniques like collaborative filtering, user profile analysis, and program analysis.