您的位置: turnitin查重官网> 汉语言文学 >> 近代文学 >试谈基于计算思维能力培养“C 语言程序设计”教学方法

试谈基于计算思维能力培养“C 语言程序设计”教学方法

收藏本文 2024-02-07 点赞:30555 浏览:135725 作者:网友投稿原创标记本站原创

摘要:论文简单介绍了计算思维的概念和特征,分析了计算思维教育与《C语言程序设计》课程教学之间的关系,探讨了面向计算思维能力培养的课程教学策略改革。通过实例,着重讨论了在教学过程中如何有效地培养学生计算思维能力和创新能力,在实际教学中取得了一定的成效。
关键词:计算思维;C语言程序设计;算法;教学策略
1009-3044(2013)32-7291-03
目前,计算思维能力的培养已成为计算机教育重点研究的课题之一,作为计算机专业的专业基础课和非计算机专业的公共基础课,《C语言程序设计》是培养学生计算思维能力的理想课程。通过该课程的学习,学生应学会理由求解的基本思路和策略,具有一定的编程能力,并能理解计算机思维的过程和学会利用计算学科的思想、理论、策略和技术解决客观世界实际理由的思维策略,然后把相应的思维与策略内化为“策略论”,更广泛地为工作、学习与生活怎么写作。因此在《C语言程序设计》课程的教学中探索适合培养计算思维能力的教学策略十分必要。

1 计算思维

最早提出计算思维教育理念的是美国卡内基·梅隆大学的周以真(Jeannette M. Wing) 教授,计算思维的概念一经提出就引起了国内外教育界的广泛关注,周以真教授倡导的是系统的加强计算思维教育。计算思维是运用计算机科学的基础概念去求解理由、设计系统和理解人类的行为[1]。它包括了反映计算机科学领域的一系列思维活动。周以真教授认为计算思维是人的思维,是人们利用计算科学的思想、策略、理论和技术解决客观世界实际理由的思维策略,这与我们强调的培养学生具有分析理由和解决理由的能力是一致的。周教授认为计算思维是一种递归的思维、是一种通过约简、转化和仿真等策略将一个复杂的理由剖析成一个我们会求解理由的思维策略、是一种基于关注点分离的策略、是一种采用抽象和分解来进行复杂系统设计的策略、是一种利用启发式推理寻求解答的策略,对于系统的设计要考虑它的简洁和美,对一个程序的评价要考虑它的准确性和效率。计算思维的本质是抽象(Abstraction)和自动化(Automation)[2],反应了计算的最根本理由[3]:什么能被有效的自动进行?周以真教授还认为计算思维不仅仅属于计算机科学家,它应是每个人应有的基本技能,对于大学生来说,我们更应该培养他们的计算思维能力,在大学中应将计算思维能力培养推进大学通识教育之中。其实周教授所描述的计算思维教育一直隐藏在我们的教学中,计算思维教育重要目标之一就是培养解决理由的良好意识,而我们在教学中有意无意地都在培养学生分析和解决理由的能力,只不过在以前的教学中未将这种思维特征显式的表示出来而已。美国计算机科学技术教师协会指出,学校的每一类课堂教学都应该采用计算思维这样一个工具。对于大学一年级学生必修的《C语言程序设计》课程来说,究竟采用什么样的教学策略才能更有助于学生计算思维能力的培养,值得我们探究。

2 计算思维教育与《C语言程序设计》课程教学

