APP下载

利用案例融合计算思维与C语言教学

2016-03-11赵丹枫

考试周刊 2016年5期
关键词:计算思维程序设计案例

赵丹枫

摘 要: C语言程序设计的教学目标是使学生利用C语言结合算法解决简单的实际问题。要实现该目标不仅要熟练掌握C语言本身的基本语法和结构,还要具备设计合理算法的思维能力。然而,当前各高校课程教学往往忽略思维能力的培养。本文提出通过实际应用案例将计算思维与程序设计语言有机结合的方法,在教学过程中利用实际案例激发学生的兴趣,将计算思维贯穿于程序设计语言的学习过程中,提高学生的主动性,以数组为例介绍该方法的实际应用,通过实际对比数据证明该方法具有较好的教学效果。

关键词: 计算思维 程序设计 案例

1.计算思维的概念

计算思维是运用计算机科学的基础概念求解问题、设计系统和理解人类行为的一系列思维活动。计算思维的本质就是抽象(Abstraction)与自动化(Automation)[1]。

计算思维包括“0和1”思维、“程序”思维、“递归”思维、“算法”思维和“系统”思维。0和1是实现任何计算的基础,是最基本的抽象与自动化机制;程序是基本动作(指令)的各种组合,是控制计算系统的基本手段;递归是最典型的构造程序的手段;算法是计算的灵魂,在有限的时间空间内,设计尽可能快速的算法,要考虑可计算性与计算复杂性;系统化复杂为简单,强调结构性、可靠性、安全性等[2]。

没有思维的程序设计语言教学是无意义的;没有落脚点的计算思维永远只是浮于纸面的理论,因此将二者结合在一起进行教学实践,并实际案例推动理论知识的学习,对学生的学习具有十分重要的意义[3,4]。

2.利用案例融合计算思维与C语言教学

从计算思维的角度可以将C语言的教学分成几个大模块:

(1)算法。算法是程序设计的灵魂,遇到问题时要按下面的过程才能将人类的基本解决办法最终转换为计算机能够执行的指令:基本想法—算法—程序—指令。其中算法是连接基本想法和计算机语言的重要桥梁。

(2)时间。C语言程序设计的三大基本结构:顺序结构、选择结构、循环结构,以及C语言模块化程序设计的基本实现单位-函数,这四部分内容的灵活应用是提高程序执行效率的基础。

(3)空间。基本数据类型、数组、指针、结构体、链表、共用体等内容的学习,使得学生掌握如何灵活有效地利用计算机存储单元。

在这些模块的学习过程中,植入一些学生喜闻乐见的案例,将这些案例贯穿始终,能有效地激发学生的兴趣,吸引学生自主地体验程序,感受利用计算思维和程序解决问题的过程,使学生更仔细认真地学习理论知识,同时也愿意进行更多的实践与探索,这种引导是这门课程的重点。经过反复摸索实践,学生感兴趣并能够贯穿始终的几个案例包括:π的求解、费伯纳西数列的计算、成绩最值及排序问题等。

3.“利用数组解决排序问题”—以数组为例解析教学设计

数组在C语言中的重要性在于空间存储特点,便于计算节省时间。因此,可构建如下教学设计。

(1)问题的引入。向学生抛出一个应用排序的常见场合。我们在外出时常常利用大众点评、口碑网、yelp等寻找美食等,这些应用可以按照我们的要求以“距离”等指数进行排序。我们使用这种服务的时候,是否想过这类网站是如何实现这种排序的呢?这是现在学生都非常熟悉的内容,能够马上引起共鸣和好奇感。

(2)思维的培养。对于该问题,学生用已有知识会想到定义很多的变量进行存储,再不断地比较大小实现排序,然而,数据量非常大的时候,问题很难解决。因此,带领学生思考需要怎样的数据类型能快速解决该问题,引出数组的概念。

(3)演示及分析。动态演示程序执行过程并强调相关理论知识,如数组元素的存储、数组元素的遍历与循环的关系等,如图1所示。理论和实践相结合,分析用数组解决这个问题的优点:①节约空间,由于数组中元素的存储是顺序并连续的,避免多个普通变量存储的随机性造成空间利用上的浪费;②节约时间,元素的顺序可标识性化简了对大量数据的计算复杂度。因此数组的应用是计算思维的体现,尤其反映了其中的算法思维和系统思维。

4.方法验证

根据笔者的实际教学过程,2013年采用传统的教学模式,单纯讲解程序设计语言,2014年在部分章节如计算思维的引入、循环、数组等尝试应用该方法,2015年全面应用,按照三年的学生成绩,得到各个知识点的教学达成度,总分为5。结果表明,学生对计算思维的认识与运用得到了极大的强化,也带动了各知识点的成绩大幅度提升,因此该方法取得了良好的教学效果。

5.结语

本文提出了通过实际应用案例将计算思维与程序设计语言相结合的教学方法,实际案例的引入可以激发学生的热情,计算思维与C语言教学融合在一起,让学生认识到解决实际问题离不开编程语言中语法、句法的细节学习,也离不开计算思维的运用。该方法极大地提高了课堂教学效率,使学生更主动地进行程序实践与探索,也提升学生对理论知识的掌握程度,不仅学会知识点,更学会灵活运用知识的思维方式。

参考文献:

[1]刘向永,周以真,王荣良,李冬梅.计算思维改变信息技术课程[J].中国信息技术教育,2013,06:5-11.

[2]李廉.计算思维—概念与挑战[J].中国大学教学,2012(01):7-12.

[3]杨杏芳.新的知识观课程观与大学教育教学改革[J].贵州师范大学学报:社会科学版,2005,5(1):17-111.

[4]游子毅.非计算机专业“C语言”教改方案的探讨与实践.科技创新导报,2015,NO.10:106-107.

猜你喜欢

计算思维程序设计案例
案例4 奔跑吧,少年!
基于Visual Studio Code的C语言程序设计实践教学探索
随机变量分布及统计案例拔高卷
从细节入手,谈PLC程序设计技巧
发生在你我身边的那些治超案例
高职高专院校C语言程序设计教学改革探索
程序设计课程中计算思维和应用能力培养问题研究
民族高校C语言程序设计课程教学改革的研究
算法的案例教学探析
浅谈艺术专业学生计算思维能力的培养