基于计算思维的实验教学方法

2014-03-27 01:49杨泽平文欣秀王占全
实验技术与管理 2014年10期
关键词:计算机科学计算机实验教学

杨泽平,文欣秀,万 锋,赵 敏,刘 江,王占全

(华东理工大学 信息科学与工程学院,上海 200237)

随着计算机应用和网络的普及,传统的实验教学方法越发凸显其局限性,主要体现在以下几个方面。

(1) 传统的实验教学内容过于刻板,不利于学生创新思维的培养。传统的实验教学方法以教师的实验教案为主,教师的实验教案过于详细,甚至于用什么方法、怎么做都一一告知学生,学生按照教师既定的思路做实验,最终提交的实验报告千篇一律。这种做法显然不能激起学生的兴趣,也不利于对学生创新思维的培养。

(2) 传统的实验教学形式过于单一,不利于学生协作能力的培养。传统的实验教学方法通常都是以一个学生或者一组学生为单位,学生之间的讨论很有限,不能将学生的长处发挥到最好,不利于学生协作能力的培养。

(3) 传统的实验教学多以理论验证为主,工程实验力度不够,不利于学生动手能力的培养。学生毕业后还需要很长一段时间(甚至重新培训)来适应现实社会中的工作。

计算思维作为一种运用计算机科学基础概念求解问题的思维方式[1],一经提出便引起了很多学者的关注,将计算思维引入实验教学,有利于打破传统实验教学方法的局限,培养学生良好的思考、解决问题的习惯。目前,高校已经在C程序设计[2-3]、离散数学[4]、人工智能[5]、计算机组成原理[6]等计算机专业核心课程的教学中加强了计算思维能力的培养。如何将计算思维的理念引入到更多学科的实验教学方法中,是当今研究的热点,也是传统实验教学方法改革的方向[7-8]。数字图像处理这门课是高等院校信息、计算机、控制和通信等相关专业的核心课程,也是很多专业的选修课程。本文以数字图像处理课程为例,介绍如何将计算思维引入该课程的实验教学方法中[9]。

1 计算思维

计算思维是美国卡内基·梅隆大学的周以真教授于2006年在《Communications of the ACM》杂志上提出的。他认为“计算思维是运用计算机科学的基础概念来求解问题、设计系统以及理解人类行为等涵盖计算机科学之广度的一系列思维活动[1]”。这一思想颠覆了长久以来人们对计算机科学的理解。以往人们认为计算机基础课程就是教授一些计算机工具及其使用方法,认为计算机科学就是计算机编程,这些看法都是非常狭隘和短视的[10]。计算思维概念的提出,直接影响了对计算机科学类的课程改革[11],只有足够的重视,才能在今后的教学实践中获得较好的成效。

计算思维不仅属于计算机科学家,它是一种人的基本技能,和阅读、写作、算术一样[6]。但计算思维不是计算机思维,而是像计算机科学家那样思考,是人类一种求解问题的思维方式[12]。计算思维有3个主要特点。

(1) 它是递归、启发式、并行等计算机科学思维方法的融合。对于问题的求解,计算机科学家经过长期的实践总结出了一系列的方法:采用递归的思想,可以把较大的复杂的问题变为与原问题相似的较小的、较简单问题,减少重复计算;采用并行处理的思想,大大缩短了复杂问题的求解时间;采用启发式、联想式、逆向思维等,可以在不确定情况下学习和求解问题。计算思维正是将这些思想方法融合在一起,形成了“像计算机科学家那样思考”解决问题的独特方式。

(2) 基于关注点分离(separation of concerns, SOC)方法[13]的融入。计算思维在设计复杂系统时,采用了抽象和分解的思想,选择合适的形式(比如形式化描述语言)对问题进行建模,使参与求解问题的各种专业人才不必了解具体复杂系统中的每一个细节,从而更有利于协作处理问题。

(3) 将数学思维和工程思维有效地结合在一起。计算思维不仅仅是数学思维,还融合了工程思维;计算机科学家所求解的问题受制于硬件设备的限制,所实现的系统是应用于现实生活中的。

培养学生的计算思维能力对于高等院校的教育是很重要的,如何将计算思维贯穿到具体的实验教学中去,是当前亟需解决的问题。

