标题 | 基于计算思维能力培养的《程序设计基础》课程教学探讨 |
范文 | 张静 邬恩杰 摘要:采用灌输式的以高级程序设计语言自身体系为脉络开展的《程序设计基础》课程教学模式,不利于培养学生的计算思维及创新能力。从培养计算思维的角度选编案例,以“程序设计”为中心,运用基于案例驱动的教学模式,可有效训练学生计算思维,培养学生分析问题和解决问题的能力。 关键词:案例驱动;计算思维;程序设计基础;课程教学 DOIDOI:10.11907/rjdk.151763 中图分类号:G433 文献标识码:A 文章编号 文章编号:16727800(2015)008021002 1 《程序设计基础》课程教学现状 《程序设计基础》是大学计算机基础教学的重要课程之一。学习计算机的工作原理,更好地掌握利用计算机处理问题的方法,培养分析和解决问题的思维和能力,即培养计算思维,是大部分非计算机专业学生学习程序设计语言的主要目标。目前,在《程序设计基础》课程教学效果不甚理想,一方面,课程教学内容基本上以高级语言自身体系(如C、VB、JAVA等)为脉络展开,没有以“程序设计”为中心,没有把解决问题的思想方法(即算法)与计算机程序(即实现算法)紧密结合起来;另一方面,课堂教学基本采用“理论讲授+例题剖析+上机实验+课后习题”的教学方法,这种灌输式教学方法脱离实际应用,不利于激发学生的学习兴趣和积极性,缺乏自主探索和创新意识,思维得不到训练,不利于培养学生的应用能力和创新能力。 2 计算思维 计算思维(Computational Thinking)由美国卡内基·梅隆大学计算机科学系周以真教授[1]于2006年作为一种基本技能和普适思维方法提出,即“计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动”。计算性思维实际上是一个思维过程,它将一个问题清晰、抽象地描述出来,并将问题的解决方案表示为一个信息处理流程。计算思维包含了数学性思维和工程性思维,而其最重要的思维模式就是抽象话语模式。它引导计算机教育工作者、研究者和实践者推动社会变革,这不仅仅限于计算机领域,当前各个行业领域中涉及的大数据问题,都依赖于计算算法,来挖掘有效内容,这意味着计算机科学将从前沿变得更加基础和普及。计算思维无处不在,当计算思维真正融入人类活动中时,它作为一个解决问题的有效工具,人人都应掌握,处处都会被使用[2]。 计算思维的重要作用引起了中外学者的关注。2010年,《九校联盟计算机基础教学发展战略联盟联合声明》指出,计算机基础是培养大学生综合素质和创新能力不可或缺的重要环节,是培养复合型人才的重要组成部分。该声明旗帜鲜明地把“计算思维能力培养”作为计算机基础教学的核心任务。当前,教学改革的重心是加强以计算思维能力培养为核心的计算机基础课程建设,以此进一步确定计算机基础课程教学的基础地位和加强师资队伍建设[3]。《计算机程序设计基础》是训练学生计算思维能力的一门重要课程,如何在进行程序设计基础课程教学的同时教会学生运用计算思维去思考问题和解决问题已成为当前重要课题。 3 案例驱动的计算思维培养 3.1 案例教学法 案例教学法指以案例作为教学材料,结合教学主题,通过讨论、问答等互动教学,让学生了解与教学主题相关的概念或理论,有利于培养学习者分析问题、解决问题的能力[4]。它以鼓励学生独立思考、注重能力培养为特色,这些特色使其更适用于培养学生的创新思维能力。其开放性有助于培养学生主动学习的意识,全员互动性有助于锻炼学生学会解决实际问题,启发性有助于培养学生的发散性思维,现实真实性有助于培养学生分析实际问题的能力,答案多元化和最优化可更好地培养学生对实际问题的理解及处理能力。 3.2 重组精编案例,突出计算思维 在《程序设计基础》课程教学中,除了要让学生掌握基本语法知识及编程外,更为重要的是算法设计,而算法设计正是计算思维的体现。案例教学法的关键在于案例选编,需遵循典型性、目的性、启发性、真实性和生动性的原则,从计算思维的角度出发,将问题求解提升到计算思维的高度。如把简单的“数据交换”思想迁移到“应用数组实现批量数据的冒泡排序”算法;从“自然数求和”的简单迭代算法类比联想到“级数求和”以及“迭代法求方程的近似解”;从“猴子吃桃问题”,引导学生逆向思维,从后往前推断,进行迭代;也可利用计算思维的特征,引导学生使用递归方法,让学生全面了解递归算法的递推过程和回归过程;由Fibonacci数列的循环迭代算法联想到应用一维数组递推算法,再到递归算法。循序渐进地把抽象的知识点贯穿到学生感兴趣并蕴含计算思维的经典案例的算法设计中,引导学生主地思考并尝试多种解决方案。运用多种算法多角度地训练学生思维,可使学生既掌握基本的语法结构,又学会用计算机程序设计解决问题。可供课程中选择的部分案例如表1所示[5]。 3.3 案例任务驱动,培养计算思维 3.3.1 正确定位师生角色,营造开放型学习氛围 为了让学生准确理解计算机处理问题的思路和方法,最好的办法是设计任务驱动的教学案例。以案例作为任务驱动教学法最根本的特点就是“以任务为主线、教师为主导、学生为主体”,改变传统的“教师讲、学生听”的被动教学模式。以经典案例作为任务,将学习者引入一个特定的真实情境中,按照理论结合实践的原则,学生成为教学活动的主体,形成学生自主学习、合作学习、研究性学习和探索性学习的开放型学习氛围。 3.3.2 结合计算思维的案例实施 呈现案例,提出案例中关键问题,分析关键知识点和算法思想,初步拟定解决方案,然后在课堂上阐述教师对问题的分析,提出解决方案和依据,对问题和解决方案进行讨论,启发引导学生展开基于本案例的联想与类比,鼓励在案例实施中实现“一带一类”(指案例解决方案所涉及的计算思维能够辐射到同一类问题的通用算法思想,如迭代算法和穷举算法可以辐射循环程序设计中所有算法思想)与“一题多解”(指解决问题的算法多样性)。 讨论交流是案例教学的重要环节,可分享学习经验、困惑、疑问,激发学习兴趣,提高学生团结协作及交流能力。 最后通过归纳总结,得到最佳解决方案。这样,不仅可以得到解决此问题的多样化算法,而且可以掌握解决这一类问题的通用算法思想。可通过案例驱动法让学生学习更有针对性,学生更有成就感。 3.4 强化实践实训,训练计算思维 上机实验、实践是程序设计课程教学的一个重要环节,通过上机实践可以促使学生发现自己的薄弱环节,积累上机编程经验技巧,理论与实践相结合、融会贯通,达到综合应用的目的。上机实践是训练和培养计算思维的最快捷方式,因此课程教学中要强调上机实践,强调以案例或项目驱动法,通过实战演练培养学生的计算思维能力。 上机实验过程中要规范上机流程,加强引导,鼓励算法的多样化,可按以下要求有目的、有步骤地训练学生实践能力:①分析问题,建立数学模型;②算法设计;③程序设计;④调试程序;⑤运行程序并分析结果。通过验证性实验培养学生解决问题的能力,通过设计性实验培养学生计算思维能力,通过课程实践综合性实验培养学生应用能力和创新意识。完成实验后要注重反思,做好分析和汇总,撰写实验报告,进一步拓展计算思维。只有通过上机实践,思维才能得以训练,程序设计能力才能得以提高。 4 结语 实践证明,案例教学是一种行之有效的新型教学手段。在《程序设计基础》课程教学过程中引入蕴含计算思维的经典案例并贯穿教学始终,可有效地促进计算思维培养。同时,将课堂互动表现、案例实践、课程设计等多种考核项目引进该课程考核中,实现评价的过程化、多样性,有助于提高教学质量,取得良好教学效果。 参考文献: [1] JEANNETTE M W.Computational thinking[J].Communications of ACM,2006,49(3):3335. [2] 陈国良,董荣胜.计算思维与大学计算机基础教育[J].中国大学教学,2011(1):911. [3] 冯博琴.九校联盟(C9)计算机基础教学发展战略联合声明[J].中国大学教学,2010(9):46. [4] 张民杰.案例教学法理论与实务[M].北京:九州图书出版社,2006. [5] 谭浩强.C程序设计[M].第4版.北京:清华大学出版社,2010. (责任编辑:孙 娟) |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。