作者: Juha Sorva
关键词: Programming paradigm 、 Inductive programming 、 Phenomenography 、 Constructivism (philosophy of education) 、 Relation (database) 、 Software engineering 、 Computer science 、 Mathematics education 、 Learning theory 、 Notional amount 、 Teaching method
摘要: This article brings together, summarizes, and comments on several threads of research that have contributed to our understanding the challenges novice programmers face when learning about runtime dynamics programs role computer in program execution. More specifically, review covers literature programming misconceptions, cognitive theory mental models, constructivist knowledge learning, phenomenographic experiencing programming, threshold concepts. These bodies work are examined relation concept a “notional machine”—an abstract for executing particular kind. As whole, points notional machines as major challenge introductory education. It is argued instructors should acknowledge machine an explicit objective address it teaching. Teaching within some paradigms, such object-oriented may benefit from using multiple at different levels abstraction. Pointers promising pedagogical techniques provided.