The Internet Software Visualization Laboratory (ISVL) combines our research in Software Visualization and teaching over the internet to tackle the problem of how computer programming can be effectively taught to students working from home. Our approach provides a rich, collaborative environment for exploring and demonstrating programming constructs. ISVL supports both asynchronous and synchronous working, and allows students to move seamlessly from a tutor-led teaching scenario, to personal or peer exploration. ISVL provides a rich source of empirical data which will shed light on how Software Visualization can be most effectively incorporated within a computer programming curriculum.