# Pedagogical Content Knowledge

Doing is not teaching and teaching is not doing. That's nice to say, but what does it mean?

Performing a skill and teaching a skill are related, they both involve the same skill. Beyond that shared connection, doing and teaching require different skill sets and background knowledge.

When performing a skill (ie. being a developer) you need to know the deep ins-and-outs of the technologies and workflows you encounter. Without this knowledge you won't be able to deliver and deliverables are the main objective.

When teaching a student to become a developer, you need to know *how students understand* the technologies and workflows you are trying to teach.Without knowing how your students understand a topic it's impossible to correct their understanding and set them on the right learning path. And learning is the main deliverable of teaching.

Understanding how your students understand is *Pedagogical Content Knowledge*. A simple way to start thinking about PCK is to ask these two simple questions:

* If you were to complete the students' homework assignments, would you be able to intentionally make *the same* mistakes your students will make?
* When you find a mistake in a student's assignment, are you able to infer how *they understand* the code to work?

## References

> See also: [Misconceptions](https://hyfbe.gitbook.io/teacher-curriculum/topics/misconceptions)

* [TPACK](http://matt-koehler.com/tpack2/tpack-explained/)
* [Understanding Student Weaknesses](https://news.harvard.edu/gazette/story/2013/04/understanding-student-weaknesses/)
* [teachtogether.tech: PCK](https://teachtogether.tech/#s:pck)
* computinged
  * [Critical: What Students Get Wrong](https://computinged.wordpress.com/2013/05/13/the-critical-part-of-pck-what-students-get-wrong/)
  * [What CS Teachers Know](https://computinged.wordpress.com/2010/02/05/what-cs-teachers-know-pck-for-cs-ed/)