计算思维教育的最主要的目标之一就是培养学生解决理由的良好意识,也就是说当碰到实际理由时,就能意识到能否利用计算学科的思想、策略和技术来求解。当学生具备了应用意识以及相关知识,碰到应用领域的实际理由时就会意识到如何去解决。计算思维能力的培养不仅要培养学生解决理由的意识,同时还要培养相应的能力,只有这样才能掌握正确求解理由的策略和技术,才能达到解决理由的目的。所以说计算思维教育不是灌输一大堆概念与知识,而是要注重培养学生解决理由的思想、策略、意识、兴趣和能力。计算思维最本质的内容是抽象与自动化:抽象是通过简化、转换、嵌入、递归等策略将一个较复杂的理由转化为许多简单理由,然后再进行求解的过程[4];自动化是利用计算机的运算能力来实现理由求解,以弥补人的计算缺陷。抓住了这两个核心就能有效地培养学生的计算思维能力。
程序设计类课程是训练学生思维的一个非常有效的平台,计算机专业会开设多门程序设计类课程,但对于非计算机专业的学生来说,一般只开设一门程序设计类课程,所以大一开设的《C语言程序设计》课程对非计算机专业的学生的计算思维和创新能力的培养起着非常重要的作用,事实上《C语言程序设计》课程中的许多知识为计算思维的培养提供了很好的案例基于计算思维能力培养的“C 语言程序设计”教学方法由优秀论文网站www.udooo.com提供,助您写好论文.。但这门课程目前大多采用传统的教学策略:“先讲授理论知识,然后上机实践”,上机实践的目的也是用来巩固课堂上所学的知识点。随着知识点的增加,大量难理解、难记忆的新概念和新规则的出现,学生会觉得这门课程越来越难学,学习兴趣和学习主动性逐渐下降,学习效率低下。并且这种偏重于理论讲解的教学策略,在一定程度上束缚了学生思维的发展,大多数学生面对实际理由的求解和实际应用程序开发根本无从下手,限制了学生自主发现和解决理由的能力的发展。C语言程序设计课程的主要任务之一就是培养学生的编程能力,编程能力是计算思维和技能化知识的综合体现,而检验计算思维能力的结果就是实践操作,所以在教学中一定要重视实践环节。在实践教学环节要求学生能编写程序解决实际理由,如果学生不能综合运用所学的知识、也没有探索精神,那对学生来说是有一定难度的。如果上机环节没有激发学生的学习兴趣的案例和理由,学生也会感到乏味,从而知难而退。所以,要提高学生的编程能力就要有目的对学生的抽象思维、算法设计、代码编写、程序调试、程序分析等能力进行训练,同时要提高学生的学习兴趣。将计算思维融入到《C语言程序设计》课程的教学中将会转变学生的思维方式,在教学时还应把握一个中心点:计算思维是一种策略论,从策略论层面培养学生求解理由的意识,这样课程就会变得生动有趣了,学生也容易接受。然而,运用什么样的教学策略才能有效的将计算思维融入到《C语言程序设计》课堂教学中,以提高学生运用计算机知识抽象和分解理由的能力,是一个挑战。当然,让学生潜移默化地掌握计算思维,无疑是最佳选择。
3 面向计算思维能力培养的课程教学策略改革

3.1融计算思维于案例教学中,激发学生学习兴趣

我校《C语言程序设计》课程的教学是面对不同专业的学生,所以教学中应与学生所学的学科专业联系起来,对不同的学科专业选用不同的教学案例,通过合适的、面向不同学科专业的实例达到既阐析计算思维,又给出面向特定学科专业的范例教学效果。具体的做法是:先选用合适的应用实例并提出理由,然后由理由引入知识点、由知识点带动语法的掌握、由语法规则推动计算思维的理解。也就是说先让学生对所学的知识产生兴趣,有了一定的感性认识后再提升到理论高度,循序渐进地掌握知识。例如在学习循环结构时,面对体育专业的学生就可举“大奖赛评分”的例子,面对数学专业的学生可选用“求1!+2!+3!+……+20!的值”、“判断一个数n是否为素数”、“打印乘法九九表”等这种与数学有关的例子,面对英语专业、中文专业的学生可选用“从键盘输入20个字符,分别统计出其中大写字母、小写字母、数字字符、空格字符和其它字符的个数”的例子,其它的专业可选用“猴子吃桃理由”:有若干个桃子,猴子每天早上吃前一天剩下的一半零一个,到第十天时只剩下一个桃子,问猴子在吃这些桃子之前共有多少个桃子?由于这些理由或者与学生所学的专业有关联或者比较有趣,学生会由此对所学的知识也产生兴趣,而且这些例子都具有计算思维的显著特征,对培养学生的计算思维是非常好的案例,学生也能在兴趣中主动接受新知识及培养思维。
计算思维是一种理由求解的思维,它将理由求解的过程用程序化的方式表达出来[5],计算思维的自动化是“机械式”的按照步骤自动执行,因此对理由的求解就要有精确的算法描述和严格的符号表示。当学生面对实际理由时,根据已有的知识提出理由求解的方案,并用算法进行描述,然后编写程序,最后用机器来验证理由求解结果。例如对于“猴子吃桃理由”这个案例,根据计算思维的特征和高效,引导学生用计算思维的递归策略发现和解决理由,并引导学生用N-S图精确描述算法,再用C语言中相应的语句编写程序。这样,学生在学习过程中体会递归算法的思想和过程,并掌握递归策略和C语言中相应的知识和语法,当碰到类似的理由就会想到用类似的策略解决理由。

3.2采用多角度思维训练的教学策略,以激励学生的创新意识

