Education Through Interacting Software