Four approaches to teaching programming

Four approaches to teaching programming
复制标题

编程教学的四种方法

DOI:
--
复制
发表时间:
2011
期刊:
影响因子:
--
通讯作者:
C. Selby
C. Selby
中科院分区:
--
文献类型:
--
作者:
C. Selby

文献摘要

被引文献

相似文献

基于文献调查,四种不同的方法来教学介绍编程确定和描述。每种方法的实践的例子被确定代表程序,视觉和面向对象的编程语言范式。每一种方法,然后进一步分析,确定学生和教师的优点和缺点。第一种方法,代码分析,类似于写之前的阅读,也就是说,识别各个部分及其含义。它要求学习者在生成自己的代码之前分析和理解现有的代码。另一种方法是构建模块方法,类似于在构建句子之前学习词汇,名词和动词。第三种方法被确定为简单的单元,学习者在将所学的逻辑应用于更复杂的问题之前掌握小问题的解决方案。最后一种方法,完整的系统,类似于通过沉浸式学习外语,学习者设计一个解决方案,以解决一个重要的问题,只有当问题的解决方案需要他们的应用程序时,才引入编程概念和语言结构。结论断言,在编程能力不能实现不掌握每一种方法,至少在某种程度上。结合使用这些方法可以为新手程序员提供获得全方位知识、理解和技能的机会。在课堂上提出的方法的几个订单提出和分析,反映了学习者和教师的需求。需要进一步的研究,以更好地了解这些和其他方法来教学编程,而不是在学习者的成果,但在教师的行动和技术,以促进学习者的新知识的建设。有效的课堂教学实践可以通过进一步调查不同工具集的选择和教学方法的组合对进展的影响来提供信息
Based on a survey of literature, four different approaches to teaching introductory programming are identified and described. Examples of the practice of each approach are identified representing procedural, visual, and object-oriented programming language paradigms. Each approach is then further analysed, identifying advantages and disadvantages for the student and the teacher. The first approach, code analysis, is analogous to reading before writing, that is, recognising the parts and what they mean. It requires learners to analyse and understand existing code prior to producing their own. An alternative is the building blocks approach, analogous to learning vocabulary, nouns and verbs, before constructing sentences. A third approach is identified as simple units in which learners master solutions to small problems before applying the learned logic to more complex problems. The final approach, full systems, is analogous to learning a foreign language by immersion whereby learners design a solution to a non-trivial problem and the programming concepts and language constructs are introduced only when the solution to the problem requires their application. The conclusion asserts that competency in programming cannot be achieved without mastering each of the approaches, at least to some extent. Use of the approaches in combination could provide novice programmers with the opportunities to acquire a full range of knowledge, understanding, and skills. Several orders for presenting the approaches in the classroom are proposed and analysed reflecting the needs of the learners and teachers. Further research is needed to better understand these and other approaches to teaching programming, not in terms of learner outcomes, but in terms of teachers’ actions and techniques employed to facilitate the construction of new knowledge by the learners. Effective classroom teaching practices could be informed by further investigations into the effect on progression of different toolset choices and combinations of teaching approaches