You Won't Learn That Here
In a controversial move, I don't believe this is a beginner topic! I think it is a major shortcoming of the community that we pretend this is something beginners should be able to figure out by themselves.
Before even attempting a reversing or exploitation problem a student should have a full understanding of C and assembly. It is very possible to fake it, and write buffer overflow exploits without knowing what a jmp instruction is (I certainly did), but we do a disservice to students by acting like this stuff is on the same level as the other materials taught in this course.
I have a course that teaches C and x86 pretty goddamn well, so check it out! https://academy.hoppersroppers.org/course/view.php?id=4
If you are angry at me for not teaching this, or have a better idea, let me know! Email me at firstname.lastname@example.org or in Slack.
When I get around to writing an Advanced CTFs course I will have plenty of Reversing and BinEx... and a knowledge of C and Assembly will be non-negotiable pre-requisites.