时间:2022-02-25 10:09:38
开篇:写作不仅是一种记录,更是一种创造,它让我们能够捕捉那些稍纵即逝的灵感,将它们永久地定格在纸上。下面是小编精心整理的12篇数字图像处理实验报告,希望这些内容能成为您创作过程中的良师益友,陪伴您不断探索和进步。
关键词:数字图像处理;概念图;CAI;实验设计
中图分类号:G642文献标识码:A文章编号:1006-4311(2012)08-0168-02
0引言
数字图像处理技术在近20多年时间里,迅速发展成为一门集光学、微电子学、计算机科学、应用数学等学科为一体的具有强大生命力的综合性边缘科学。目前,数字图像处理技术在通信工程、遥感技术、医用图像处理、工业生产、军事公安、文化艺术等许多领域中发挥着越来越重要的作用。学科的快速发展决定课程教学内容改革的必要性和紧迫性。本文从教学内容、教学方法、教学手段等方面针对课程特点进行改革探讨,为其他专业课教学改革提供一定的参考。
1选用教材合适,制作幻灯同步
在选用教材时紧跟学科发展的脚步,结合数字图像处理课时较短的特点,选用了机械工业出版社出版的李朝晖主编的普通高等教育规划教材。该教材内容精炼,突出了数字图像处理的主要内容,包括图像的基本知识、图像的变换、图像的增强、图像的复原、图像的压缩编码、图像的分割与特征分析等基本章节,方便老师在较短的时间内将该课程的主要理论讲授给学生,学生可以很快抓住数字图像处理技术的精髓所在。该教材又不乏介绍新技术、新算法和数字图像处理新的应用。花大量时间制作与教材完全同步的课件,便于学生深刻领会教学内容,同时又不拘泥于教材,采用课堂教学、学生自学、学生演讲、上机实验等多种教学方式,提升教学水平。
2讲授概念系统,掌握基础牢固
概念图(Concept Map)是以综合、分层的形式表示概念之间相互联系的空间网络结构图。最初是由美国康奈尔大学教育系的Joseph D. Novak教授及同事提出来将概念图有系统的运用于教学与学习的研究。它是一种将概念之间关系图形化表示的技术。概念图一目了然,对学生系统地掌握专业术语及关键理论非常有帮助。我在让学生充分了解了概念图定义及作用后,让学生自己制订了图像增强一章的概念图,大大激发了学生的创造性,同时加深了学生对基础理论知识的学习。另一方面,概念图可以作为学生自我评价的工具,学生在构图时遇到困难则说明自己的知识结构存在不足;构图不完整则说明自己的知识储备不够;概念图层次不清说明自己对这部分概念的理解不透彻等等,这些都将帮助学生认识自己,并对此进行反思,以改善自身的学习,寻找完善的对策。
3培养思维能力,挖掘学生潜力
在《数学图像处理》的教学过程中除了讲清楚基本理论、基本概念外,十分注重新理论、新算法产生的原因、过程,采用启发式教学,也就是将科学的思维过程传给学生,培养学生的科学思维能力。如在讲静态图像压缩的两种算法标准JPEG和JPEG2000时,由于JPEG是基于离散余弦变换的静态图像压缩标准,而JPEG2000是基于小波变换的静态图像压缩标准,因此首先给学生讲授了离散余弦变换的特点,它可以将大多数的信息放到较少的系数上去,因此更能提高编码的效率。缺点在于只要选定了需要保留的系数,则压缩比或者说分辨率就是固定的。而小波变换恰好可以克服这一缺点,它被誉为“数学显微镜”,可以对函数或信号进行多尺度细化分析,为实现图像多级分辨率提供了基础。而小波变换又存在哪些问题,讲清楚上述过程,比单讲算法本身要重要的多。旧的算法也许过时,但其包含的科学思维方法并不过时,新的算法也不能解决所有问题,但其创新意识却是解决所有问题的钥匙。在授课过程中,为了让学生理解各个学科在整个数字图像处理过程中各自的作用及如何有机地结合在一起,从图像的获取、图像的数字化、图像的预处理、图像的压缩编码、图像的显示、图像的描述等具体过程,说明多个学科如何交叉贯穿在一起。综合能力的提高必须掌握多学科的基础知识,这样才能融会贯通。理论授课结束时,让学生分组搜集素材谈谈对该课程或该技术的了解,并制作PPT在课堂上演讲。同学们积极踊跃,很多人讲了数字图像处理技术在日常生活中的应用,课堂效果非常好,在丰富了自己的同时也开阔了大家的视野。
4引进Photoshop,辅助教学手段
数字图像处理技术是一门利用计算机进行图像处理的学科,许多算法最终要在计算机上实现,因此《数字图像处理》课程教学不能脱离计算机,开展计算机辅助教学已势在必行。CAI是以计算机为教学媒体,通过学生与计算机之间的交互活动,充分利用计算机模拟、微观扩大、高速处理、及时反馈、动态显示、图文并茂、知识密集等一系列特点,来开发人及人以外的一切学习资源,达到优化教学效果的目的。Photoshop就是一款典型的优秀数字图像处理软件,在《数学务图像处理》教学中采用Photoshop作为CAI软件,不仅可以了解计算机图像输入、存储、输出的整个过程,而且对各种图像处理算法均有形象直观的印象,对直方图、图像文件格式、调色板等数据结构有了更深的理解。理论与实践的有机结合可使本课程的学习变得非常有趣。
5改革实验内容,上交实验报告
纯理论教学已反映不了“数字图像处理”课程应用性极强的时代特征,注重实践性教学环节对培养理工科学生的创造性是极为重要的。“数字图像处理”是以实验为基础的课程,主要讨论用计算机对图像进行加工和分析的方法。在开课的前一学期,完成了课程中主要实验的编程与调试,主要包括图像及其直方图显示、图像二值化、DCT变换、图像增强、图像编码等五个实验。在该课程理论授课结束时,制定了实验实施计划和指导方案。要求学生用MATLAB或VC语言做实验。实验开始前,简单讲授该课程实验中用到的主要的MATLAB语句,并和学生共享相关的课件,受到学生的欢迎和好评。结合学生的掌握情况,在已确定的实验内容基础上,又增加了图像的边缘检测。课程设计结束时,要求学生上交一份完整的说明书,要求内容充实,语言简练,能够熟练运用相关的工具对实践内容做出总结。通过实验练习和指导,加深了学生对课堂教学内容的理解,提高了学生的学习兴趣,大大增强了学生的实践动手能力。
6结束语
《数字图像处理》课程的教学任务还很艰巨,需要不断的探索与实践,还要在完善教学条件、提高教师自身能力和素质的过程中得到完善。课程改革的目标,是强调基础理论的学习,突出工程意识、创新意识与综合设计能力,使学生的信息综合设计能力和创新能力、科学研究能力有明显的提高,进而扩大学生的就业面。以上是我近一年在《数字图像处理》中进行的改革与实践,随着教学条件的改善和教学水平的提高,还需要进一步完善教学内容,培养出越来越具有开拓精神和创新意识的现代化新人。
参考文献:
[1]李朝晖,张弘,王京文,赵保军.数字图像处理及应用.北京:机械工业出版社,2007.
[2]付丽琴,桂志国,王黎明.数字信号处理原理及实现.北京:国防工业出版社,2004.
[3]阮秋琦.数字图像处理学.北京:电子工业出版社,2008.
[4]朱虹.数字图像处理基础.科学出版社,2000.
关键词:图像处理;教学改革
一、引言
“图像处理”是我院计算机科学与技术专业和物联网工程专业的专业选修课,该课程要求学生能够掌握基本的图像处理理论与算法,能够进行简单的程序设计来实现特定的图像处理任务。然而,经过几年的课程教学,我们发现学生在学习这门课的过程中出现了一些问题,具体如下:
首先,图像处理这门课是多学科交叉,学习这门课之前要掌握微积分、线性代数、微分方程、计算方法等数学课程,同时还要掌握一种程序设计语言。然而,学生的学习积累较弱,在进行算法讲解过程中往往需要结合特定的物理学、仿生学理论进行必要的数学理论推导,使学生在听课的过程中感到乏味,这给学生的学习上带来了不小的困难。在课下和学生交流过程中,他们普遍反映对理论推导的理解上存在不小的困难。
其次,作为一门实践性很强的课程,在学习课程的同时还需要进行相应的编程来验证算法的有效性,更多的时候是需要学生在吃透算法的基础上引导学生对已有算法来进行改进。然而,由于许多学生对于这门课的作用、目标不清晰,没有一个正确的学习方法,导致学生自己编程时普遍存在没有思路或者无从下手的感觉。
最后,这门课是三年级下学期开设的课程,学生面临公务员和研究生考试,同时还是选修课,学生重视程度不够,这些不确定因素给教学带来了一定的困扰。这样一来,真正肯下功夫学习的学生并不是很多。
为了破解图像处理这门课教学过程中所存在的一系列问题,提高学生对这门课的兴趣,同时按照学校应用型本科人才培养的要求,我们对这门课的教学总体目标和要求、教学内容、教学方式和考核方式进行了相应的改革。
二、教学总体设计
2014年淮阴师范学院逐步开展了本科教学改革,学院的人才培养目标要逐步向应用型本科人才培养方向进行转型。结合图像处理这门课有着非常强的工程实用背景,根据学校的应用型本科人才培养方案要求,我们对课程的教学目标和要求、教学内容、教学方式和考核方式进行了如下改革。
(一)教学目标和要求
按照应用型本科人才培养要求,结合学生的实际情况,教学目标的制定上统筹考虑基础理论的掌握和实践能力的提升两方面要求,使学生初步确立图像工程的理论思维,具备一定的创新实践意识,在自己的专业领域灵活应用所学知识解决实际工程问题。
(二)教学内容
尽管图像处理是一个年轻的学科,但其所涉及的内容却比较多而且杂。图像处理所涉及的主要内容包括:图像的基础理论、图像滤波、图像分割、图像增强、图像变换(如傅里叶变换、小波变换等)、图像形态学处理、图像复原与重建、图像压缩与编码、图像数字水印等。同时,图像处理也是一门不断发展的学科,文献[1-3]是图像处理的经典教材。以文献[1]为例,已经是第六版了,每一版本都比上一版本在内容上进行了不小的扩充。作为一门只有32课时的选修课,不可能面面俱到讲授所有内容,因此在内容上的选择要慎重。为了突出实践教学以及避免枯燥的理论学习,我们采用了Matlab版本的数字图象处理这本教材[4]。使用Matlab软件可以对图像处理的中间过程和结果有个直观的接触,使学生对课堂教学以及学生自学过程中能够产生足够的兴趣。同时,利用Matlab自带的图像处理工具箱,可以很方便地调用相关函数来实现特定的图像处理算法,这些函数对于理解书本内容有着很大的帮助作用。此外,Matlab还有非常详尽的帮助文档,便于学生自主学习。这里我们并没有采用vc++作为编程软件,主要是试验环境的搭建比较麻烦,调试起来比较困难。但是,在课程简介过程中,我们针对想深入学习图像处理,尤其是涉及硬件(DSP、FPGA)编程进行图像处理算法研究的学生,给他们推荐文献[5]。
在具体内容的讲授上,以工程应用背景为主的知识点进行讲解,包括:图像基础理论、图像滤波、图像分割、图像的傅立叶变换、图像压缩与编码。在基础理论的讲解上,主要是给学生树立图像的数学模型和图像处理的整体架构:用矩阵的形式来表示图像,所有图像处理算法都是围绕如何使用相关方法来对这个矩阵进行处理,再把处理的结果以图像的形式显示。这样使学生清楚在接下来的课程学习中如何去应对形式多样的算法。对于图像滤波、图像分割等其他内容,重点突出工程应用背景来提高学生的关注度与兴趣。
(三)教学方法
除了传统的多媒体课件和板书外,在教学环节中引入大量的现场演示环节,通过Matlab软件对图像处理算法进行仿真与处理,使学生对算法有个直观的认识。教学过程中的算法讲解,主要利用Mat-lab的数字图像处理工具箱中的对应函数,通过函数调用来教学生算法的使用,避免了复杂的数学推理,使课堂教学更有趣味性。另外,所有的课堂教学全部选择在计算机机房,讲解的过程中随时让学生来演练相关的算法,加深对知识点的理解。此外,当学生对图像处理有了一个基本掌握后,给出部分开放题目供学生选择,让学生分组来完成相应的题目,采用小组报告的形式到讲台上来讲解本组算法设计的过程,由下面的同学进行提问,凡是提问的学生都会有加分,如果台上同学回答正确也有加分。这样增加课堂学生的参与程度,使学生都能够融入到课堂中来。此外,我们还积极引导学生合理利用网络资源,选择与课堂教学内容相关、有针对性的视频公开课让学生去学习,同时给学生提出相应的问题,通过这种方式使学生自己解决问题,并把答案以作业的形式递交。
(四)考核方式
传统的考核方式比较单一,由平时成绩和期末闭卷考试成绩构成。这种考核方式的弊端就是学生对于课程学习过程重视不够,在期末时采取突击复习的被动方式来应对考核。若是期末用一张试卷进行考核,知识点量大、面广,学生复习困难,不利于学生对知识的掌握。考核只是一种手段,最终目的是通过考核使学生掌握知识。因此,我们采用过程化考试方法,即取消期末闭卷考试,把期末考试的比重分散到整个学期考核的各个环节。具体方案是:平时成绩占总评成绩的10%,主要考核学生的出勤及课堂表现情况;作业占30%,批改三次作业,每次满分10分,批改后直接公布分数;团队合作项目占60%,期中、期末各进行一次实验汇报,由学生上讲台讲解本组实验过程并提交实验报告,每次汇报满分30分。通过这种考核方式,使学生在整个学期学习的各个阶段对自己所获得的分数有个直观的把握,一方面能够调动学生的积极主动性、能够避免期末复习考试给学生带来的额外负担,使他们能够把注意力集中在课堂上;同时,在教学的各个阶段教师都有机会对学生的学习进行督促和总结。
三、课程设计
这里我们以图像分割这一章的一节课的教学过程为实例,讲解我们的课程设计。每节课教学内容的选择上突出兴趣主导,根据学生需求并兼顾题目的难度。以图像分割中的边缘检测为例,首先给学生展示一款安装在手机上名为“魔漫相机”的小软件,这款软件可以自动识别出照片中的人脸,然后嵌入到特定的场景中,如图1所示。
图1中,(a)为图像处理中的标准原始图像,在讲课时,先把这幅图像显示给学生,然后利用手机上安装的魔漫相机软件对这幅图像进行处理,得到图(b)。此时学生的注意力都被吸引到这幅处理后的图像,学生开始讨论。此时,我会讲解这个软件所用的算法,即使用人脸识别技术定位到图像中的面部区域,利用图像分割算法提取出面部图像,再嵌入到特定的场景中,就得到图(b)。紧接着,我抛出问题,这幅图像与素描很接近,基本勾勒出场景的线条,如果用算法实现这一处理,就是我们接下来要学习的边缘检测算法。通过现场编程,用普鲁伊特边缘检测算法对(a)图像进行处理,得到(c)图像,然后显示给学生看。然后提出问题,是否还有其他的边缘检测算法?边缘检测算法的原理是什么?通过对这些问题的讲解,使学生掌握了边缘检测算法的本质就是设计模板,通过更改模板中的数据可以得到不同的检测效果,然后学生们上机练习来对现有算法进行改进。一些学生直接把编程处理后的边缘图像发在自己的个人空间里,互相点赞,使学生们感到学习的趣味性。
关键词:信号与系统实验;考核方式;教学质量
中图分类号:G642.423 文献标志码:A 文章编号:1674-9324(2013)18-0264-02
《信号与系统》是电类专业一门重要的专业基础课,先修课程是高等数学、复变函数、电路分析。《信号与系统》这门课也为后续课程数字信号处理、数字图像处理、通信原理、自动控制原理的学习打下基础。随着信息技术的不断发展,现代社会生活已进入了信息化时代,现在很多非电类专业也开设了《信号与系统》。这门课是学生将来从事信号分析、检测控制等领域的科研与开发工作必不可少的理论与技术基础[1]。
《信号与系统》课的特点是:公式多,概念抽象,数学推导繁琐。这样造成教师难以讲解清楚,学生难以听懂,在理论课堂上许多理论、概念和公式学生都是一知半解。所以《信号与系统》实验课开设的初衷是让学生进一步巩固课堂基本概念和基本原理,掌握基本的实验技能和实际动手能力,最终提高学生独立思考和实践创新能力。结合多年的教学实践经验,笔者提出了一些提高《信号与系统》实验教学质量的方法。
一、强调实验预习的重要性,避免学生盲目做实验
以往的实验课都是学生没有课前预习就直接拿着实验教材进实验室,实验室辅导老师按部就班地讲解实验目的、实验原理、实验内容、实验步骤和实验注意事项。学生就机械地照搬老师的讲解内容做实验。有些时候老师还把实验的过程演示一遍给学生看,这样学生就依照老师的做法比葫芦画瓢地操作。这样学生做实验很顺利,实验结果也很快得出,但学生的独立思考能力和创新能力得不到培养,以后学生就业就是一个大问题。
所以,学生的课前预习尤为重要,学生要适应当今强大的就业压力,就要掌握科学的学习方法,只有具备了较强的自学能力,才能独立地探究新的科学领域,获取新的知识,具备独立思考能力、自学能力和科学探索精神。为了达到这样的目的,我们的做法是:要求每一位学生在上每一个实验之前都要预习这次实验的内容,并撰写本次实验的预习报告,没有预习报告者不得进入实验室做实验。此外,我们还在校园网上传大量的实验室实验仪器设备的使用说明及学习资料,还有很多有关仪器设备的操作的演示视频供学生参考,这样学生在上实验课之前已经对要做的实验心中有数,避免盲目做实验。
二、采用多种教学手段和教学平台
鉴于《信号与系统》这门课的特点,实验课总是滞后于理论课。我们在上实验课时首先是讲解实验的原理,实验原理的讲解要求精炼,通俗易懂,注重物理概念的讲解,一般讲解七八分钟。我们在讲解实验原理的时候最好采用多媒体教学手段,加上一些动画演示,使复杂的公式理论形象化,更有利于复习理论课讲过的内容,有利于实验课的顺利开展。
传统的实验课都是在试验箱上做一些验证性的实验。试验箱的特点是,实验原理电路已经给出,学生只需根据实验要求连线搭电路就可以了,而且连线往往很简单。这样的实验,学生只需用信号源送给电路一个输入,再把输出送入示波器观察实验结果,最后分析实验数据就可以了。这样会造成学生机械地做实验,实际操作能力和综合分析问题的能力没有提高。
我们把Multisim和Matlab引入到实验当中来,Multisim是加拿大简称IIT公司推出的以Windows为基础的从电路仿真设计到版图生产全过程的电子设计工作平台,是一套功能完善、操作界面友好、方便使用的EDA(ElectronicDesign Automation电子设计自动化)工具。它包含了电路原理图的图形输入、电路硬件描述语言输入方式,具有丰富的仿真分析能力,是电子技术界广为应用的一种计算机仿真设计软件。Multisim提供了方便友好的操作界面、相当广泛的元器件、种类齐全的电子设备、全面的电路分析工具。由于软件操作是在计算机环境下进行的,不是真实实际的元器件和仪器设备的连接,故称虚拟电子实验室。例如对于信号的分解与合成,很多同学感到概念抽象,不容易理解,我们让同学们自己运用Multisim软件设计一个滤波电路来观察信号的分解与合成,这样直观形象,学生能深刻理解这个概念,而且是学生自己设计的电路,也培养了学生独立思考、独立解决问题的能力,同时也提高了学生综合分析问题的能力。
Matlab俗称“矩阵实验室”,是Matrix Laboratory的缩写。1984年由美国MathWorks公司研制开发,以矩阵计算为基础的交互式的功能强大的科学及工程计算软件。Matlab将高性能的数值计算和可视化集成在一块,并提供了大量的内置函数,从而使其广泛应用于数学计算和分析、自动控制、系统仿真、数字信号处理、图形图像分析、数理统计、人工智能、虚拟现实技术、通讯工程、金融系统等领域。时至今日,经过MathWorks公司的不断完善,Matlab已经发展成为适合多学科、多种工作平台的功能强大的大型软件,也是当代大学生应该掌握的一项基本技能。我们把Matlab软件应用在《信号与系统》实验当中可以把课程当中抽象的概念和理论形象化,使学生更容易掌握这些难以理解的内容。
三、合理调整实验性质的比重,注重学生能力培养
以往的实验课都是做基础验证性实验,它的特点是实验过程简单,实验结果容易得到,这些实验基本上是在实验箱上完成。学生做过这样的实验印象不深,很快就遗忘,得不到实际的收获,教学质量很差。我们教研室经过多年的努力,大力改革调整实验内容,适当增加综合设计性实验和创新性实验的比重。调整后的比例是基础验证性实验占30%,综合设计性实验占40%,创新性实验占30%。综合性实验是指实验内容涉及本课程的综合知识或与本课程相关课程知识的实验。综合设计性实验的特点是,给定实验目的要求和实验条件,由学生自行设计实验方案并加以实现的实验,实验内容涉及本课程的综合知识或涉及本课程部分知识的实验。创新性实验,以学生为主体,调动学生的主动性、积极性和创造性,激发学生的创新思维和创新意识,全面提升学生的创新实验能力。
四、采用多重考核方式,注重教学质量的提高
实验总成绩我们分两个部分:平时实验成绩和期末实验考试。平时实验成绩占总成绩的60%,期末实验考试成绩占总成绩的40%。总成绩我们又采用五级制评价,90分以上为A,80~90分为B,70~80分为C,60~70分为D,不及格为E。平时成绩我们又细分成三个部分,实验预习成绩、实验过程成绩和实验报告成绩。实验过程我们又从实验操作和实验数据两个方面来考核,实验得出的数据当场有老师签字,没有老师签字的实验数据不合格,要重新做实验。
五、总结
我们教研室一直在努力探索《信号与系统》实验课教学方法。本文通过强调实验预习的重要性,采用多种教学手段和多种教学平台,合理调整实验的比重,改革考核方式,初步摸索出一套良好的教学方法。经过一年多的实践表明这些方法都受到学生的好评,学生的学习兴趣、实际动手能力、独立解决问题的能力和创新能力都得到明显的提高。学生素质提高了,表明我们的教学质量提高了。
参考文献:
关键词:独立学院;C++程序设计;教学;任务驱动
中图分类号:G642文献标识码:A文章编号:1009-3044(2008)25-1484-02
Teaching Researches on the C++ Programming Course to Students Major CS in Independent Colleges
LUO Ai-jun
(Computer Science College of Yangtze University, Jingzhou 434023, China)
Abstract: Programming is a very important basic course to students major computer science, and the point is much more important in those independent colleges which pay more attention to training the students' practice ability. The paper aims at lots of problems exposed during the C++ Programming teaching in independent college, analyzes these problems and brings up some corresponding proposals.
Key words: Independent College; C++ Programming; Teaching; Task_driven
1 引言
随着社会的飞速发展,在高等教育日渐大众化的今天,用人单位对人才的要求也越来越高。各大专院校也因此纷纷即时根据社会的需求调整其人才培养目标,其中的独立学院把其办学思想定位于培养大批社会急需的应用型人才,非常强调学生动手实践能力的培养。
程序设计长期以来一直是大学工科各专业的一门必修课程。尤其对于计算机相关专业而言,程序设计学习情况的好坏,对计算机相关专业后续课程的学习将会产生较大的影响。目前,无论是搞开发还是搞研究,对使用的程序设计语言有同样高的要求:要求能有较好的可靠性,高效率,可以在不同平台上移植,有尽可能多的标准化语言内容,支持数据一致性,支持程序描述的简洁与清晰,风格自然[1]。这些都是C++的外在特点,高校计算机相关专业大多采用C++作为程序设计教学语言,全国计算机等级考试也把C++作为考试的主要语种,因此做好这门课程的教学工作具有较大的现实意义。但目前教学工作中普遍存在教师觉得不好教,学生觉得不好学的问题,本文针对教学中出现的问题进行思考分析,并提出了相应的解决方案。
2 存在的问题
目前在教学过程当中主要存在以下几个方面的问题:
(1)教学目的与学生的需求存在偏差,学生学习兴趣较大,但信心不足。
C++程序设计教学的目的是向学生介绍计算机程序设计的基本知识。让学生掌握C++基本语法及面向对象程序设计的基本方法与编程技巧;让学生了解常用的算法和数据结构知识,能根据给定的算法,选择合适的数据结构并编制出相应的程序。同时也为本专业后续其他课程的学习打下坚实的基础。
对此学生们的需求又是什么呢?博客上的调查结果反映:约75%同学希望通过学习本课程能开发出一款实用小软件。而我们课堂程序设计教学中甚至没有涉及到WINDOWS编程,学生学完了以后还是不能动手写程序。学生的需求与上述教学目的存在一定的偏差。
大部分同学对本课程兴趣大,学习积极性高。但在学习一段时间后,随着内容的深入,难度的增大,便有同学出现了畏难情绪,甚至认为C比C++简单,明显地缺失信心。
(2)教师教学内容和方法单一,师生互动不明显。
教师教学停留在传统的传授课堂知识,对“师者,传道、授业、解惑者也”的理解和认识尚未进一步更新。师生在课下的沟通互动不明显,导致学生在学习过程中遇到的问题不能够及时地得到解决,这在很大程度上,也影响到学生学习的主动性。随着科技创新和知识更新速度的加快,我们的教学内容和教学方法也不能停留在课堂教学45分钟“老师讲学生听”这一旧的模式和旧的层次上。同时,我们面对的每一个学生基础不尽一样,学习理解知识的能力也不同,如果采用单一的教学方法,很显然是违背“因材施教”的原则的。
(3)没有充分发挥实验教学的优势。
现在各高校大部分机房都已连入INTERNET,而互联网络对学生是一柄双刃剑。如果上课合理利用网络检索所需资源,则有利于学习和掌握知识;反之,如果上课时间利用网络看电影、听MP3、玩小游戏,或者甚至相互拷贝作业,则不仅没有任何优势可言,反而是极有害于教学的。同时“互联网”和“程序设计”二者谁对学生们的吸引力更大,这一点是不言而喻的,每次上机人数众多,实验指导教师监控管理措施不易实施。
教师在实验课上把精力放在指导学生调试程序上。作为初学者,学生们在程序调试中的问题层出不穷,只能被动地等待老师帮忙解决。有时教师还不得不重复解决相同的问题,课堂效率低下。传统的“一问一答”的方式,已经不再适合目前的实验教学。
因此,在网络技术越来越发达的今天,如何重新让机房、让实验课发挥其应有的作用是摆在每一位计算机教育者面前殛待解决的问题。
3 解决的对策
3.1 选择一本合适学生阅读的经典教材
要选择一本好的教材,这看起来是一件很简单的事情,似乎也不那么重要,因为现行各作者各出版社的教材上的内容大多相差不大。的确,这是事实。然而,不光授课教师需要认真咀嚼教材,学生们也要认真阅读教材。教师在讲台上讲授,同时还要求学生能够课下自己阅读教材上的相关内容。国内引进的许多多影印版教材,在每一章节的课后都列出若干的参考文献,引导有余力有兴趣的学生去阅读[5],既加深了学生对教材的理解,也拓展了学生的视野。一本好的教材,不一定是通俗读物,需要有一定的难度。过高的难度可能让学生望而生畏,但适当难度则可能激发学生更大的探索的兴趣。
3.2 加大学生的兴趣,增强学习的信心
兴趣是最好的老师!如何培养学生对程序设计的兴趣?当他们亲自感受到计算机程序设计的对当今社会的巨大影响力,便可能对之产生浓厚的兴趣。此外,还要让他们认识到学习程序设计目的在于培养学生用计算机解决生产生活中的一些问题,当然首要就是本专业后续其他课程学习过程中的实际问题的能力。
不是说兴趣高就意味着会编程了。眼高手低是学习过程中常出现的问题:他们对老师演示的内容都认为很简单,但让自己做却无从下手。有意识地锻炼学生动手编程能力,并引导他们取得成功,从成功中获取更大的成就感和自信心,这将是他们在程序设计道路上继续前进的巨大动力。例如,引导学生利用已学过的知识,编程实现简单的数字图像处理过程。虽然开始时会让大家觉得有困难,比如其中大量陌生的库函数让人望而生畏,有时可能自己还要写一些自定义函数。但只要做好指导工作并给予适当地鼓励,则不仅能激发学生的兴趣,还能巩固所学的知识,而且可以在实践中让他们的思维能力得到提高、编程能力得到锻炼、创新能力得到增强。
教师要付出足够的耐心,想方设法提高学生的兴趣和学习热情,培养和提高他们的创新能力,增强学生们对学好本课程的信心。
3.3 把握教学重点,灵活采用教学方法,加大师生互动
算法设计是程序设计的核心。我们要将教学重点从C++基本语法转移到算法设计上。有针对性地设计能综合运用已学和将学相关知识点的实例,课程上多采用案例教学。即使是同一本教材,同一个算法案例,只要我们善于挖掘,也可以推陈出新,找出更易于学生理解和接受的讲授方法。
针对不同的教学内容,更要灵活采用教学方法。常用的教学方法有:类比教学法、启发教学法、分步教学法、任务驱动法[4]等。而其中任务驱动法在C语言程序设计教学中运用较多、效果较好的一种。
除了传统的师生互动方式外,我们还可以采用其他更灵活有效的方式。考虑到学生们课外在网络上花费的时间较多,我们就可以充分利用学校的精品课程网站的网上答疑论坛子系统,还可以利用各大门户网站提供的免费博客系统,二者都可以较好地解决课堂45分钟以外的师生互动问题。在实际教学中,我们利用TOM BLOG进行师生沟通,也取得了很明显的效果。
3.4 加强上机实验指导,制订上机任务,保证上机效果
(1) 程序设计课程本身实践性较强,必须安排足够的上机学时。同时还要精心设计每一次实验内容,让学生每一次实验都有明确的上机目的。
(2) 学生明确任务以后,应首先仔细思考,形成思路,再将思路描述成为C++代码写到实验报告纸上,待形成完整的程序以后再输入计算机中进行编译。而不是一边想,一边输入代码。这样既提高了效率,同时也提高学生思考问题的能力。
(3) 针对学生在编译,链接过程中出现的错误或警告,教会学生使用调试工具。学生在调试中遇到的疑点和难点,及时给予必要的适当指导,主要是教给学生科学有效的调试方法,例如等价类划分法、边界值分析法、安插测试语句等。
(4) 实验课结束时,每名学生必须上交比较规范的纸质实验报告(其中除包括程序的源代码,输入数据,程序输出结果外,还应重点包含程序调试过程,以及本次实验体会),通过以上举措来保证学生完成实验任务。课程结业考试也必须包括学生上机编程能力考核。
(5) 课程结束以后,分组安排2周的课程设计。题目要具有一定的综合性和较强的实用性,如学生信息管理系统等。要求学生经过需求分析,软件设计,编码,测试等软件开发的各阶段,最后提交一个软件原型及相关文档。通过课程设计实践,提高学生的软件开发水平和合作能力,同时,还可使学生在以后的学习过程中,自觉将计算机技术应用到生产和研究过程中,真正做到学有所用。
在上机实验环节,教师要认真做好指导和督促,减少互联网络等对学生注意力的不良干扰,让学生在规定时间内完成指定任务,从而保证实验教学效果。
4 结束语
本文提出了近几年在独立学院计算机专业《C++程序设计》教学过程中出现的问题,进行了思考和探索。对提出的方案在独立2006,2007级计科、网络专业本科学生中实施,较好地激发了学生的兴趣,调动了学生的学习积极性,增强了学生的自信心,日常教学和计算机等级考试都取得了很好的效果。以上事实证明,只要教师教学目的明确,教材理解深入,教学方法灵活得当,师生加大互动,学生是可以轻松学好C++程序设计的。
参考文献:
[1] 钱能. C++程序设计[M]. 北京:清华大学出版社,2005.
[2] 刘晓锋, 吴亚娟. 计算机专业《C语言程序设计》教学与教学改革[J]. 四川师范学院学报, 2003(24):34-36.
[3] 孔垂柳,田地. 基于程序设计思想的C语言教学方案[J]. 吉林大学学报(信息科学版) , 2005,(S2):2.