首页 > 范文大全 > 正文

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

开篇:润墨网以专业的文秘视角,为您筛选了一篇C++程序设计实验教学中引入计算思维的探索范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

【摘 要】程序设计课程实验教学重点在于培养学生使用语言解决实际问题的能力,本文从阐述计算思维的内涵出发,提出了在程序设计实验过程中引入计算思维的教学思路,将实验教学由程序语言语法掌握转变为在具体问题求解的操作过程中掌握程序语言语法、培养思维创新素养、提高问题算法求解能力。

【关键词】c++程序设计 问题求解 计算思维 课程实验

【中图分类号】G642 【文献标识码】A 【文章编号】1674-4810(2013)23-0015-02

随着我国计算机及互联网技术的广泛应用,加强计算机综合能力的培养,提高大学生使用程序语言解决问题的能力已成为当代大学生计算机基础教育的重要组成部分。根据《中国高等院校计算机基础教育课程体系2008》的规定,高校程序设计基础课程的学习目标是:(1)学习问题求解的思路和方法,即算法。(2)理解计算机是如何具体实现算法的,即如何才能有效利用计算机编程。因此我们认为在高校非计算机专业的C++程序设计课程中,学习的重点不仅是掌握程序语言的语法和编写各类经典算法程序,而且重点要掌握算法思想与问题求解的思路。计算思维是运用计算机科学的基本概念进行问题求解、系统设计以及人类行为理解的一种思维方法和问题求解能力。因此,在C++程序设计实验教学中强调计算思维实践,训练学生问题求解的上机操作过程,培养学生形成计算思维,使他们能潜移默化地养成用计算思维方式配合C++程序解决各类专业问题的习惯,成长为21世纪国家需要的复合型创新人才。

一 计算思维与C++程序设计实验

计算思维是一种思维方式和问题求解技能,它能帮助我们更好地去定义问题、求解问题、控制风险、规划调度、平衡资源和提高效率。其概念最初是在2006年3月由美国卡内基梅隆大学计算机系主任周以真教授提出的,根据周以真教授在计算机权威杂志Communication of the ACM上首次定义的计算思维,计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等的一系列思维活动。但是计算思维不是狭义的计算机程序设计能力,而是运用计算机程序语言去求解问题、设计系统和理解人类行为的能力。

C++程序设计是大学计算机教育的第二个层次,但目前该课程的教学还停留在狭义工具论的框架下,课程实验教学也仅仅要求学生掌握C++程序语法,以能使用C++编写简单算法程序为目标,这样的实验教学流于形式,导致实验内容僵化,教学收效甚微,与学校开设课程的真正目标相背离。因此,应在C++程序设计实验教学中引入计算思维,在实验内容中为学生提供足够的思维空间,设法激励和引导学生自主思考,去发现问题、分析问题和通过编写程序解决问题。引入计算思维后的C++程序设计实验教学的目标应调整为:让学生通过上机实践,以巩固C++的基本语法知识并熟练使用为基础,重点培养学生掌握C++程序设计的计算思维,提高解决问题的思维能力。

二 引入计算思维的C++实验教学思路

引入计算思维后的C++实验教学应从三个方面逐步开展:

1.问题求解与语法知识上机实践相结合

结合课堂教学中的语法知识点基础理论,在实验教学中引入“问题或案例”,将“问题或案例”的解决方案与课堂教学的语法知识点相结合,一方面可以加深学生对知识点的理解,一方面也可以让学生认识到程序语言的各个知识点能做什么,不能做什么,适合做什么,不适合做什么。如用“抛硬币”游戏作为案例,要求学生分别实践单分支的if语句、双分支的if-else语句和switch语句,然后通过对比分析,引导学生理解单分支的if语句、双分支的if-else语句和switch语句能做什么,适合做什么;然后以“抽奖”游戏为案例,要求学生分别实践单分支的if语句、双分支的if-else语句和switch语句,然后通过对比分析,引导学生理解单分支的if语句、双分支的if-else语句和switch语句不能做什么,不适合做什么。

2.思维多样性与算法求解上机实践相结合

通过课程实验,鼓励同学们根据自己的理解和思维方式,从不同角度发现问题和分析问题,用不同的算法求解同一问题或任务,或用不同的程序实现某一算法,然后给出一些可供学生重构的程序片段,培养他们的思维创新能力,最后通过分享和交流不同算法的程序,对比分析各类程序的优缺点和思考重构优化,培养同学们计算思维的多样性和重构性。

3.实验教学中的规范化、兴趣化和简优化相结合

建立规范化实验流程,要求学生按“理解问题分析问题设计算法编写程序上机调试重构优化对比分析”的顺序进行,让学生养成一个好的学习和思维习惯,养成良好的编程习惯,并逐步训练、提高学生分析问题、解决问题的能力和培养创新思维。

常规的、数学化的问题很难引起学生的求解兴趣。现实性和趣味性是激起学习兴趣的一个可行手段。因此在编制实

验内容时,应多选取贴近生活、专业和具有娱乐性的内容。如让学生把地铁的分段计费问题用if结构来求解,把所得税的计算问题用switch结构来求解等。

在实验过程中鼓励学生开放思维,在进行算法多样化分析的同时,还要注重引导学生思考和分析各类算法的优缺点,并提出简化或优化的重构方案。如“百鸡百钱”问题,最简单的机算法是采用三重循环的算法来实现。教师通过提出或引导学生思考采用二重循环的方式如何实现,然后对比两种算法的性能,发现循环次数从三重循环的100万次,降为二次循环的1万次,性能提升了99%。一个简单的重构就可以让学生认识到算法优化的魅力,教师还可以让学生进一步思考如何优化算法,通过生活分析,公鸡数量不可能超过32,因此可以将公鸡的循环值从100降到32。同样的,母鸡的循环值也可以降到98,这样循环次数又减少了10000-32×98=6864次,同样是二重循环,但性能又提高了70%左右。通过这一系列的简优化实验,充分调动了学生的思维能动性和主动创新性,给予学生创新的问题求解方案和探索未知问题的满足感,激发他们的学习积极性,对于培养和增强计算思维与程序语言实践能力有积极的作用。

三 结束语

通过在C++程序设计实验课程中引入计算思维训练,可以有效改变现在的知识、技能灌输型的教学方式,提高学生兴趣,锻炼学生思维,提升实践教学效果,对于培养各学科高素质的综合型创新人才十分重要。计算思维引入C++程序设计实验教学,不仅可以帮助学生理解程序语言求解问题的实现机制,还有利于他们进行实践和创新。因此,我们不仅要在C++程序设计课程中不断强化计算思维的培养,还要尽快把它推广到其他计算机教育课程中去,不断提高大学生计算机基础教育的计算思维素质培养的水平。

参考文献

[1]Jeannette M. Wing. Computational Thinking[J].Communica

-tions of the ACM,2006(3):33~35

[2]何钦铭等.计算机基础教学的核心任务是计算思维能力的培养——《九校联盟(C9)计算机基础教学发展战略联合声明》解读[J].中国大学教学,2010(9)

[3]董荣胜.计算机科学导论——思想与方法[M].北京:高等教育出版社,2007