> For the complete documentation index, see [llms.txt](https://hyfbe.gitbook.io/teacher-curriculum/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hyfbe.gitbook.io/teacher-curriculum/topics/lesson-plans.md).

# Lesson plans

> 1. Remember that no lesson survives first contact with learners…
> 2. …that every lesson is too short for the teacher and too long for the learner…
> 3. …and that nobody will be more excited about the lesson than you are.
>    * The Rules, from [teachtogether.tech](https://teachtogether.tech/#the-rules)

## Lesson Plans for Programming

A general recipe for a successful lesson:

1. Motivate
2. Isolate
3. Practice
4. Integrate

## Lesson Plans at HYF

At HYF our students have an especially wide range of skill & experience levels, this makes it very challenging to effectively teach a subject to all students at once. Approaching your Sunday lessons more like a focused workshop with a general introduction to all topics for the week will help reach all students. When working in small groups, they can adjust the pace to their own levels, and the scope of the lesson can be kept realistic.

One of the most helpful things you can do for students is to be very clear about what they are expected to learn *in class* with your guidance, and what they are expected to learn on their own afterwards. ie. are you talking about static methods right now because you expect students to be able to use them by the end of class, or because they should know it's important for when they study at home?

Being very clear about what is expected before vs. during vs. after class will help you prepare, and help students concentrate their efforts (and manage their stress ;)

> this list intentionally refers to what a student can *do* instead of what they *know*.

* What can students do before the lesson starts?
* What are the learning objectives *for class time*?
* What does a student need to do after the lesson?
* What are your practical constraints?

## References

* [A Lesson Design Process](https://teachtogether.tech/#s:process)
* <https://files.eric.ed.gov/fulltext/ED566953.pdf>
* <https://www.youtube.com/watch?v=GEmuEWjHr5c>
* <https://www.codementor.io/@npostolovski/how-to-teach-programming-pvgpdtoed#setting-up-the-teaching-environment>
* Motivate, Isolate, Practice, Integrate:
  * [the original paper](https://dl.acm.org/doi/pdf/10.1145/2674683.2674690) (the talk about paradigms is not relevant to this topic)
  * a lesson plan based on this pattern - [async programming week 1](https://hackyourfuture.be/asynchronous-programming/week-1/#/)

## [Exercises](https://github.com/HackYourFuture-CPH/teacher-curriculum/tree/ac6e9b35f8f3609f95e3306f1381abfc0c729b67/exercises/lesson-plans.md)

## Learning Paths

* [Teaching the class](/teacher-curriculum/learning-paths/teaching-the-class.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://hyfbe.gitbook.io/teacher-curriculum/topics/lesson-plans.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
