Pedagogy of Computer Science