计算思维在C语言程序设计教学中的应用
2017-07-05涂小琴
涂小琴
摘 要:本文讲述了学习“计算思维”的重要性,阐述了在教学C语言时,通过提问式的语法讲解培养学生的“计算思维”这一教学方法。同时,借助实践,通过经历分析问题、解决问题这一过程,加强 “计算思维”的培养训练,提高学生分析问题,解决问题的能力。
关键词:计算思维 C语言 语法 实践
引 言
随着“计算思维”概念的提出,“计算思维”已不仅仅属于计算机科学家,而应是每个人需具备的能力,计算思维是运用计算机科学的基本概念去解决问题、设计系统和理解人类的行为。C语言程序设计是计算机专业一门重点必修课程,但目前的教学还是采用“老师主讲,学生跟着学”这一模式,教师先讲解概念,语法,再举例,最后安排学生练习。学生最后只能应付考试,根本不能将所学知识应用到生活中解决问题。所以,教师需在教学中不断尝试新的教学方法,认真分析需要解决的问题,并将教学案例与“计算思维”结合起来,从而逐步引导学生掌握运用计算思维分析问题,解决问题的方法[1]。
在教学过程中,教师可引导学生感受计算机分析问题以及解决问题的过程,思维模式和基本方法。在教学程序设计时,教师应引导学生明确这门课程的目标不仅仅是学习程序设计语言本身,更是通过程序设计来探索计算机分析问题以及解决问题的思路,即学会如何将实际生活中的问题转化为计算机可以解决的问题,从而思考如何利用计算机求解。在以后的学习过程中,我们应更加注重“计算思维”的培养。
掌握计算机求解问题的各种方法,是培养学生计算思维的关键。在提出问题后,教师可让学生思考以下几个方面:(1)已知的信息有哪些,如何将这些已知的信息转化为计算机可以识别的信息;(2)希望得到什么样的结果,如何根据已知的信息得到结果(即算法);(3)将算法以流程图的形式表示出来[2]。从而得出运用计算思维解决问题的一般步骤:(1)问题的描述;(2)解决问题的算法(流程图);(3)代码的编写;(4)程序的调试。教师应让学生明确一点,计算机之所以能完成我们给定的任务,是因为我们教会了它如何做,如何一步步达到我们想要的结果。[3]
1 计算思维在理论教学中的应用
C语言程序设计课程是程序设计中的入门课程,是学生学习程序设计的基础,同时,也是教会学生用计算机来解决问题的入手点,肩负着多重任务,很多同行对“计算思维”的研究,大多都侧重实践的研究,对于入门的程序设计语言来讲,C语言的理论基础同样重要,教师不仅仅要讲算法,还需要讲清楚语法,对于新入门的学生来讲,掌握好语法,可以大大减少学生在编程过程中出现错误。笔者回顾这几年对C语言程序设计的教学过程,发现对于刚学习程序设计的学生来讲,如果对语法不熟悉,在编程的过程中,就会出现各种错误,大部分学生因为经常出错,从而对这门课程产生畏惧感,渐渐地学生也会对这门课程失去兴趣,在整个学习过程中,真正能学好的学生并不多。所以,在学习初期,对语法的讲解就显得非常重要。
如何理解数据类型以及变量呢?
加强对语法的教学,并不是简单地加大理论课的课时量,而是通过“计算思维”,利用启发式教学,让学生知其然,也知其所以然。例如,在教学语法的时候,对于数据类型的教学可以通过提问的方式进行。如,说到数据,大家想到哪些?让学生自己展开联想,他们很容易想到数字以及文本。将数字分类,就是整数和小数了。要让计算机为我们工作,首先要告诉计算机是对什么样的数据进行工作,所以,需先区分数据的种类,同时,为了让计算机更好地分辨数据的种类,再给这些数据类型取一个计算机可以识别的名字,如int, 即告诉计算机It is a integer。让学生理解为什么要这样做,学生在编写代码的时候就不会死记硬背了。如,再提问,如何让计算机完成两个整数的乘法操作?答案当然是写一个程序,接着问:具体应该如何写呢?是不是像写文章一样,什么字都可以往里面写呢?显然答案是否定的。那怎么告诉计算机要对两个整数进行相加呢?用刚才的数据类型可以解决这个问题,那么相加的结果又要放在哪里呢?所以,从这里又可以引入“标识符”的概念。为什么书上说:标识符不能以数字开头,例如,“3b”这种形式呢?这与我们的日常生活习惯有关。
为什么“int ”不能作为标识符?因为在C语言中“int”代表一个整数,计算机读到“int”的时候,就会自动识别为它是一个整型。所以“int”不能再用作其他用途。让学生了解当中的“为什么”,可以避免学生陷入死记硬背的误区,同时帮助他们深刻地理解“计算思维”的機械性及确定性的特征。
2 计算思维在实践教学中的应用
“计算思维”中的“计算”是广义的计算。随着信息化的全面推进,“计算机”无处不在,网络(包括物联网等)也延伸到了各个角落,加上数据积累的简单化、容易化,使“计算思维”成为人们认识和解决问题的重要方式之一[6]。“计算思维”是一个将复杂问题步骤化的过程。而C语言是一种面向过程的语言,在进行C语言编程的过程中,可以将“计算思维”融入其中。以下为设计程序调试的案例:实践是提高学生编程能力的主要手段,在理论教学的过程中,虽然教师多次提醒学生需要注意细节,但学生在动手编程的过程中,更容易在细节中出错,从而导致学生对这门课程产生抵触心理。为了让学生深刻理解C语言程序的特点,教师可以提供程序代码,将学生容易犯的错误通过程序进行展示。让学生通过调试找出其中的错误,使学生自主发现自己编写的程序中的错误,进而提高他们编写代码的能力。
2.1 模仿教师教学案例
在给学生讲解案例的时候,教师可以先提出问题,让学生有个思考的过程,例如,在讲解“枚举法”的时候,教师可以先提出问题,让学生求“水仙花数”。水仙花数是一个三位数,这个数需满足条件:个位的立方+十位的立方+百位的立方=这个数本身。先进行分析,如何确定水仙花数的范围,如何提取数的个位,十位,百位,让学生学会将问题细化,以达到解决问题的目的。讲完这个案例,我们可以让学生完成诸如“百钱买百鸡”问题,同样是先学会分析,将问题步骤化,然后再让学生将解决问题的算法以流程的方式画在纸上,再将算法转换为程序代码,最后进行调试,用这种方法可以迫使学生用计算思维进行思考,掌握计算机解决问题的方法和思路。
2.2 问题求解
问题求解是对所学知识的灵活应用,例如,在学完数组以及函数后,可以通过编程求解“农夫过河问题”,重点要求学生按问题的求解步骤完成,即包括问题的描述、求解的算法过程(流程图)、代码的编写、代码的调试。通过对问题进行求解,可以引导学生经历运用计算思维解决问题的思考过程,以及对所学知识的巩固,同时提高了学生分析问题以及解决问题的能力。
2.3 综合应用
随着计算机在各个领域的广泛应用,计算思维也受到了广大师生的重视,引入计算思维也是为了提高课程的教学质量,让学生学以致用。当课程接近尾声时,学生能够用C语言编写一些简单的应用,如“数码游戏”“日历系统”等。这样,不仅能将所学的知识融会贯通,还可以在编写的时候对算法的效率,用户界面的友好性提出要求。这样,更有助于学生对算法进行深入探究,更好地掌握求解的思路及方法,提高学生对计算机的应用能力。
3 结语
通过将程序设计的算法思想与计算思维相结合进行教学,不仅有利于学生用计算思维解决问题,而且还能提高学生创造性地解决问题的能力。同时,也能让学生更好地理解计算机解决问题的方式,对提高学生运用计算机解决问题具有积极的作用。
参考文献:
[1]孙丽君,杨志强,高枚.围绕计算思维培养的程序设计课程改革[J].计算机教育,2013(5):29-31.
[2]牟琴,谭良.计算思维的研究及其进展[J].计算机科学,2011(3):10—15.
[3]龚沛曾,杨志强.大学计算机基础教学中的计算思维培养[J].中国大学教学,2012(5):51—54.
[4]于晓强,赵秀岩,闰丕涛.计算机程序设计课程中计算思维能力的培养[J].计算机教育,2011(13):22—25.
[5]徐新梅,林宇斐.注重计算思维的启发式C语言语法教学[J].计算机教育,2014(17):1-4.
[6]李晓明,蒋宗礼等.积极研究和推进计算思维能力的培养[J].计算机教育,2012(5):1.endprint