潘艳
【摘 要】随着人工智能等计算机技术的应用和普及,拥有计算思维和编程实践能力成为智能化时代的入场券,这对C语言程序设计课程的教学提出了挑战。本文从课程中引入计算思维的必要性入手,重点从教学理念、教学内容、教学方法和实践考核方式几个方面进行改革,以到计算思维培养的课程目标。
【关键词】计算思维;C语言程序设计;教学
一、引言
《国家教育事业发展“十三五”规划》中指出“在提高教育质量方面,着力提升学生思想道德水平、社会责任感和法治意識,培养创新创业精神与能力,强化实践动手能力。”对于计算机各相关专业开设的第一门专业课程C语言程序设计来说,培养学生的计算思维和编程的实践能力是课程建设的方向和目标。
二、计算思维的引入
随着人工智能等计算机技术的飞速发展与广泛应用,计算机技术的应用场合也不在局限于计算机学科,众多的科学领域被冠以“计算”之名,如计算物理学、计算生物学、计算化学等。因此,拥有利用计算机这一工具,解决实际问题的计算思维能力,成为目前智能化时代的入场券。
计算思维是美国卡内基·梅隆大学计算机科学系主任周以真教授在2006年美国计算机权威期刊《Communications of the ACM》提出的。她认为:计算思维是运用计算机科学的基础概念进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。计算思维不仅是计算机学科的思维方式,是每个人都要掌握的一种解决实际问题的技能。
目前,计算机专业培养的学生普遍存在着思维固化、缺乏计算思维等问题,这是导致其创新能力薄弱的重要原因,这就对计算机课程教学提出了严峻的挑战。C语言作为接近计算机硬件的一种语言,普遍被用于计算机各相关专业开设的入门课程,是理解计算机世界的有效途径。因此,C语言程序设计课程有着不可替代的重要意义。
一直以来,很多院校仍将C语言程序设计课程定位在知识传授上,C语言教学都是围绕语法知识这个主线展开,虽然这种教学模式可以循序渐进地把C语言的结构化程序设计思想和知识传授给学生,但是很难培养计算思维和创新能力。因此,在C语言程序设计课程的教学中,转变为以计算思维培养为核心的课程改革势在必行。
三、基于计算思维的C语言程序设计课程的教学改革
(一)更新教学理念
在C语言程序设计课程教学改革中,首要转变的是教学理念,必须从传统重分数的应试教育转变为重能力的素质教育,从传统的传授知识为核心转变为以培养计算思维和创新能力为核心,从传统的教师为中心,转变为学生为中心,尤其是网络教育资源共享化的今天,必须从传统的课堂教学为主转变为学生自主学习主。要让学生在学习过程中不断构建自己的知识体系,养成主动的、不断探索的、自我更新、学以致用和优化知识的终身学习习惯。因此,在课程教学内容、教学过程的各个环节的设计上以及教学方法的使用上,要遵从学生为主体,教师为主导,以学生感兴趣的实际应用问题为出发点,吸引其主动参与到教学活动,采用以问题为导向的教学方法为主,逐步引导学生自主探究解决问题的所需要的知识和方法,从而形成分析问题、解决问题的计算思维能力。
(二)重构教学内容
传统的以C语言的知识为主线的教学内容组织方式重视语法知识的完整表达,侧重语法带动程序设计过程的理解,其一般顺序为概述、基本语法规则、程序控制结构、数组、函数、结构体和文件,这种形式,这使得语法的学习比较单调枯燥。尤其是基本语法规则的教学,实际应用性不强,容易让学生产生厌学情绪,这也是很多学生学不好C语言的重要原因。基于计算思维的教学内容组织方式侧重结构和思想的深入理解带动基本语法的理解,其一般顺序为概述、简单程序、程序控制结构、数组引入、函数思想、结构体和链表的应用和文件的应用。重构后的教学内容将基本语法规则渗透到了各个知识点的教学过程中,并在教学过程中往往以有趣的或者实际问题为切入点,激发学生学习兴趣,课堂上以问题求解为核心,引导学生主动探索问题的解决思路,最后帮助学生运用新知识实现此问题。例如:在分支结构的教学内容的组织上,设计基于交通测速仪实现超速记分系统的实际用提出问题,让学生探索解决问题的思路和方法,介绍分支结构的不同实现语句,同时嵌入了比较、关系运算符和条件运算符的使用,让学生在解决实际应用过程中掌握知识、应用知识,最后引导学生实现此超速记分系统,从而达到计算思维和实践能力培养的目标。
(三)更新教学方法
传统的C语言程序设计课程采用将知识和结论直接传授给学生的讲授式为主的教学方法,学生对知识的掌握是被动的行为,是一种间接的体验,容易形成思维定式,限制了学生的想象力和创造能力,不适合学生的个性化学习需求。随着大规模的大型开放式网络课程(MOOC)资源的开放和共享,基于问题导向的学习(PBL)的教学方法尤为适合当前的情形,PBL以解决问题为中心,以学生的主动学习为主,强调教师的引导作用,把学习设置到复杂的、有意义的真实问题情景中,充分调用了学习的积极性和主动性,通过多种学习途径,学生自主探究和合作来解决问题,从而学习隐含在问题背后的科学知识,形成解决问题的技能和自主学习的能力,从而达到对计算思维、沟通合作能力的培养目标。
(四)完善考核方式
C语言程序课程是一门实践性很强的课程,以往的教学过程中教师授课偏重语法,考核形式也以语法和语义的理解以及简单程序设计进行考核,一般采用闭卷笔试的形式为主,上机实践考核为辅。这种考核方式使得学生重语法轻实践,不能很好的检验学生的计算思维和实践动手编程能力。因此,改变原有的考核方式具有积极的引导作用。采用类ACM竞赛类型题或者基于某一需要解决的实际问题进行上机实践考核与解决具体实际问题的实践项目开放式实践考核的形式更适合C语言程序设计课程。
四、结语
随着人工智能技术的飞速发展与广泛应用,拥有计算思维和编程实践能力成为智能化时代的入场券,C语言程序设计课程作为第一门入门语言,自然肩负着从现实世界过渡到计算机世界,理解计算机世界的处理问题的思维方式——计算思维的重任。加之互联网上大量的优质MOOC资源的开放和共享,促使我们不得不对现有的C语言程序设计的教学进行改革。因此,必须将计算思维贯穿到C语言程序设计的教学中来,更新以学生为主体,教师为主导的教学理念,以注重实践为导向,对C语言教学内容进行全方位的重构,通过多中教学方式和方法的使用,充分调用学生学习的积极性和主动性,从而提高教学质量,以达到课程培养具有计算思维和实践编程能力的培养目标。
【参考文献】
[1] J.M. Wing. Computational Thinking[J]. Communications of the ACM, 2006, 49(3): 33-35.
[2] Barrows H S . Problem‐based learning in medicine and beyond: A brief overview[J]. New Directions for Teaching & Learning, 2010, 1996(68):3-12.
[3]苏小红, 车万翔, 王甜甜, et al. 如何在程序设计课程中培养计算思维能力[J]. 工业和信息化教育, 2013(6):32-36.