Teaching should enable students to understand concepts such that they can apply these on their own to solve problems and ultimately develop new concepts. Presenting well-organised content seems important, but enabling students to form their own understanding of these concepts is at the core of good teaching. I hope the material below helps some to solve problems and understand the patterns underneath. If you have any comments, edits or improvements, please let me know.