Useful CSE 160 Resources

Overview

When you sign into Facebook, it suggests friends. In this assignment, you will write a program that reads Facebook data and makes friend recommendations. You will:

  • gain experience with sets, dictionaries, and sorting in Python
  • practice writing and using functions
  • become familiar with a graph data structure in the NetworkX library in Python
  • write Python code to analyze Facebook data

Submission

Homework 5 is split into multiple parts to help break down the task into manageable chunks:

  • Check-in is due by 11:59pm on Monday, May 8. For the check-in, you should first read the entire assignment. Then, submit this fairly long Gradescope Quiz. Although you do not need to implement any code for this check-in, you WILL want to look at docstrings in the provided code to see what types functions return and examine assert_equals statements to verify your understanding of what the functions should return. This quiz CANNOT BE SUBMITTED LATE. Once it closes, answers will be revealed.
  • Part 1 is due by 11:59pm on Friday, May 12. Submit social_network.py to Gradescope with at least problems 1-4 completed and complete the reflection survey. You will not necessarily get any feedback on Part 1 before Part 2 is due, so do not wait to get started on Part 2. What you submit for the Part 1 deadline will not be graded for style at that time - but of course we recommend that you go ahead and use good style! Part 1 CANNOT be resubmitted after the deadline.
  • Part 2 is due by 11:59pm on Friday, May 19. Re-submit social_network.py to Gradescope with all problems (1-8) completed with good style and complete the reflection survey. At that time we will grade ALL problems for correctness and style. If you made a mistake in the problems for Part 1, please fix those mistakes before submitting Part II so you do not lose points on them twice.

Your overall grade for this homework will come approximately 25% from Part 1 and 75% from Part 2. Overall, HW5 will count as approximately 1.5 homeworks. For all of our assignments, you should not use parts of Python not yet discussed in class or the course readings.

HW5 - Homework 5

Initial Submission by Friday 05/19 at 11:59 pm.

Submit on Gradescope

Subpages

  1. Background - Background information on recommendation systems
  2. Setup - Homework 5 setup instructions
  3. Part 1 - Creating and analyzing small graphs
  4. Part 2 - Working with the facebook data