前言:想要写出一篇引人入胜的文章?我们特意为您整理了计算思维为下的C语言程序设计教学范文,希望能给你带来灵感和参考,敬请阅读。
摘要:分析计算思维对大学生的培养非常重要。本文提出C语言程序设计课程加强计算思维的训练,比单纯讲授知识更重要,将计算思维方法在课程教学中加以运用,可以提高学生综合分析问题和解决问题的能力。
关键词:C语言程序设计;计算思维;教学研究
1引言
C语言程序设计课程是大学计算机专业的入门课程。教学过程中存在一些问题,如部分学生认为难度很大、学习不感兴趣等。为更好地了解实际情况,针对大一新生做了问卷调查,结果如表1所示。表1显示,新生中有接近一半在高中阶段选择文理兼修。他们的思维与纯理科生存在一些差异。另外,在学习C语言的过程中,学生的主要问题是如何能通过编写程序解决实际问题。因此,在进行C语言授课时,老师应该更注重计算思维的训练。这比单纯的讲授相关知识更加重要[1]。如何把重点知识与计算思维相结合并进行融会贯通,是值得思考的问题。
2计算机思维
计算思维主要有算法思维和程序思维两大分支。最初计算机采用“计算”这一概念时,就出现过“计算思维”这一常用名词,也被称为“算法思维”,是将问题转换为从输入到输出的转换过程。此时,计算机作为工具更多应应用在数值计算中[2]。周以真教授提出计算思维(ComputationalThinking)是指运用计算机科学的基础概念去求解问题、设计系统和理解人类行为,其本质是抽象和自动化[3]。很多专家学者认为,计算思维是人类应具备的第三种思维。第一种思维是实验思维:通过实验来观察结果,发现、推断与总结。这种思维强调观察与归纳。第二种思维是理论思维:通过假设、预设来推导出定义、性质、定理并且通过各种方法来证明其正确与错误。这种思维强调推理和演绎。而计算思维强调的是设计与构造。它关注的是人类思维中有关可行性、可构造性和可评价性的部分。在当前环境下,理论与实验手段面临着大规模数据的处理,不可避免地要应用计算手段来辅助[4]。人类的思维方式与机器不同。人在解决某个问题时,一般会寻找某种公式来快速解决。人类求解的方式,希望有较小的计算量,只需要根据数学公式或经验,就能找到相应的答案。但是计算机需要按照指令完成相关工作。人类要根据计算机的特点,遵循计算思维,设计一定的算法来进行求解,这就要求按照计算思维的特点来进行设计。例如求解12和18的最大公约数的问题。人类往往能根据经验,一眼就判断出答案是6。而计算机却没有这个能力,需要设计一些算法来解决。第1种方法是枚举法。这种方法的求解过程,规则可能很简单,只要把满足条件的结果都列举出来,逐个测试,但是计算量很大,需要循环多次。求最大公约数的步骤为:(1)设变量i为1;(2)如果a和b都能被i整除,则记下这个i;(3)i加1,重复第2步,直到i等于a或b;(4)记下最大可以整除的a和b的i,就是最大公约数。第2种方法是辗转相除法。这种算法效率较高,但是对于人们来说不易理解。其步骤如下:(1)如果b等于0,计算结束,a是最大公约数;(2)否则,计算a除以b的余数,让a等于b,b等于那个余数;(3)回到第1步。通过上述比较可以看出,学习程序设计类课程,掌握计算思维,遵循计算机思考的方式来解决问题,是一种非常重要的能力。
3基于计算思维的教学
将计算思维能力的培养贯通在C语言教学中,有目的地培养学生应用计算思维解决平时学习遇到的问题,以达到提高学生解决实际问题的能力。(1)将语法融入问题的求解中。从实际应用案例中抽取教学要素。从算法的维度,将迭代、枚举、递归、分治、排序等算法融入实际问题的求解过程,让学生在潜移默化中提高计算思维能力[5]。例如,可以利用韩信点兵的案例,融入的知识点包括逻辑运算符和break的使用,同时将枚举法的算法思想引入教学中。这样可以让学生在学习新知识的同时训练计算思维。如何将一个具体的问题进行抽象是解决问题的关键。韩信命令士兵5人一排,结果多出3人。命令士兵7人一排,结果多出6人。命令士兵11人一排,结果多出4人。提出韩信的兵人数满足什么条件?在计算机中如何表达出人数的条件?引出逻辑运算符,于是韩信点兵的人数使用C语言写出表达式为i%5==3&&i%7==6&&i%11==4。然后引导学生学会思考如何应用计算机C语言来解决这个问题。提出利用计算机运行速度快的特点,发挥它的优势,让它来逐个检验。检验的范围在500----1000之间,使用循环语句可以解决这个问题,进而引出枚举法的思想。枚举法是计算机解决问题很擅长的方法。利用运算速度快、精确度高的特点,能对解决问题的所有可能情况一个不漏地进行检验。枚举法应用广泛,学生掌握这种方法,可以举一反三,求素数、闰年等很多情况下可以都使用。这种思想对计算思维的理解,对以后的学习和工作都有很好的帮助。(2)采用图示化方法。将复杂的思维来进行描述,可以让学生对所接受的问题一目了然。对于复杂的问题,可以先通过规模较小的问题求解。(3)通过OJ平台在线训练学生的编程能力。通过不断做题,强化学生的实际动手能力,挑选经典的问题,用经典的算法进行求解,培养学生的计算思维能力。
4总结
在C语言程序设计教学中,将计算思维的培养作为教学的重要指导思想来促进授课方式的改革,势在必行。在教学中发现,学生使用计算思维来求解遇到的问题有助于能力的提高,有助于培养大学生的创新能力。当学生具备一定的计算思维能力后,需要举一反三地解决所遇到的问题,将所学知识融会贯通,以达到事半功倍的效果。
参考文献
[1]赵美利,牛晓峰.师范类计算机课程体系与计算思维的培养.贵阳学院学报(自然科学版),2016,11(01):78-80
[2]王梅娟,李辉,韩敬利,郑长友,蒋园园.基于计算思维的大学计算机基础课程改革研究与实践.计算机教育,2020(03):59-63
[5]揭安全.高级语言程序设计—基于计算思维能力培养.北京:北京邮电出版社,2015
作者:胡华 王莹 单位:枣庄学院信息科学与工程学院