您好, 访客   登录/注册

融入计算思维的C语言程序设计教学探究

来源:用户上传      作者:

  摘  要: 计算思维是21世纪大学生应该具备的素质和能力,C语言程序设计课程教学在计算思维的培养中发挥着重要作用。探究C语言程序设计课程在传统教学的基础上,融入计算思维的任务驱动教学模式,把计算思维的培养融入到教学中。与传统的教学模式相比,融入计算思维的任务驱动教学模式提高了学习兴趣,增强了学习效果,同时培养了计算思维能力。
  关键词: C语言程序设计; 计算思维; 任务驱动教学模式; 教学改革
  中图分类号:G642          文献标志码:A     文章编号:1006-8228(2019)05-77-03
  Abstract: Computational thinking is a must-have quality and ability for college students of the 21st century. C language programming course teaching plays an important role in the cultivation of computational thinking. This paper explores the task-driven teaching mode with computational thinking on the basis of traditional teaching mode, in order to integrate the cultivation of computational thinking into the teaching. Compared with the traditional teaching mode, the task-driven teaching mode with computational thinking improves the learning interest and learning effect, and cultivates the computational thinking ability.
  Key words: C language programming; computational thinking; task-driven teaching mode; teaching reform
  0 引言
  計算思维是所有大学生21世纪都应该具备的素质和能力,“C语言程序设计”是普通本科高校的一门计算机基础课程,担负着培养大学生的程序设计能力和培养计算思维的任务。
  笔者发现,在传统C语言程序设计课程的教学过程中存在以下问题:一是教学过程中主要由教师讲解,学生处于被动的学习状态;二是教师讲解完理论知识后由学生完成固定的实验内容,没有发挥学生主观能动性,其解决问题的能力和主动思考的能力没有得到提高;三是教师在理论教学和实践教学中以语法和编码为主,忽略了算法分析和思维能力的训练,学生的思路受到限制,不清楚该门课程在专业上的作用,学习动力不足,导致教学效果不够理想。
  本文提出在C语言程序设计课程教学中融入计算思维的培养,是C语言程序设计课程改革的一个重要方向,也是这门课程教学的核心任务之一。
  1 计算思维
  2006年3月,美国卡内基·梅隆大学计算机科学系主任周以真教授首次提出了计算思维(Computational Thinking)。周教授认为:计算思维是运用计算机科学的基础概念进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学之广度的一系列思维活动[1]。随着这一概念的提出,立刻引起包括美国、英国各界的关注和支持,美国计算机协会(ACM)2008年在网上明确公布将“计算思维”与“计算机导论”课程绑定在一起。在国内,也掀起了计算思维培养的浪潮,2008年10月31日,我国高等学校计算机教育研究会在桂林召开了关于“计算思维”与“计算机导论”专题学术研究会[1]。出席会议的近百位专家都来自于80多所高校,共同探讨如何以课程为载体培养学生面向学科的计算思维方法。
  随着信息科学与技术的不断进步和普及,特别是互联网和Cyberspace应用的不断深化,计算思维将成为我们时代思维的主要方式和手段[4]。在21世纪,计算思维同“读、写、算”一样,成为素质教育的一部分,是必须具备的基本技能[2]。然而,计算机思维的培养比培养“读、写、算”困难得多,思维的形成是一个长期培养的结果[5],不能一蹴而就,这就需要把计算思维的训练融入到教学过程中,通过长期的模拟训练,让学生具备并提高计算思维能力。
  2 融入计算思维的任务驱动教学模式在C语言程序设计教学中的实践
  融入计算思维的任务驱动教学模式以学习者为中心,强调学习者的学习过程必须与学习任务相结合,通过完成任务来激发和维持学习者学习的兴趣和动机[3]。在任务驱动的教学模式中,教师是主导,学生是主体,任务是核心。计算思维利用启发式推理来分析问题、找出解决问题的方法和途径。而C语言程序设计课程正好符合把计算思维融入到任务驱动的教学模式中培养计算思维的条件。
  计算思维是数学和工程思维的互补与融合[1,3]。在C语言程序设计课程教学中,把与专业相关的简单工程问题引入到教学案例中,不仅学习了程序设计的基本语法,也体现了该课程在专业中的作用,同时通过解决工程问题的过程训练学生的计算思维。顺序结构程序设计是学习程序设计的入门内容,是学习后续复杂程序设计的基础,学生初步学会用计算机程序去解决问题。下面是笔者就C语言程序设计的顺序结构程序设计,使用融入计算思维的任务驱动教学模型(TDTMCT)来实施教学的过程。教学过程分为以下六个阶段。   ⑴ 师生课前准备
  教学者进行教学设计,包括教学目标,教学任务和教学过程的设计,收集教学材料;学习者清楚教学内容为顺序结构的程序设计,在前期已经完成数据类型和输入输出语句的学习,预习顺序结构程序的相关知识。
  ⑵ 设计任务
  基于计算思维的任务驱动教学模式中任务是核心,教学者使用计算思维的一系列方法设计课程任务,同时做好教学准备。本节课的教学内容为顺序结构程序设计,结合前面的准备,设计任务:求建筑物的高度,具体描述为在工程测量建筑物高度時,首先测出建筑物在太阳照耀下的影子长度m,再通过测角仪测出影子末端与建筑物的仰角的角度a,根据测量的结果计算建筑物的高度。教学过程围绕这个任务,教师引导学生把工程问题逐步约简为数学问题,分析出已知和未知的问题、再确定如何求解。
  ⑶ 呈现任务
  教师利用计算思维的方法把任务呈现给学生。先把问题用图示的方式给出来,让学生把工程任务约简为数学问题:已知直角三角形的一条直角边长度和邻角,求另一条直角边的长度;再约简为三角函数公式:H=L*tag(a),就成了一个简单的计算问题。呈现给学生的任务就成了:新建一个程序,输入测量的影子长度和仰角的角度,求建筑物的高度。 把任务呈现给学习者后,学习者根据任务进行教学,建立小组(建议2人一组),确定任务并进行分工。
  ⑷ 实施任务
  在任务实施过程中,首先讲演一个程序新建、构成和基本结构;然后引导学生分析任务中哪些是已知信息(数据输入)、完成什么样的运算(数据加工处理)、哪些是由计算机告诉用户的结果信息(数据输出)、具体如何实现;再引导小组分析讨论并完成程序的编写和调试,老师给出一组数据,一人用数学方式给出数据并进行计算,另一个同学用程序来得出结果,两个同学比较看谁是正确的,如果都是正确的看谁更快,如果程序运算的结果不正确,一起找出问题并修改,直到正确为止;最后再给出另一组数据,两位同学再分别用人工计算和用计算机程序计算,再进行比较,看谁算得又快又准。
  ⑸ 总结评价
  在教学任务完成之后,运用计算机思维的递推方式对整个学习过程进行概括、交流、分享学习心得和程序编写过程中的注意事项。
  ⑹ 反思内化
  反思内化过程是融入计算思维的任务驱动教学模式的核心环节,在完成上述过程后,通过思考、课后实践等方式引导学生对学习的内容进行思考、实践,并在这个过程中自行归纳出对类似问题的程序编写方法和实现步骤,完成知识到能力的转化。通过反思内化,学生对这巩固部分知识,清楚这些知识的应用领域,会用这些知识去解决相关的问题。
  这只是一个融入了计算思维的顺序结构程序设计的教学设计,利用基于计算思维的任务驱动式教学模型TDTMCT,教学者与学习者围绕任务这根主线进行教与学。在教学者设计任务、呈现任务、实施任务、总结评价,学习者明确任务、完成任务、共享交流的过程中完成学习[3]。学习者用明确任务,运用任务驱动的方式完成新知识的学习,并通过不断的交流探究问题的实质,并通过最后的总结评价、反思内化进行评价和反思,完成学习的同时感受学习的快乐和成就。计算思维采用了抽象和分解来迎接庞杂的任务或者设计巨大复杂的系统,这与结构化程序中的模块化程序设计思路一致[1],在C语言程序设计课程中可以很好的把融入计算思维教学模式应用到教学中,在培养学生的程序设计能力同时实现计算思维的培养。
  3 结束语
  把计算思维的理念融入到C语言程序设计课程教学中,把学生从枯燥的语法学习和规则学习转移到用计算机程序设计解决实际问题中,变被动学习为主动学习,通过解决问题或完成一个实际任务,提高了学习的兴趣,增强了学习的成就感,学生自觉地用计算机思维来解决遇到的问题,综合素质也有所提升。计算思维的培养是一个长期的过程,如何更好的培养计算思维,还需要在教学中不断的探索。
  参考文献(References):
  [1] 牟琴,谭良.计算思维的研究及其进展[J].计算机科学,2011.3:10-15,50
  [2] 李国杰.21世纪上半叶信息科学技术展望[J].中国科学院院刊,2010.1:78-86
  [3] 牟琴,谭良,周雄峻.基于计算思维的任务驱动式教学模式的研究[J].现代教育技术,2011.6:44-49
  [4] 王飞跃.面向计算社会的计算素质培养:计算思维与计算文化[J].工业和信息化教育,2013.6:4-8
  [5] 柳泉,张晗.计算机程序设计基础课程中计算思维的培养[J].计算机工程与科学,2016.A01:167-169
转载注明来源:https://www.xzbu.com/8/view-14902867.htm