# 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](/teacher-curriculum/topics/misconceptions.md)

* [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/)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://hyfbe.gitbook.io/teacher-curriculum/topics/pedagogical-content-knowledge.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
