APP下载

程序设计课程中的风险思维培养

2017-05-12李晓昀马淑萍余颖

计算机教育 2017年4期
关键词:思维训练程序设计

李晓昀+马淑萍+余颖

(南华大学 计算机科学与技术学院,湖南 衡阳 421001)

摘 要:风险思维作为针对风险所产生的预测、估算、推理、决策等一系列心智活动,已成为新型人才所应具备的科学思维方式之一。高校作为人才培养的重要基地,挖掘现有课程思维训练潜能,创新教学方法,推进思维教学已成必然。文章分析程序设计课程在风险思维训练中的优势,阐述具体的思维训练方法,初步探讨该课程在风险思维训练中的积极作用。

关键词:风险思维;程序设计;思维训练;思维教学

1 风险认知及风险思维的重要性

随着社会发展,如何应对风险社会中各种复杂性和不确定性,已成为现代社会认识事物与分析问题的基础[1]。风险作为风险社会的固有存在,无法完全规避,只能通过人类自身的知识体系去认知[2]。在这个过程中,由预见、估算、推理、决策和应对各类风险所产生的一系列心智活动即为风险思维[3]。风险思维并非只有管理者、金融从业人员、医务人员、气象专家等专业性很强的人群才具备。事实上,风险与“危机”“灾难”“安全”“责任”“可持续发展”等密切关联,已渗透到人类活动的各个领域,悄然改变了人们的思维方式与行为方式[1]。

作为一种科学思维方法,风险思维在多个领域受到关注。例如,在工程、生产领域,安全风险管理理念“风险于责、预防于微、治理于严”的核心就是风险思维;在政治、军事和商业领域,领导的每一个决策都伴随着风险。风险思维对各行业人才的重要性日益凸显。事实上,现代社会对人才的需求已从传统知识型转向创新型,由技能型转向应用型。这要求高校对人才的培养要从传统的“知识灌输”转变为“思维培养”[4]。因此,如何进行创新型教学,培养和训练学生的风险思维能力,已成为高校面临的问题。

2 程序设计课程对风险思维培养优势的分析

人的风险思维能力不可能与生俱来,只能在一次次实践中累积,或是经过专业思维训练才能具备。程序设计是一个使用有限确定的符号系统来描述和求解问题的思维过程。课程教学目标不仅仅是传授计算机基础知识、程序设计方法,更是要培养学生严谨的思维习惯与科学的探索精神。课程教学重点在于对问题进行分析和求解这一过程中的思维能力训练。在变化多样的程序设计过程中,风险思维贯穿始终,为问题的最终解决提供完备的思维支持。

程序设计语言知识本身,多处蕴含了对风险的重视。以C语言为例,如switch结构中设置default语句,是用来应对程序运行过程中可能出现的预计之外的输入数据。又如控制结构中,设置break语句与continue语句,则是在预测可能出现的某些特殊情况下,用于程序执行过程的跳转。这些都是对程序运行过程中未知的、但可能发生的一种不确定性的应对处理。对这些知识点的理解与应用,均体现了风险思维的价值。

程序设计过程中,更是无时无刻不体现着对风险的预测、评估及应对。无论是简单还是复杂的问题求解,从数据类型的选择,到选择结构、循环结构的执行条件设置,再到各种可能情况预测及处理等,每一条语句,每一处细节无一不体现风险思维的重要作用。在生活中,许多经典的计算机服务系统中对风险的预判与控制,更好地反映出现实世界中风险思维的重要地位。例如,银行系统ATM自动取款机在与用户交互时,遇故障时的事务回滚机制,航空票务系统的机票超售机制,手机通讯无信号紧急电话呼叫系统等,这些处处体现了风险思维在规避和控制风险时的价值,为人们的生活解决了许多现实需求。

3 风险思维训练方法探讨

风险思维对风险的预判、决策体现在程序设计的每一个环节。一个完整的程序设计过程包括分析问题、算法描述、程序实现与测试评价这几个步骤。如何让学生有意识地去体会、反思每一个环节所蕴含的思维价值,是让学生从被动接受知识灌输到主动参与思维训练的关键。

程序设计是从模仿开始,一些传统方法和思维具有先入为主的优势。目前,课程教学以理论教学为主,上机练习为辅。上机时学生的目标是模仿经典算法、完成实验任务,很少能够意识到为什么要做这些练习;也极少有学生会反思每一次完成任务,自己的能力会有怎样的提高;更不会有意识地强化这种能力训练。本应是最佳的思维能力训练常常戛然而止。因此,初步认为可从以下3个方面开展风险思维能力训练。

