华拓科技网
您的当前位置:首页计算思维引入程序设计课程实验教学的探索

计算思维引入程序设计课程实验教学的探索

来源:华拓科技网
\\ 文章编号:1007—1423(2013)06—0034—04 DOI:10.39690.issn.1007—1423.2013.06.009 计算思维引入程序设计课程实验教学的探索 陈秋妹 . 林大辉 (福建农林大学计算机与信息学院,福州350002) 摘要:针对程序设计课程实验教学实际,分析计算思维的定义及特征,阐述程序设计课程实验教 学中引入计算思维教学理念的几点探索。 关键词:计算思维;程序设计;实验教学 0 引言 遍是理论课时多实验课时少的现象:其二,教学方式侧 重于灌输理论知识.不注重学生实际动手能力及创新 随着信息技术的快速发展.以及计算机应用的普 及范围不断扩大.各高校也都意识到计算机应用能力 能力的培养,束缚了思维能力的发展.其“计算思维”能 力还有待提升。因此,如何培养和提高大学生的计算思 维能力是值得我们去探讨的问题 对提高学生的信息素质以及今后学习、工作与发展的 重要性 在《中国高等院校计算机基础教育课程体系 2008))中.提出了对大学生计算机应用能力的三大要 求,它们是操作使用能力、应用开发能力和研究创新能 力【ll。目前.各高校根据教育部对非计算机专业计算机 基础教育改革的指导方针均提出了一门“大学计算机 基础”加上几门核心课程的“I+X”的课程设置方案 其 1 计算思维 计算思维(Computational Thinking)于2006年由美 国卡内基・梅隆大学计算机科学系的周以真(Jeannette M.Wing)教授提出,其定义为:运用计算机科学的基础 概念(即思想和方法)去求解问题、设计系统和理解人 类行为[21 它包括了涵盖计算机科学之广度的一系列思 中X主要是指开设程序设计类课程,文科开设《Access 数据库应用技术》,其他专业开设(Visual Basic程序设 计语言》、《C程序设计》等课程,以满足应用开发能力 的要求。 计算机课程是一个实践性极强的课程.实验教学 维活动[2 ̄31:递归、抽象和分解、保护、冗余、容错、纠错和 恢复.利用启发式推理来寻求解答.在不确定情况下的 规划、学习和调度等。计算思维是每个人的基本技能. 其本质是抽象和自动化 就如同我们每个人都应具备 阅读、写作和算术(简称3R)能力一样。计算思维包括 以下几个主要特性[2-3] 是计算机课程教学中十分重要的实践性教学环节 实 验教学对提高学生计算机应用能力.培养学生实践动 手能力、分析问题和解决问题能力以及创新能力有着 (1)计算思维的本质是抽象和自动化[41。计算思维 中的抽象完全体现在使用一个有限的确定性符号系 统.甚至是形式化语言。解决一个问题的程序是由一些 具有一定含义的标识符和特定的符号按照某种语法规 不可替代的作用。以往传统的教学模式已远远不能适 应当今社会对于学生的创新型人才培养的需求。究其 原因.其一.目前大部分院校都比较重视理论教学,普 收稿日期:2013—02—06 修稿日期:2013—02—16 作者简介:陈秋妹(1974一),女,汉,福建尤溪人,实验师,本科,研究方向为计算机应用 现代计算机2013.02下 莉 唾 / 则构成的.而且与数学思维非常类似.充分体现了严谨 的、形式化的、规整的逻辑思维。计算思维中的自动化 体现在按照程序中事先设定的算法步骤自动完成各种 运算和处理任务.这就是冯・诺依曼机器的本质特征 (即存储程序,顺序控制原理)。算法确定性是算法和程 序的基本要求.它的实现是使用一种有限的确定性符 号系统来描述问题和问题求解过程.而且不允许出现 任何歧义 (2)计算思维是一种采用抽象与分解来控制庞杂 的任务或者进行巨大复杂系统设计的方法.是基于关 注点分离的方法(Separati0n 0f Conce133s.SoC方法)。这 里的抽象是指通过约简、嵌入、转换、递归等方法,将一 个较复杂的问题转换成若干个较简单的子问题并进行 求解的思维方法 (3)计算思维是利用启发式推理寻求解答,即在不 确定情况下的规划、学习和调度的思维方法 (4)计算思维是一种问题求解的思维 先是一种选 择合适的方式去陈述一个问题.或对一个问题的相关 方面建模使其易于处理的思维方法:再将问题求解的 过程用“机械化”或“程序化”的方式来表示 2 计算思维的实验教学实践 如何明确地将计算思维引入到实验教学过程中. 以提高学生运用计算机知识求解实际应用问题的能 力,是我们面临的一个挑战。在《C程序设计》课程的实 验教学实践中.我们对学生计算思维的培养进行了一 些尝试。 2.1提高上机实验教学的地位 程序设计类课程是一门实践性学科 目前大部分 院校都比较重视理论教学.对实验教学是提高学生计 算机应用能力的重要性认识不够.甚至一些教师和学 生有轻视实验教学的倾向.认为实验教学只是这门课 的辅助教学环节。教学过程也是沿用“先讲解程序,后 上机实验”的教学策略.这种教学策略只能增加学生对 程序的感性认识和上机验证能力.并不能提高学生的 计算思维能力 让学生按部就班地在机器上验证别人 设计好的程序.不是实验教学的真正目的。上机实验教 学应该是培养学生计算思维能力的重要实践环节.也 是程序设计类课程教学的核心圈 我们尝试采用如图1所示的教学策略.降低理论 课时、增加实验课时,以提高上机实验教学的地位 在 讲授完C语言的基本语法之后.教师可先不提出具体 问题.而是让学生根据自己所学知识去寻找实际应用 方面的问题。然后进行程序开发并上机调试运行验证. 这样可以培养学生主动发现问题的思维能力 教师也 可以创设一个实际问题的应用情境.启发学生去发现 问题,然后共同解决问题 通过这个过程.学生对所学 知识进行重构也是计算思维能力培养的过程 C语言 作为一种确定性符号系统.也可以进行形式化思维训 练 因为学生在编程时可能会产生这样或那样的语法 和语义错误.都会在程序编译和运行时表现出来.而学 生通过检错和纠错的实验过程.可培养学生严谨规范 的行为习惯和科学的实证精神 2.2培养学生具有分治策略的能力 学生一开始遇到编程问题时.可能会因为问题是 初次遇到或比较复杂.不知所措或望而生畏 这时我们 可以引导学生采用分而治之策略.大事化小、小事化 了 分治策略是我们工作和生活中解决常见问题的一 种基本方法 从计算思维的角度来说.分治策略提供了 如下通用思维方法:在实践中,我们可以采用分治策略 重用那些已掌握的知识来求解大规模的复杂的问题 这些知识是指一些简单的或者规模较小问题的求解方 法.或者这些小规模问题的求解方法是直观的、易知 的。例如,一个简单的小程序可以分解为三个基本部 分:输入、处理和输出.然后再对这三个部分分别实现。 再例如.我们对函数章节内容进行实验教学时.可以提 出一个较复杂的问题.同时引导学生对问题进行抽象 和分解:即把一个问题抽象分解为若干个相互之间具 有一定联系的、其解决方法已知的子问题,然后以递归 的方式求解这些子问题.并通过合并子问题的解得到 原问题的解 分治策略的一个要点是子问题与原问题 的结构相同.因此同样也可以利用分治策略对子问题 进行求解嘲 2.3打破思维定局.启发学生去思考 现在已进人头脑竞争的时代.我们应该意识到只 拥有知识是远远不够的.因为知识本身并不能告诉我 现代计算机 2013.o2下 囝 \\\ 们如何去运用知识.如何去发现问题,如何去分析和解 基本赋值语句时.可以用等差数列求和公式来计算:在 学习循环结构时.可以用while语句或for语句来计算: 决问题.以及如何去创新….这一切都是要依靠大脑思 维来解决17]。为此。我们在实验教学过程中,需要精心地 引导启发学生学会如何去发现问题.如何去分析思考 问题,如何去寻求解决问题的办法;在任务完成之后需 要及时总结和点拨.鼓励学生自己提出问题.自己解决 问题 比如.在学生掌握了循环结构典型程序(求解S= 在学习函数递归调用时.可以用递归函数来计算.即当 n=l时,S(n)=l,当n≥1时,S(n)=n+S(n一1)。 3 结语 实践表明.增加实验教学课时数.提高实验教学地 位。并将计算思维引入到《C程序设计》课程教学中,有 1+2+3+…+rt)设计思想与基本程序段后.注意及时引导 启发学生在此基础上.通过适当的变化.解决一些实际 问题(所有等差数列、等比数列以及类似数列的计算问 题).做到举一反三的效果。 2.4倡导题解多样化.培养创新思维 程序设计类课程学习的重点不只是会编写程序. 而是应该掌握算法思想与求解问题的思路 也就是要 培养学生使用计算机编程.并最终形成计算思维 计算 思维是问题求解的过程性思维.由一系列既定的有限 步骤组成,并能够解决特定问题。因此.计算思维将包 括发现问题、确定问题和求解问题,并能够清楚地描述 求解问题的操作规则、问题约束和限定范围嗍 尽管程 序实现的主体是计算机.但计算思维是人的思维.不是 计算机的思维方式 在以往的实验教学过程中往往存 在着“轻过程、重结果”,“轻算法、重编码”的现象,以能 看到程序的运行结果为目标.不注重总结问题求解的 构建过程,忽视了对思维方式的培养和训练。 在实验教学过程中.要突出计算思维的培养.培养 学生的创新意识、探索精神和问题求解能力。要鼓励学 生运用多种技术手段和解题思想对同一问题寻求多种 解答方式 同时要求学生之间相互阅读并改写各自的 程序,培养多样化的计算思维方式。对带有创新型的思 想和方法.应组织学生展开分析和讨论。教师在创设实 际问题情境时,尽量考虑一题多解。例如,在对if语句 和switch语句实验教学时.可创设一个行李托送按分 重量分里程计费的问题情境.因为不同学生的学习方 法和思维方式的差异.就会编出不同结构的程序 最后 老师应组织学生对不同结构的程序进行分析讨论.给 出不同的评价 同一个问题也可以应用不同章节的知 识来求解.例如求解S=1+2+3+…+n这个问题:在学习 O 现代计算机2013.02下 利于培养和提高学生的信息素养以及分析和解决问题 的能力。同时也取得了良好的教学效果。当然,仅通过 学习一门程序设计课程就能够形成计算思维与信息素 养是不切合实际的。但是.培养大学生的计算思维在大 学知识体系结构中是极为重要的.如何在实际教学过 程中引入计算思维教学理念是我们一线教师值得探讨 的课题 参考文献 [1】中国高等院校计算机基础教育改革课程研究组.中国高等 院校计算机基础教育课程体系2008[M].北京:清华大学出 版社.2008 [2]Wing J M.Computational Thinking[J].Communications of the ACM,2006,49(3):33 ̄35 【3]周以真.计算思维[J].中国计算机学会通讯,2007,3(11):83~ 85 [4】董荣胜,古天龙.计算思维与计算机方[J].计算机科学, 2009(1):2—5 【5]陈杰华.程序设计课程中强化计算思维训练的实践探索[J]. 计算机教育。2009(20):84~85 [6】赵岭忠,钱俊彦,蔡国永.算法设计策略与计算思维【J】.企业 科技与发展.2010(8):43~45 【7】臧劲松.培养学生计算思维的程序设计课程教学[J].计算 机教育.2012(2):78 80 [8]陈杰华,戴丽娟.以培养计算思维为核心的程序设计实验 教学[J].实验技术与管理,2011(1):125—127 (下转第42页) \ ● Control System of Large-Scale I ndustrial Park ZHOU Wei ,LI Song Research on Planning of the I ntegrated Central Supervisory (Shanghai Baosight Software Co.Ltd.,Shanghai 201900) Abstract:One big city in east China plans to build a large—scale tourism industrial park to promote local economic development.IT planning,as the leading step in building overall IT system of certain institution,plays a very important role.As the main carrier of the IT planning project of the park,focuses on studying into how to devise the integrated supervisory control center which makes sub conto1r systems interact with each other and realize one spot contro1.Illustrates the mainframe of the solution,also presents the new technology employed as well as the primary issues must be clarified. Keywords:Tourism;Industrial Park;Informatization;Supervisory Control Center (上接第36页) Exploration of Computational Thinking into Experiment Teaching of PrOgrammIng Courses CHEN Qiu-mei ,LIN Da-hui (College of Computer and Information Science,Fujian Agriculture and Foresty rUniversity,Fuzhou 350002) Abstract:According to practical situations of the experimental teaching of programming,analyses the def- inition and characteristics of computational thinking,and then elucidates the explorations of in— troduction of teaching ideas based on computational thinking to the experiment teaching of pro・ gramming courses. Keywords:Computational Thinking;Programming;Experimental Teaching @ 现代计算机2013。02下 

因篇幅问题不能全部显示,请点此查看更多更全内容