Skip to Main Content
The concept of Reverse Engineering is used in many fields of IT every day, to name just a few: legacy compatibility, binary code patching, malware analysis, network protocols analysis, debugging or even rapid prototyping. Despite its broad use, reverse engineering is not actively taught as a part of computer science courses. This paper tries to provide a survey of some of the real life usage scenarios of reverse engineering, analyzes what skills and ways of thinking are developed by reverse engineering and provides examples how reverse engineering could be taught by practical problem solving, introducing creative thinking models and strategies. We focus on the importance of reverse engineering as a tool to ignite the self-motivation of students and systematically build their logical thinking capabilities and analytical skills.