基于计算思维的任务驱动教学法在C程序设计教学实践中的应用
2015-09-10邓波刘红军
邓波 刘红军
摘 要: 《C语言程序设计》课程是本科院校理工类学生必修的一门基础课程,该课程在培养学生思维能力方面发挥重要作用。本文提出在C程序设计语言教学过程中以计算思维为导向,采用任务驱动教学方法,并围绕培养计算思维这一核心任务进行课程教学目标、内容及考核评价体系设计,取得很好的教学效果。
关键词: 计算思维 任务驱动 程序设计
C语言作为一种结构化程序设计语言,既具有高级语言的优点,又具有低级语言能够直接操作底层硬件的特点,既适于编写系统软件,又方便地用来编写应用软件。因此,C语言一直在等级考试和实际应用中占有不可或缺的地位。目前,在国内高校中程序设计一类课程教学模式基本上是以高级语言自身的体系为脉络展开的,没有把逻辑与编程解题思路放在主体地位上,在教学中过于注重语句、语法和一些细节。在教学中,教师在限定的课堂时间内将理论知识灌输给学生,让学生处于被动接受状态。学生对教师所讲内容没有感性认识,难以引起学习兴趣,从而没有学习积极性。因为学生的学习热情不高,所以即便掌握了这些基本内容,也很难灵活创新地运用所学的知识以分析和解决问题。这导致学生综合分析能力、创新能力和实践能力都有所欠缺,无法满足社会需要。程序设计课程,是训练学生思维能力的一个最直接最重要的平台,如何在程序设训一语言教学的同时教会学生运用计算思维思考问题和解决问题成为今后教学的重要课题。
1.计算思维概念及特征
计算思维是运用计算机科学的基础概念求解问题、设计系统和理解人类行为等涵盖计算机科学之广度的一系列思维活动[1]。该概念的提出者是美国卡内基·梅隆大学的周以真教授。周教授认为计算思维的本质是抽象(abstraction)和自动化(automation)。抽象,即把一个看起来困难的复杂问题通过简约、嵌入、转化和仿真等方法重新阐释成一个个简单易懂的小问题来求解的过程;自动化,即充分利用计算机的能力增强海量数据的处理能力,从而弥补人的计算缺陷。
计算思维的主要特征:①可行性。计算思维方法是计算思维的核心。计算思维的方法很多,在C程序设计课程中,各种常用算法及各类问题的求解方法,如迭代法、递归法等,都是计算思维方法。而一个完整的算法必须符合相应的语法规则和要求,必须保证每一步的操作都是可执行的、没有歧义的。②明确性。计算思维的目标明确,就是为了解决各种实际问题,它是将实际生活中的问题以抽象化和程序化的形式表示出来。③重构性。计算思维强调用启发式思维寻求解答,利用海量数据加快计算,在时间和空间之间,在处理能力和存储容量之间进行权衡。通过算法过程的构造与实施解决给定问题的一种思维方式。
2.任务驱动教学的概念及优越性
任务驱动教学法是基于建构主义学习理论的一种教学方法,主要包括“任务描述”、“任务咨询”、“任务实施”、“任务拓展”四个过程。“任务描述”是提出任务,分析任务。“任务咨询”是给出基本理论,从易到难分解任务。“任务实施”是解决任务。“任务拓展”是任务升级和拓展。这样学生不仅能学到知识、提高技能,而且能培养实践动手能力,培养学生的探索创新精神。学生在完成任务的过程中始终处于主体地位。教师的角色是学习情景和学习任务的设计者、学习资源的提供者、学习活动的组织者和学习方法的指导者。
3.任务驱动的理论与实践教学模式设计
根据专业课程设置,《C语言程序设计》属于专业基础课,学生学习这门课时仍然处在了解计算机语言及编程的初级阶段,有许多最基础的内容要掌握,所以整个课程设计任务可以分为如下三个阶段。
3.1基础知识准备及任务确定
准备阶段的主要内容是学习数据类型、运算符与表达式等基础语法及程序的基本控制结构,主要是通过课堂讲述和作业的多重训练及一个问题的多种解法加强语法知识点的掌握和训练,同时引入一些常见的解题算法开阔学生编程的思路。在此阶段,教师的功能是对程序结构设计提供多种思路,对语法点进行归纳总结,对上机情况进行指导,对作业进行评改总结。任务驱动教学法还需要解决的是确定任务,选择与当前学习主题密切相关的真实性事件或问题(任务)作为学习的中心内容,让学生面临一个需要立即解决的现实问题,在授课开始提出问题指出该问题的难点,围绕授课内容引导学生进行思考,任务设计直接影响教学效果,一个较好的任务不仅要用到已学的知识点,而且要引出新的内容。
3.2任务牵引
任务牵引阶段的主要内容包括C语言结构、变量、常量、数组、函数、指针、结构在这一阶段将通过大量任务的完成熟悉主要内容,同时巩固第一阶段的成果,该阶段任务的设计至关重要,原则是既要使学生由切入点动手,又要让各章的任务之间有联系点,使学生形成系统的整体概念,同时应当在其中包含一些基本的算法,比如利用数组排序等在此阶段,教师以导师的身份出现,引导学生参与到各任务中,为学生提供计算思维思想支持,并侧重检查任务完成情况,适时为学生归纳,总结编程技巧和语法知识。
3.3课程设计
课程设计的目标是通过综合应用,对C语言程序设计课程进行总结和提高前阶段的学习,通过一个课程设计的完成达到对整个学习进行巩固、测试和验收,本阶段以学生的自主开发为主,学生可引用前面训练过的任务,也可通过其他途径查找资料,借鉴各种现成的资料,促使各位学生自觉利用网络和图书馆辅助课程的学习。
4.完善教学评价策略
基于目前教学改革现状,在《C语言程序设计》课程教学评价过程中,采用无纸化的考试方式是比较客观、公正的手段,通过考试以检测学生对理论知识及实践知识的掌握程度,得到一个期末测试成绩,仅笔试是达不到目的的,但这个成绩只占总成绩的70%。另外是作业和平时成绩,通过对每位同学平时考勤、作业、任务完成情况的评价给出一个平时成绩,占总成绩30%。因为实践是大学生创新实践能力培养的关键,完善的实践评价机制体现公平、公正性,有助于督促和激励学生,挖掘学生主动实践的潜能。
通过多年实践证明,与传统教学模式相比,任务驱动教学模式优势明显。以任务为驱动的教学模式不但充分促进了师生互动,而且培养了学生的自主学习习惯,提高了学生分析问题和解决问题的能力,让计算思维的思想得以充分应用,提高了学生的学习兴趣,为将来把计算机与自己的专业有机衔接建立一个良好铺垫。随着教学改革的不断深入,这种基于计算思维的任务驱动在C程序设计教学模式中将得到更广泛的应用。
参考文献:
[1]李廉.计算思维概念与挑战[J].中国大学教学,2012(1):9-14.