公务员期刊网 论文中心 正文

程序设计课程中计算思维能力培养

程序设计课程中计算思维能力培养

【摘要】程序设计课程是培养计算思维的最佳知识载体,在研究和分析计算思维的基础上,提出了课程中培养计算思维的方法,包括普及计算思维概念、引导学生正确认识计算思维、设计综合案例引导学生理解计算思维等,激发学生的学习兴趣,培养学生程序设计能力和计算思维能力。

【关键词】计算思维;程序设计;能力培养

1引言

科学思维是指在人类科学活动中所使用的思维方式。人类认识世界和改造世界有三种思维方式:以推理和演绎为特征的逻辑思维,以观察和归纳自然规律为特征的实验思维,以抽象化和自动化为特征的计算思维[1]。2005年美国总统信息技术咨询委员会(PITAC)在《计算科学:确保美国竞争力》一文中提出:虽然计算本身是一门学科,但是其具有促进其他学科发展的作用。21世纪科学上最重要、经济上最有前途的研究前沿都有可能通过熟练掌握先进的计算技术和运用计算科技而得到解决。报告建议将计算科学长期置于国家科学与技术领域中心的领导地位。随后,美国、英国、澳大利亚等多个国家都将计算思维作为其信息技术课程的重要内容,国内也提出了将计算思维纳入高中和大学的核心素质培养要求。可见,培养学生的计算思维已成为大势所趋。程序设计课程作为非计算机专业学生的所必修的一门计算机基础课程,其内容最能够体现语言级的问题求解方法[2],是培养计算思维最好的载体,因此,如何在程序设计教学中有意识地培养学生的计算思维,提高学生应用计算机知识分析和解决问题的能力,成为了迫切需要解决的问题。

2计算思维

2006年,美国卡内基•梅隆大学的周以真教授(J.M.Wing)在计算机权威杂志ACM上,对计算思维(ComputationalThinking)进行了明确的定义。她指出[3]:计算思维涉及运用计算机科学的基础概念进行问题求解、系统设计和理解人类行为,它涵盖了反映计算机科学之广泛性的一系列思维活动。是通过约简、嵌入、转化和仿真等方法,将一个看来困难的问题重新阐述成一个我们知道怎么解决的问题。计算思维如同阅读、写作、算术一样,应当是信息时代的每个人都具有的一种思维方式,并不是只有计算机科学家才有。计算思维的核心是抽象和自动化。抽象是省略不必要的细节、把重要的部分抽离出来的过程,它关注对象的本质特征;自动化指的是计算在物理系统自身运作过程中的表现形式,什么能被有效地自动化是计算学科的根本问题[4]。计算是抽象的自动化,自动化隐含着需要某类计算机去解释抽象。计算思维是借助通用智能工具求解问题的一种方法,涉及理解和运用计算机科学的基本概念、递归思想、抽象化、形式化、枚举、搜索和启发推理等[5]。培养计算思维可以让学生合理选择合适的工具来分析、解决现实世界中的复杂问题。计算思维并不是现在才出现的,自古已有萌芽,随着计算工具的发展而发展,如算盘就是一种没有存储设备的计算机,提供了一种用计算方法来解决问题的思想和能力[6]。计算思维是受过良好训练的科学家面对问题时所采用的一种思维方法,曾经是只属于少数人的专利,随着现代计算机的迅速普及,计算作为一种智力活动的门槛被打破,计算思维不再是少数人的专属,而是成为所有人都应当拥有的、不可或缺的思维方式。现代计算机的出现强化了计算思维的意义和作用。

3课程中计算思维能力的培养

3.1普及计算思维的概念