2 基于计算思维的实验教学方法

数字图像处理这门课程理论性比较强,数学的推理比较缜密,相对于其他课程来讲,公式比较繁杂,但这门课同时也要求学生对方法进行实践。所以说,这门课是对理论和实践综合要求比较高的一门课。这门课不仅面向计算机专业,还面向通信、医学、艺术等多个专业。在实验教学中如何加强计算思维的培养,是当前改革实验教学方法需要考虑的问题。

2.1 融合多种计算机科学思维方法的实验教学内容

传统的实验教学内容过于刻板,不利于学生创新思维的培养。如果将传统的实验教学内容更加泛化,不指定方法,不指定实验步骤,仅给出参照步骤和引导的方法,将有利于学生自主学习和创新能力、计算思维的培养。对于很多依赖于实践证明的课程来讲,随着技术的进步,目前认为最好的方法经过一段时间以后就不再是最优的方法了。为了不让学生的思维固化在现有的方法中,就必然要对现有的实验教学内容进行改革。

就彩色图像的灰度化这一实验,教师在指导实验的时候,仅给出彩色图像灰度化的概念,不限定学生使用哪种灰度化方法,而是让学生自己查阅资料,按照自己的思路设计实验方法。例如,学生可以用最大值法、平均值法或者加权平均法进行实验验证,然后进行讨论并写出实验报告,最后由教师根据学生的实验报告来总结各种方法的优劣。该实验流程如图1所示。

图1 实验流程

图像增强也有很多方法,这些方法有些是基于点操作的,有些是基于邻域操作的。只有让学生自己查阅资料、分组讨论、亲身实践,才能真正理解这些方法的原理,并在讨论和实践中产生新的想法。

在图像的几何变换这一教学内容中,对于图像平移问题,正向的思维是判断平移后新图像中的像素点是否还在区域内。这种方法判断起来相对比较繁琐,而逆向的思维是判断平移后新图像中的像素点对应平移前旧图像中的像素点是否超出了范围。这种方法判断起来相对比较容易。这样的思维很重要,培养学生良好的思维方式比得到好的既定方案的实验结果更重要。学生的思维是很活跃的,教师需要加以引导,既不要管得太多,又不要完全放手。一个好的实验教学内容应该在“管”和“放”之间做到平衡。

2.2 基于关注点分离的层次化实验教学体系

由于数字图像处理课程要面向多个专业和不同教育阶段的学生,实验教学的内容和方法应该多样化并有所侧重。由于该课程的内容比较多,涉及模式识别、多媒体技术等多项技术的综合和交叉,对不同专业和不同教育阶段的学生,应该开设不同层次的实验。

关注点分离作为计算思维的核心思想之一,是一种处理复杂问题的方法,其实质是采用抽象和分解的方法来设计复杂系统,融合了“分而治之”、“整体与局部”的程序思想。将这种思想引入实验教学体系中,有助于培养不同层次、不同专业学生的计算思维能力及创新能力。

以培养计算思维能力为主线,模块化、主题化、层次化的数字图像处理课程实验教学体系应分为4个方面:核心型主题实验、扩展型主题实验、工程型主题实验和创新型主题实验。

(1) 核心型主题实验主要是学习数字图像处理课程的基础理论和方法,例如图像的显示、图像的灰度变换、图像直方图均衡化处理、图像的平滑和锐化处理等基本实验内容。核心型主题实验面向不同专业和不同教育阶段的学生,可以有不同的课时设置,例如面向本科生可以安排较多的实验时间,而对于已经有图像处理基础的研究生,只需安排较少的实验时间来巩固知识即可。

(2) 扩展型主题实验主要针对不同专业开展不同的主题实验,不同层次和不同专业将有所区分。例如计算机专业的学生在已学过的多媒体技术课程中已经基本掌握了图像压缩的知识,光电类专业的学生已经基本掌握了傅里叶变换的知识[14],那么可以将图像压缩和图像傅里叶变换设置为不同的扩展型主题实验;工程类专业侧重于图像处理方法的实现等主题类实验;理论型的专业侧重于图像滤波器设计等主题类的实验。研究生可以将这些主题继续深化,可以在方法设计上加入最新技术,比如在图像增强方面关于滤波算法还有更进一步的研究空间。

