Reasoning Crash Course