第一,教学重点从语法知识传授转变为思维能力训练。由教师主导,精选教学实例,引导学生积极思考,深入体会处理问题时进行风险预判及应急处理的重要性,并逐步养成这种思考、应对问题的习惯。例如“输入英文字符的大小写转换”,这是选择结构中的经典例题。在分析问题阶段,许多学生受思维限制,仅考虑到如何进行大小写转换,未能想到非法输入的可能。此时教师应引导学生思考各种输入的可能性、对应处理办法,并鼓励学生积极探索以往未充分考虑到的问题,强调本阶段对风险预测的重要性。在算法描述阶段,流程图是否准确,是否完备地描述了问题的各种可能性,箭头所指向的位置是否合理等。在程序实现阶段,数据类型定义、控制结构选择、非法输入判断及处理、大小写转换方法选择等,均蕴含着风险思维。在测试评价阶段,从编译、运行到测试样例输入,更是处处体现着风险思维的重要性。在这个过程中,教师以例题讲解、思維引导、练习强化的方式,逐渐让学生体会并掌握这种思维方式。

第二,打破章节限制,将同一类问题进行融合,由问题求解引出知识传授,由易到难,由浅入深,对同一类问题进行反复训练,让学生将思维方式内化,转变成自身思维能力。同时让学生感受到趣味性,并不断发挥自身的主观能动性,不断训练风险思维。融合后的问题将形成每堂课的专题,内容从容易预测的显性风险到等待挖掘的隐性风险等。仍以“输入英文字符大小写转换”为例,显性风险存在于大小写转换算法,隐性风险则是输入不确定性,教师要引导学生主动去考虑题面之外的这种不确定性。以“四则混合运算”为例,显性风险就是多项式数学表达转换成程序设计语言表达式,等待学生主动挖掘的风险则是计算过程中产生的一系列问题,如除数是否可能为零。又如“输入三角形三条边判断三角形类型”题目中隐含了输入数据可能无法组合成三角形的风险。再如与素数相关的多个题目中,不同实现方法的选择存在不同的风险,隐含的风险在于0、1和负数的判断。同一类型问题,内容可能跨越多个章节,但作为一堂思维训练课例题,本质上均体现了对非法输入风险的预测与应对。

第三,重视实验课。思维训练不可能一蹴而就,这是一个循序渐进的过程。学生只有在一次次上机实践中,反复练习,才能慢慢体会到风险思维给他们带来的成就感,才能从程序复写,发展到模仿解决问题的方法,再到思维的扩展和创新。

4 结 语

细微问题的处理反映了人们思维的全面性。只有在教学每一个环节中,都不断进行有针对性的强化训练,打破学生固有的习惯思维、经验思维,带领学生去体会和尝试,去反思每一个解决的问题,才能够让学生逐渐掌握风险思维具体的思维方法,才能重视风险思维在分析和解决问题时的价值。

高校作为人才培养的重要基地,有意识地培养和训练学生的风险思维能力,是满足新时代对新型人才要求的必然趋势。目前,“知识教学”向“思维教学”转换已是必然,思维教学模式,必然要打破传统的以章节为主线的知识教学模式。作为思维教学的重要组成部分之一[2],风险思维能力训练的难点在于教学案例的选择与组织,更在于广大教师意识的转变。以“风险思维培养”为代表的“思维教学”模式开展,任重而道远。

基金项目:湖南省教育科学十二五规划课题项目“基于计算学科基本问题的计算思维培养模式研究”(XJK012CGD020)。

第一作者简介:李晓昀,女,副教授,研究方向为计算机高等教育研究与个性化信息服务, lxy.yy@yeah.net。

参考文献:

[1]张彦. “风险”研究的历史嬗变: 转向与建构[J]. 学术月刊, 2008, 40(6): 27-32.

[2]李瑞昌. 风险、知识与公共决策[D]. 上海: 复旦大学, 2005: 37.

[3]郑皓, 吴纪纲. 运用风险思维助力科学决策[J]. 政工导刊, 2016(2): 27.

[4]李晓昀, 阳小华, 马淑萍, 等. 互联网+时代计算机基础课程知识教学向思维教学转变趋势探析[C]// 全国高等院校计算机基础教育研究会. 全国高等院校计算机基础教育研究会2016年会学术论文集. 北京: 清华大学出版社, 2016: 113-117.

(编辑:彭远红)

猜你喜欢

思维训练程序设计
基于OBE的Java程序设计个性化教学研究
基于Electron.js的风向玫瑰图绘制程序设计与实现
项目化教学在Python程序设计课程中的应用
C++程序设计课程教学改革研究
医学专业“Python程序设计”课程教学改革总结与思考
“C语言程序设计”课程混合教学探索
深入挖掘,妙笔生花
逻辑学在语文学习中的作用
生活化的数学有效融入思维训练的尝试
加强语言表达训练提升小学生数学思维能力