/Our-Class-Graph

An activity that collects data from the class to construct a network graph for analysis

Primary LanguageJupyter Notebook

title layout weight hidden
Graph Theory Lesson Plan v0.3
post
10
false

Class Graph

Course: DS
Mod: 3(?)
Topic: Graph Theory
Amount of time: 1.5 hours
Author: David Braslow


Lesson Summary:

Topic:

  • Foundations of Network Graphs
  • Analyzing Network Graphs using NetworkX
  • Visualizing Network Graphs
  • Network Graph Centrality Metrics
  • Community Detection
  • (Level Up) Ego Networks

Learn.co material:

(needs updating for V2.0)

Prerequisite knowledge/ Prework:

Prerequisite knowledge: See topic list and Learn.co material above. This activity should be used after students have finished the Learn.co material above.

Prework: Instructor should modify the Our Class Graph survey to have the names of all students in the class, and then send the survey link to students a few hours before the lecture: https://forms.gle/EhiZgteayncD7Whv7. Instructor should give students a deadline to submit one hour before lecture. Download a csv of responses from Google Forms (https://docs.google.com/forms/d/1WYGnY0anHFJrYQfPRLpyOfl5HGXvhnyO_HldlI_pLeo/edit#responses) and save to student-facing repository before lecture. In the event that few students submitted responses, you can follow up with students to get them to respond.

If the graph is not well connected, you may need to add connections to the graph to make the activity work as planned. You can do this by entering additional responses into the Google Form on behalf of students, with new connections in the new response. If you do this, let the class know that you've done this so that they're not surprised if they see their own names with unexpected connections.

Learning goals for this lesson:

  1. Practice using NetworkX to visualize and analyze a network
  2. Describe networks using concepts such as connectivity, centrality and communities
  3. Use descriptive information about graphs to make real-world recommendations

Misconceptions:

See "Notes About Today's Activity" Slide:

  • I have no idea what our class network actually looks like – it could be weird
  • You have a fair amount of leeway to interpret/answer some of the questions in the notebook. Feel free to be creative!
  • If you get stuck, there are hints at the bottom of the notebook
  • Task 5 asks you to make recommendations to me for improving class cohesion. I promise to listen to your recommendations, but not necessarily to use them

Materials

  • Survey (see links in Prework above)
  • Student-facing repository (TBD, notebook and slides in this repository)

Lesson Outline:

The PowerPoint slides provide the structure for this lesson. Use these slides to structure the lesson, and follow the timings on Slide 4. Notes on each slide provide presentation tips.

Below is an overview of the lesson as structured in the slides

Step: Problem
Time: Slides 1-5: 10 min

Goal/Scenario:
Make recommendations to me, as your teacher, about how to improve class cohesion.

Learning Goals in sequence:

  1. Use NetworkX to visualize and analyze a network
  2. Describe networks using concepts such as connectivity, centrality and communities
  3. Use descriptive information about graphs to make real-world recommendations

Step: Activation
Time: 0 min

On "Do you all talk to each other?" slide, connect to their personal experience as a member of the class and the previous work they have done on graph theory.

Step: Learning Goals 1, 2 and 3, Integration and Assessment:
Time: Pair work: 35 min Group work: 15 min Presentations: 20 min Total: 70 min

Students work in pairs to complete tasks in Jupyter notebook related to the three goals and integrating the answers to generate recommendations. Pairs then join to form groups of 4 that discuss and prepare to share recommendations. During this time, teacher and coach should be circulating to informally assess student progress and offer guidance as needed. Some suggestions for how to help students get unstuck:

  • If they have difficulty with code, suggest that they look at the relevant notebook in Learn covering that material (links above)
  • If they have difficulty interpreting the questions, ask if they looked at the hints at the bottom of the notebook. If so, ask what they thought after reading them and help them navigate to a specific approach.
  • If they have difficulty creating a recommendation, suggest that they pick one metric from their analysis. Ask if there is anything that the teacher could do that would make that metric go up.

Groups share out recommendations and supporting findings. Informal assessment through group presentations and responses to questions.

Step: Reflection:
Time: 10 min

Group discussion using questions on Discussion slide.