2011 · 21 citations · 6 references
ComputingComputer ScienceCreative Problem SolvingMalware AnalysisSoftware EngineeringComputer Science EducationMalware Reverse EngineeringReverse EngineeringSoftware Security EngineeringApplication PatchingComputer Science CurriculumComputer Science PedagogyCreative Thinking CurriculumCreative Thinking DevelopmentPatchingReverse ThinkingSoftware Reverse Engineering
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.
6
Intrinsic and Extrinsic Motivation
Roland Bénabou, Jean Tirole · The Review of Economic Studies · 2003 · 2.9K citations
Management, Economics, Psychology +16
The psychology of computer programming
Choice Reviews Online · 1999 · 971 citations
Program development by stepwise refinement
Niklaus Wirth · Communications of the ACM · 1971 · 959 citations · Full text
Computing, Computer Science, Building Information Modeling +5
Program development by stepwise refinement
Niklaus Wirth · Communications of the ACM · 1983 · 690 citations · Full text
Computing, Computer Science, Building Information Modeling +5
Information security: principles and practice
Choice Reviews Online · 2006 · 221 citations