Tracing the evolution of teachers' mathematical knowledge and pedagogy through programming: Learning from Scratch