韦修喜 黄华娟
摘要:计算思维能力是高校创新人才应具备的基本素质,也是衡量高校教育水平的重要指标。本文以算法设计与分析课程为切入点,面向民族地区高校的计算机专业本科生,从理论和实践两个角度探索如何在教学过程中嵌入计算思维能力的培养,加强学生的创新与实践能力,达到学以致用的目的。
关键词:计算思维能力;算法设计与分析;创新;民族地区
0 引言
随着信息技术的发展,算法设计与分析课程已经成为计算机科学技术中处于核心地位的一门专业基础课。目前,大多数高校越来越重视算法课程的教学,将该门课程与数据结构课程分离,系统地介绍计算机算法的设计方法与分析技巧。同时,算法设计与分析又是一门年轻的学科,它还处在发展和探索中。算法学科的高速发展引起了学科教学知识体系的迅速变化,课程教学必须随之调整和更新,舍去已失去活力的内容,引入新理论、新方法和新技术,才能顺应学科发展的需求。
计算思维是当前国际计算机界广为关注的一个重要概念[1],也是国内计算机教育界广泛重视并开始研究的热点问题[2-3]。目前在一些研究型大学中,已有许多专家和学者尝试在一些计算机课程中引入计算思维的思想,开展探索性和实验性的教学实践,提高学生的计算思维能力和创新能力。
本文结合笔者在教学实践中发现的问题,分析算法设计与分析和计算思维的内在联系,讨论在该门课程教学过程中如何开展有效的教学改革实践,以达到培养学生具有计算思维能力和创新能力的目的。
1 民族地区高校算法设计与分析课程教学中存在的不足
(1)民族地区学生基础相对薄弱,学习自觉性不够高
由于教育资源的地域差距,民族地區的学生进入大学以后,普遍存在学习基础薄弱,独立思考与自学能力偏弱等问题,特别是逻辑思维、计算思维能力、推理能力方面偏弱。如在算法设计与分析课程的学习中,需要去理解程序运行、编写的方法和思路,分析算法的优劣,这些内容往往需要反复讲解几遍,学生才能听懂。同时民族地区的学生又相对缺乏良好的学习习惯,在课程学习过程中往往是被动学习,对于计算机课程中抽象的概念、原理及技术不愿深究理解,只是根据课本上的内容强记硬背,考试就寄希望于任课教师划范围、圈重点,及格就算完成任务。
(2)民族地区学生学习交流范围窄,职业规划不明确
少数民族学生可从外界获取的信息量匮乏,从而也降低了学习兴趣和信心,更谈不上对未来的职业或学习生涯有所规划。部分民族学生认为已学到的一些专业知识“没有用”,不知道为什么要学习这些理论课程,学了以后对后继的学业和今后的发展有什么意义,学习生活较迷茫,甚至消极,这将对教学质量和专业人才培养质量产生严重的影响。
2 “算法设计与分析”课程教学中计算思维的培养
2006年,美国卡内基.梅隆大学计算机科学系主任Jeannette M. Wing教授提出了计算思维的思想。该教授认为,计算思维是运用计算机科学的基础概念进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。计算思维的概念一经提出,就引起了教育界学者们的广泛关注。如何在教学实践中培养学生的计算思维,一直是学者们
广泛关注的焦点。2010年,教育部高等学校计算机科学与技术教学指导委员会编制的《高等学校计算机科学与技术专业人才专业能力构成与培养》中指出,计算思维能力是培养计算机专业人才的专业基本能力。并同时指出,针对计算机专业,计算思维能力主要包括问题及问题求解过程的符号表示、逻辑思维与抽象思维、形式化证明、建立模型和模型计算、利用计算机技术等。下面,我们将围绕这个计算思维能力要求,探讨如何在本科算法设计与分析的教学过程中培养学生的计算思维能力,进而培养学生的应用能力和创新能力。
算法设计与分析所涉及的领域非常广泛,通常包括下面几方面的内容:(1)迄今为止人们所设计的各种基本和经典的算法,如排序、搜索、图的算法、组合算法和大量的数值计算算法。这一部分内容是入门基础知识,如果学生学习不好本章内容,就会影响到他们学习本门课程的积极性。因此,对于这一章内容我们主要采用计算思维的抽象教学方法。在教授这一部分内容时,教师可以在授课前引导学生思考人类大脑的运作方式,然后在这纷杂的信息中概括和抽取出具有相同的内在特征,用统一的知识进行表示,并对未知的知识进行推理和搜索。这样的教学方式让学生学会从计算机技术的层面思考人脑思维方式的模型构建,通过层层思考、层层深入和层层解决问题的方式,使学生对这一部分内容有着更深层次的理解。
(2)关于算法分析和算法设计策略、可计算性理论和问题复杂性等方面的理论研究,如计算模型、NP 完全问题和问题复杂度下阶等理论。这部分内容涉及到系统的构建和实现,所以这一部分内容我们主要采用计算思维的案例教学方法。教师可以根据教学内容的需要,通过设置具体的案例,引导学生参与分析、讨论、构建模型和解决问题等活动,让学生在具体情境中积极思考和主动探索,培养学生认识问题、分析问题和解决问题的能力。这种教学方式充分发挥了学生的学习主动性,调动了学生的学习积极性和自觉性。
(3)近年来在并行算法、随机算法、近似算法、加密算法、智能优化算法、模式识别算法、神经网络算法、遗传算法以及其他算法领域方面的最新研究成果。在这一部分内容的教学中,我们主要采用计算思维的转化教学方法。在教学中,首先,教师引导学生应用前面章节掌握的知识建立起算法的基本逻辑框架,通过计算机来实现算法原理的转化。其次,教师可以指导学生研读相关算法的源程序,进而让学生逐步学会用计算机来实现算法,并使学生习惯利用数学建模的思想来解决具体的实际问题。实践效果表明,这种方式有助于将学生的通常思维模式转化为计算思维的模式。
3 结束语
算法设计与分析课程是一门非常重要的计算机专业课程,具有理论和实践并重的特点,如何利用学生已有的知识和经验,使其快速掌握一些经典算法的设计思想,进而能够创造性地解决一些实际应用问题,是我们在教学中关注的重点。本文就算法设计与分析这门课程,面向民族地区高校的计算机专业本科生,从理论和实践两个角度探索如何在教学过程中嵌入计算思维能力的培养,加强学生的创新与实践能力,使算法设计与分析的教学质量提高到新的水平。
参考文献:
[1]陈杰华,戴丽娟. 以培养计算思维为核心的程序设计实验教学[J]. 实验技术与管理,2011,(13):182-183.
[2]石云,陈声波.地方高校“计算机导论”算法思维培养的教学设计[J].教育教学论坛,2016,2(1):173-174.
[3]朱清新,杨帆,钟黔川. 计算机算法设计与分析导论[M]. 北京:人民邮电出版社,2008:1-22.
作者简介:韦修喜(1980-)男,广西百色人,讲师,硕士,主要从事人工智能理论教学与研究。