Assignment-4: A Social-Network Based Recommendation System for Solution



In this assignment, you are asked to design and implement a social network-based recommender system for

You are given the following dataset (Reference:

Dataset: file contains social networking, tagging, and music artist listening information from a set of 2K users from online music system.

  • There are 1892 users and 17632 artists

  • There are 12717 user-friend relations

  • There are 92834 user-listened artist relations [user, artist, listeningCount]


  • artists.dat: This file contains information about music artists listened and tagged by the users. url and pictureURL will not be used in the assignment.

File format: id \t name \t url \t pictureURL

  • user_artists.dat: This file contains the artists listened by each user. It also provides a listening count for each [user, artist] pair.

File format: userID \t artistID \t weight

  • user_friends.dat: These files contain the friend relations between users in the database. File format: userID \t friendID


CS 401 Algorithms Spring


The recommender system will provide the following functionalities:

  • listFriends(int user): prints the list of friends of the given user

  • commonFriends(int user1, int user2): prints the user1’s friends in common with user2

  • listArtists(int user1, int user2): prints the list of artists listened by both users

  • listTop10(): prints the list of top 10 most popular artists listened by all users

  • recommend10(int user): recommends 10 most popular artists listened by the given user and his/her friends.


Please submit the following deliverables as a single zip file to CANVAS.

  • Source code for Recommender system

  • A Class Diagram summarizing your design

  • Junit Test cases for testing


error: Content is protected !!