Note: This post was originally published by Luis Natera on his personal blog. It has been republished here as part of TYN Studio's content.
I had the opportunity to teach an intensive four-week network science course at ITESO's international summer program. The course combined data visualization with network science principles for a diverse group of eight students from varying academic backgrounds.
Teaching Philosophy
Rather than presenting formulas and theory first, I emphasized participatory learning over traditional lecture formats. Students engaged in hands-on activities, building knowledge through problem-solving and reasoning. This approach helps students understand why the concepts matter before diving into the mathematical details.

Curriculum Structure
Weeks 1-2: Data and Visualization
We started with data handling and visualization using tools like Gephi and JavaScript. This gave students the skills to work with network data and see patterns before understanding the underlying theory.
Weeks 3-4: Network Science Theory
We covered random, small-world, and scale-free networks, centralities, failure tolerance, and community detection. But we approached each topic through hands-on exploration first.
Learning Through Physical Networks

Students began with physical network construction using toys, calculating degree distributions with Legos before transitioning to Python and NetworkX. This progression from tangible to computational reinforced conceptual understanding.
When you physically build a network and count connections, you understand what "degree distribution" means in a visceral way that looking at equations doesn't provide.
Topics Covered
We explored several classic problems and concepts:
- Königsberg bridges problem: Euler's historical analysis that founded graph theory
- Milgram experiment replication: Understanding small-world networks through the "six degrees of separation"
- Network resilience testing: What happens when parts of a network fail?
- Community detection algorithms: Girvan-Newman and Louvain methods
- Emerging research: Multiplex networks and real-world applications

Lab-Based Learning Environment
The lab-based setup encouraged group collaboration and movement, facilitating peer support and reducing reliance on instructor intervention. Students could work at different paces, help each other, and experiment without fear of "getting it wrong."

Key Takeaway
Teaching network science through play and physical activity before abstract concepts helps students build intuition. When they later encounter the mathematical formulations, they already understand what the equations represent because they've experienced it hands-on.
The goal isn't just to teach formulas—it's to help students think in terms of networks and see the connections between abstract theory and real-world systems.