让学生认识到计算思维,才能更好地学习和利用它。罗宾•威廉姆斯在《写给大家看的设计书》中开篇提到的约书亚树的例子,作者在看到书中约书亚树的照片时,觉得树长得很奇怪,自己从未见过这么奇怪的树木,然后走出家门后,仔细观察,发现周围到处都是,几乎家家都种植着这种树。如果没有认识到它,你就会忽略它的存在,一旦能够说出什么东西的名字,就会很容易注意到它,你就会掌握它,拥有它,使它在你的控制中。事实上,学生在学习和使用计算机的过程中都在不断地培养着计算思维,只不过它是隐性的,若有若无地存在着,很难去识别和表述,现在要让它变成显性的,让学生明确地意识到计算思维的存在。在教学内容中加入计算思维的相关知识,让学生认识到计算思维,这样在学习计算机知识的过程中会更容易体会到其中隐藏的思维方法,有利于计算思维的培养。课程的教学内容包括语言知识、程序设计和计算思维三个部分,以程序设计为主,语言知识和计算思维为辅。程序设计包括问题分析、数学建模、算法设计、编写代码和编译调试等阶段,重点讲授程序设计的思想和方法。程序设计中所涉及的基本算法包括累加、连乘、穷举、迭代、递归、查找与排序等,在教学过程的不同阶段,分别引入这些算法,结合具体的程序语言和实例,进行讲解和练习,并注意上升到思维的高度,让学生关注解决问题时所涉及到的计算思维。语言知识则以程序设计语言必须具备的功能为主,包括基本的语法要素和程序流程控制,其他的都忽略掉,避免学生陷入到繁杂的语言语法规范中去。计算思维部分包括核心概念、计算思维过程阶段要素、内涵和特征等内容。

3.2帮助学生正确认识计算思维,激发学生的学习兴趣

学生对于程序设计课程的认识存在误区,认为只有未来要做程序员的工作,才有必要学习编程,所以在学习的时候动力不足,遇到困难时很容易放弃或退缩。要让学生认识到,学习程序设计课程,不仅仅是学习程序语言和具体的算法,还可以培养学生解决问题的思路和策略,也就是其中蕴含的计算思维。具体的知识是会遗忘的,但是形成的思维能力却不会遗忘,而且会潜移默化地应用到工作和生活的各个方面。“如果人们忘掉了他们在学校里所学到的每一样东西,那么留下来的就是教育。”学习中最终“剩下的”是能力素质,是教学过程中最有价值的东西,其中包括:认识、方法、逻辑、思维、价值、道德、伦理以及观察、研究能力等等。对于程序设计课程来说,最终“剩下来”的就包含计算思维。计算思维是一种解决问题的方法论,可以从计算机领域扩展到所有学科,包括科学、技术、工程、数学,甚至是绘画、音乐等艺术领域,近些年来在很多领域中具有突破性的研究都与计算有关。而且,计算思维还可以应用到生活的各个方面,用于解决现实世界中的各种难题。让学生正确认识计算思维的作用,会促进学生的学习积极性,能够有意识地培养计算思维能力,反过来还可以促进程序设计能力的提升。

3.3设计综合性案例

学生对于语法知识的学习没有问题,能够很好的学会语法知识,也够读懂程序,但是却不会写,特别是遇到一个新的问题,不知道如何开始着手,因此教学的重难点应放在分析问题、算法、编程构思和程序实现上面,尤其是分析问题的思路。设计综合性案例,从对案例的分析开始着手,利用抽象、分解、约简等计算思维方法将复杂的问题一步一步转化为最简单的问题,然后着手解决。而在上机实践时,采用由简单到复杂的方式,要求学生从最小问题求解,然后过渡到复杂问题。让学生体验问题求解的过程,引导学生研究其中的规律,掌握利用计算思维求解问题的步骤和方法。

4结束语

知识、能力和素质是创新的基础,在程序设计课程的学习中,学生能够很好地掌握知识,能力方面有所欠缺,计算素质(包括计算思维)方面最为不足。在以往的教学中比较注重知识和能力的培养,而只有把知识、能力与素质三者紧密结合起来,并贯穿在整个教育过程中,才能培养出高质量的人才[6]。因此,主动地、有意识地将计算思维培养融入程序设计课程中去,不仅有利于学生提高程序设计能力,更有利于学生用计算机学科的思维方式来解决现实问题,培养学生的计算思维能力和解决实际问题问题的能力。从实践结果来看,学生对于课程学习的积极性有了明显提高,自主学习能力、学习效率和学习效果得到了改善。

参考文献:

[1]李廉.计算思维———概念与挑战[J].中国大学教学,2012.

[2]何钦铭,陆汉权,冯博琴.计算机基础教学的核心任务是计算思维能力的培养[J].中国大学教学,2010.

[4]陈国良,董荣胜.计算思维的表述体系[J].中国大学教学,2013.

[5]吴文虎.精心铸精品,理念需先行[J].计算机教育,2008.

[6]谭浩强.研究计算思维,坚持面向应用[J].计算机教育,2012.

作者:方芳 单位:衢州学院电气与信息工程学院

相关热门标签