I am building a recommender system for automatic recommendation of e-learning resources to learners as part of my PhD research. Are there existing algorithms and code for collaborative filtering and association rule mining out there that I can use with python or java?