《C语言程序设计》课程中计算思维能力的培养主要体现在对学生分析理由和解决理由能力的培养,那在教与学过程中如何培养呢?首先教师要设计一个能吸引学生注意力理由,并仔细分析该例子的代表性、应用性和趣味性,例如对于循环结构这个知识点选用“猴子吃桃理由”是一个很有代表性的例子,学生根据老师提出的理由,深思解决理由的策略,老师适时为学生提供帮助,运用计算思维的各种策略启发学生,对于这个理由可启发学生用递归的策略求解,逆向思维,从后面往前推断。当然,在教学过程中,老师还需要尊重学生的个性发展,鼓励学生提出不同的解题策略,不断启发学生,让他们积极主动的探究学习,使其能举一反三。
程序设计类课程的价值之一在于训练和提高学生的计算思维能力[6],不能让学生只按照老师逻辑思维解决理由,所以学生在设计算法时,鼓励学生对同一个理由设计多种不同的算法,这样有利于培养学生创新意识。当然,还要注重算法的简化和优化,在众多的算法中找到一种最优的算法。例如“百钱写百鸡”理由可用三重循环来实现,但仔细一分析还可只用二重循环来实现,并且循环次数由106降低到104,一个简单的改善让学生看到算法优化的魅力,进一步再启发学生算法是否还可改善?循环次数是否还可以降低?这样采用多角度思维训练方式就可充分调动学生学习的积极性,激发学生的学习热情和创新意识。

3.3融计算思维于实践教学环节中,强化计算思维的训练

对于实践性很强的《C语言程序设计》课程的教学,上机实验应是教学的核心,也是培养学生计算思维能力的一个重要环节,所以在该课程的教学中需重视上机实践这一教学环节。过去常用的 “先讲解程序后上机实验” 这种传统教学策略,一般只能增加学生的感性认识及培养学生的上机能力,不能很好的培养计算思维能力。另一方面,大学生一般对一些具有挑战性的任务具有浓厚的兴趣,所以设计的实验任务尽量要生活化和趣味化以激起学生的兴趣,实验任务还需具有一定的综合性来增强实验的难度,从而强化计算思维的训练。例如在分支程序结构中可以安排火车计费程序或计算个人所得税额程序等。教师在设计实验内容时还要注重培养学生的创新思维,也就是说教师设计的实验内容要适合学生的知识结构和心理特点,同时为学生创新思维留出空间,要求学生勇于探索,并引导学生认真深思寻求多种解题思路,在计算过程中培养学生的严谨性,引导学生对所设计的算法进行必要的优化,然后使用正确的语句编写程序,并通过上机调试与修改程序运转得到正确结果,在研究理由的求解过程、算法设计与优化及程序调试过程中强化计算思维的训练。

4 结束语

将计算思维融入《C语言程序设计》的课程教学中,作为一种教学改革尝试,其目的就是将程序设计中所涉及的计算思维潜移默化的植入学生的日常思维。在教学中从有利于培养学生计算思维的角度重新组织该课程的教学内容、改革教学策略,在教学中注重加强学生计算思维能力的培养,使学生学会理由求解的基本策略,能自觉运用计算思维的策略来解决客观世界的实际理由。虽然在教学实际中取得了一定的成效,但通过这一门课程来形成计算思维显然是远远不够的,作为21世纪人类必备的技能之一,计算思维的培养势在必行。然而,在课程教学中,采用什么样的教学策略能才能更好的培养和提高学生的计算思维能力,依然是值得探索的理由。
参考文献:
[1] Wing J M. Computational Thinking[J]. Communication of the ACM, 2006(49): 33-34.
[2] Goldman C V,Zilberstein S.Decentralized control of cooperativ基于计算思维能力培养的“C 语言程序设计”教学方法由专注毕业论文与职称论文的www.udooo.com提供,转载请保留.esystems:Categorization and complexity analysis[J].Journal of AI Research,2004.
[3] 董荣胜.计算思维与计算机导论[J].计算机科学,2009,36(6):50-52.
[4] 陈杰华,戴丽娟. 以培养计算思维为核心的程序设计实验教学[J].实验技术与管理,2011,28(1):125-127.
[5] 张耀文. 基于计算思维的程序设计课程案例教学法研究[J].重庆电子工程职业学院学报,2012,21(3):149-160.
[6] 于晓强,赵秀岩,闫丕涛. 计算机程序设计课程中计算思维能力的培养[J].计算机教 育,2011(13):18-21.

copyright 2003-2024 Copyright©2020 Powered by 网络信息技术有限公司 备案号: 粤2017400971号