(3) 工程型主题实验偏向于工程类专业,要求学生自行组成团队对一些实际生活中需要解决的问题(例如车牌的自动识别、监控视频识别等)进行求解。这类问题相对比较复杂,而且涵盖了图像分割、变换、增强、形态学处理、识别等图像处理的大部分内容,可以由研究生为主、本科生协助完成。工程型主题实验的目的是将所学知识应用于实际生活中,同时锻炼学生的动手能力和沟通协作能力。

(4) 创新型主题实验面向有兴趣的学生而不限专业和层次,针对一些图像处理的实际问题,将基础知识和新技术相结合,自行组团设计方案、解决问题。这些实验可以结合教师当前的一些科研项目以及校企之间合作项目来开展。

2.3 实验报告及工程实践相结合的考核方法

在培养学生的计算思维能力过程中,考核是很重要的一个环节。最常规的考核方式是通过实验报告,通常在学生的实验报告中会体现出学生解决问题的思路:提出问题、查阅文献、设计方案、开展实验和分析结果。但仅仅依赖于这种单一的考核方式是不够的,要在平时的实验活动中,考查学生是否能够合理、高效地设计出算法并验证,这是从计算思维角度出发的考核。如果在工程型和创新型主题实验中能够高效建模并实施,这是从工程思维角度出发的考核。因此,通过这两种考核形式,能有效地促进学生计算思维能力的提高。

3 结束语

实验教学作为高等院校重要的教学环节,对于学生动手能力及创新能力的培养发挥着很重要的作用。计算思维作为一种创新型人才必备的基本素质,必将在自然科学和社会经济领域内转变人们的思维模式[15]。将计算思维引入实验教学方法中,有利于培养学生良好的分析问题和解决问题的习惯,为将来踏入社会奠定坚实的基础。

[1] Wing J M. Computational Thinking[J]. Communications of the ACM, 2006, 49(3):33-35.

[2] 刘光蓉.以计算思维能力培养为导向的C程序设计实验教学[J].实验技术与管理,2013,30(1):154-156.

[3] 陈杰华,戴丽娟.以培养计算思维为核心的程序设计实验教学[J].实验技术与管理,2011,28(1):125-127.

[4] 常亮,徐周波,古天龙,等.离散数学教学中的计算思维培养[J].计算机教育,2011(14):90-94.

[5] 王甲海,印鉴.人工智能教学与计算思维培养[J].计算机教育,2010(19):68-70.

[6] 黄沛杰,徐东风,殷建军.计算机组成原理实验教学中的计算思维培养[J].计算机教育,2012(16):103-106.

[7] 耿国华.以计算思维为指导提升大学文科计算机教学质量[J].中国大学教学,2013(10):12-15.

[8] 伞颖.非计算机专业计算机公共基础课程中计算思维体现的必要性[J].教育教学论坛,2013(28):160-162.

[9] 蒋伟,杨庭庭,刘亚威,等.数字图像处理研究性实验教学的改革与实践[J].实验技术与管理,2013,30(6):124-128.

[10] 陈国良,董荣胜.计算思维与大学计算机基础教育[J].中国大学教学,2011(1):7-11.

[11] 王志强,刘芳芳.基于计算思维的计算机基础课程改革研究[J].中国大学教学,2013(6):59-60.

[12] 董荣胜,古天龙.计算思维与计算机方法论[J].计算机科学,2009,36(1):1-4.

[13] 何明昕.关注点分离在计算思维和软件工程中的方法论意义[J].计算机科学,2009,36(4):60-63.

[14] 马卫红,倪晋平,田会.“数字图像处理”课程教学内容优化的探索和实践[J].中国电力教育,2011(31):99-100.

[15] 牟琴,谭良.计算思维的研究及其进展[J].计算机科学,2011,38(3):10-15.

猜你喜欢
计算机科学计算机实验教学
计算机操作系统
小议初中化学演示实验教学
电容器的实验教学
对初中化学实验教学的认识和体会
基于计算机自然语言处理的机器翻译技术应用与简介
探讨计算机科学与技术跨越式发展
信息系统审计中计算机审计的应用
浅谈计算机科学与技术的现代化运用
重庆第二师范学院计算机科学与技术专业简介
几何体在高中数学实验教学中的应用