CIS 4524/5524: ANALYSIS AND MODELING OF SOCIAL AND INFORMATION NETWORKS
Spring 2025

Homework Policies (applicable for all assignments):


  1. You are required to do the homework problems in order to pass.
  2. Understandability of the solution is as desired as correctness.
  3. Penalty for late homework assignments submissions is 20% per day. So, do it on time.
  4. Solutions are expected to be your own work. Group work is not allowed unless explicitly approved for a particular problem. If you obtained a hint with help (e.g., through library work, discussion with another person, etc.) acknowledge your source, and write up the solution on your own. Plagiarism and other anti-intellectual behavior will be dealt with severely.

Assignment 0

Out: January 15
Due: Friday, January 17 by 11:59AM (Noon)

Background Knowledge Survey:

Please answer 3 survey questions by simply indicating "Yes" if you have some background knowledge of this topic or "No" if you do not. You need to answer this survey to do Homework1. This survey is due Friday, Jan 17, 2025 at noon. No Canvas submission is needed.

Link to survey: https://forms.office.com/r/kU5mjZvxqv

Assignment 1

Out: January 17
Due: January 23 by 5:00 pm on Canvas
*Please write your name and TUID at the top of your CANVAS submission.

Download the Homework 1 from the class homework folder. This table is generated according to the background survey for this course. In this table, each raw represents a response of one of you to a survey asked as Homework 0; the column values are 1 if you have some background experience in (1) Data Mining (CIS 4523/5523) or Machine Learning); (2) Python or R programming; (3) Graphs or Statistics.

Problem 1. [Visualizing a Multilayer Network]
In this exercise, your job is to visualize a 3-layer course network, where nodes represent students. Each layer corresponds to a single topic network representing one type of relationship among students taking this course (e.g., in layer 1, nodes representing two students should be connected if both students took a Data Mining/Machine Learning course). Note: you need to convert row data to graph format edge list, or matrix; .csv or .txt format should be fine. Make a screenshot of your visualized networks.

Problem 2. [Visualizing a Weighted Network]
Visualize a network obtained by projecting the 3-layer network from Problem 1 to a single-layer weighted network, where two students are linked by a weighted edge representing the number of topics both students took.

Problem 3. [Visualization of a Bipartite Network]
Visualize a bipartite students-topics network where an edge between a student node and a topic node exists if and only if this student has taken a course on that topic.

Problem 4. [Computing Global Network Properties]
For each layer of the 3-layer network constructed in Problem 1, compute the following global network properties:
  1. the size and diameter of the network’s largest connected component
  2. degree distribution (you can report average degree distribution or plot degree distribution histogram)
  3. average path length
  4. average clustering coefficient
Repeat this for the network constructed in Problem 2.

Impotent Notes:
  • Before importing the student network, you must transform the row data into a supported graph format. Check how to convert row data to graph input in the library/software you plan to use.
  • Visualizing a multilayer network is different from a single-layer network. To visualize a Multilayer network, make sure to use a supporting library for example, Pymnet and Multinetx (check Syllabus- Software section for more libraries)
  • It is highly recommended to use the Python library NetworkX. Check sections 'Creating a graph' and 'Drawing graphs' to see how to visualize a graph. You can also use Gephi, a platform-free software for graph visualization and analysis, which you can download from https://gephi.org/ (follow the quick start guide) to import and visualize the student network.
  • All metrics can be calculated using the Python library NetworkX, but you can use any freely available packages to compute these properties or develop your code.

Assignment 2

Out: TBD
Due: TBD by 5:00pm on Canvas
*Please write your name and TUID at the top of your CANVAS submission

Assignment 3

Out: TBD
Due: TBD by 5:00pm on Canvas
*Please write your name and TUID at the top of your CANVAS submission

Assignment 4

Out: TBD
Due: TBD by 5:00pm on Canvas
*Please write your name and TUID at the top of your CANVAS submission

Assignment 5

Out: TBD
Due: TBD by 5:00pm on Canvas
*Please write your name and TUID at the top of your CANVAS submission

Assignment 6

Out: TBD
Due: TBD by 5:00pm on Canvas
*Please write your name and TUID at the top of your CANVAS submission