日期:2023-01-24 阅读量:0次 所属栏目:学前教育
一、课程内容分析及教学目的
1.遥感专业的特点与本课程内容分析。遥感专业属于测绘类大学科方向,主要培养具备遥感科学技术与工程的基本理论、方法和技能的各层次专业人才。要求学生能够熟练掌握卫星遥感平台、传感器技术、遥感信息获取与数据处理、多传感器数据匹配和融合、图像自动解译技术等基本技术与方法,能够在城市规划、农业、林业、水利、地质、测绘等各类遥感领域,从事遥感电子设备与系统研制、应用系统和系统集成的建设与开发工作[1]。因此,对遥感专业的学生来说,程序设计是一门必备的技能。针对面向对象程序课程的教学任务量和教学特点,我校在制定遥感专业教学大纲中安排学生从一年级开始学习程序设计课程,分上下两个学期学完。课程内容主要包括[2]:①程序设计基本概念与语法,包括数组、函数、类和对象、继承与派生、多态性、输入输出流、异常处理等,以及C++14标准中包含的模版、泛型、匿名方法、lambda表达式、新型智能指针等。②程序设计方法,包括结构化程序设计和面向对象程序设计。面向对象程序设计的出发点之一就是弥补结构化程序设计中的一些缺点,但其可以使用结构化程序设计中的函数、数组等基本理论。本课程主要要求学生学习和掌握面向对象程序设计的思想,同时要求学生采用规范的程序设计风格,形成良好的程序设计素养。③程序调试技巧。④专业问题的分析与程序转化能力。
2.教学目的。教师通过理论和实践教学,使学生掌握结构化程序设计方法和面向对象程序设计方法,了解面向对象的基本概念和使用面向对象技术进行程序设计的基本思想,学会采用面向对象的方法进行问题分析,能够熟练运用C++语言解决一般问题,培养学生的动手实践和科研创新能力,为大型应用软件设计与开发打下良好的理论和实践基础。通过本课程的教学,希望学生能够达到的能力[3]包括:①程序编写与调试能力,熟练掌握VC++的编辑调试工具,能够快速编写程序代码;掌握程序排错的基本方法,能够独立快速进行程序调试。②专业问题的分析与程序转化能力,对实际专业对象和问题进行分析与抽象,设计出结构合理的对象关系图,并能进行求解。③创新能力,能够独立思考和深入钻研,善于对所学知识,进行梳理、概括、归纳总结,给出合理解决方案;能够独立阅读参考代码和资料,自我扩充知识结构。
二、普遍存在的问题及原因
1.学习中存在的问题。在学习过程中,大一学生们普遍反映该门课程的概念和知识点太多,课程内容的风格与其他课程差别很大,不易理解,一些学生甚至对编程产生了畏惧情绪,一步跟不上,步步跟不上。学生们学习过程中所遇到的困难具体来说包括以下几个方面[4]:①学生对遥感与面向对象程序设计的关系不清楚,学习的热情不高,比较茫然。②知识点具有一定难度,部分学生不注重对编程基础知识的掌握。③本课程是理论教学与上机实践相结合,教学内容多、学习任务量重。④C++中蕴含的计算思维方式不容易掌握[5]。部分学生在学习了本课程后,不善于从计算机语言的角度去思考问题。⑤编程环境VC++相对比较复杂,不太容易快速掌握。
2.教学中存在的问题。许多老师具有多年的程序设计经验,容易惯性地认为所讲授的知识点比较容易,从而忽视了学生的个性化感受,再加上缺乏有效沟通,最终导致老师讲台上讲的很有激情,学生在下面一脸茫然。具体来说有如下问题:①没有激发学生的学习兴趣。传统的“以教师为中心、学生被动接受知识”的“填鸭式”教学方法忽略了学生学习程序设计的主动性,从而培养不了学生的创造性思维和探索精神,使得原本就不吸引学生的课堂变得更加枯燥无味,大大降低了学生的学习兴趣[6]。②没有因材施教。大一新生的计算机基础知识的掌握程度大不相同,在教学中若进度偏快,就有部分学生无法跟上老师的节奏,影响学习的积极性;如果讲的偏慢,会在整体上影响教学进度。
三、以能力培养为导向的教学方法研究
遥感专业开设C++面向对象程序设计课程,目的并不是要每个学生将来毕业了都能够胜任程序员的工作[7],而是让他们学会利用程序设计的思想和工具,具备解决专业问题的能力和潜力。针对以上对教学过程中存在问题的分析,现从以下几个方面提出以能力培养为导向的教学方法,力求提高教学效果。
1.活跃课堂气氛,激发学习兴趣。表面上看起来,面向程序设计课程本身是一门很枯燥的课,课程内容不是概念就是代码,课程中很多内容又不容易被学生理解。在教学中如果不和学生互动,学生只是被动的学习,那么他们不但在学习过程中对知识点的理解很困难,而且其学习的成果也不会达到预期的目标。在C++的教学过程中,最理想的状态就是,学生一直都能保持一种亢奋的状态,做到“乐于学、勤于练、善于思”。针对这种情况,教师可以采取以下几种手段,激发学生的学习兴趣:①从简到难,稳扎稳打。C++的知识点的难度是不一样的,在课堂上和上级实习中,给学生以适当的提示,让学生每一步都能看到解决问题的希望。②课堂上,对重点、难度知识点要尽量形象、生动地进行讲解,有时可以借助打比方、讲故事,也可引入UML或Visio绘图来辅助。③对容易混淆的概念,集中起来进行类比讲授。④引导学生知其然,更要知其所以然。
2.精心设计实习题目,全面覆盖专业问题。面向对象程序设计是一门实践性很强的课程,通过实践来加深对课程中理论知识的理解。因此,在实习内容的安排上,既要重视理论知识的重现,又要注重学生解决问题实际能力的培养;既要考虑学生的总体学习情况,又考虑学生的个体差异;既要考虑专业知识的覆盖,又要增加趣味性,并为学生提供一个发挥想象的空间。每个实验都要求学生自己进行设计和调试,老师在其中只是起引导和辅导作用。通过多次实践,学生不但可以对所学的内容进行巩固,而且还可以在其基础上创新。着眼于学科体系内的课程衔接,可从以下几方面来考虑实习题目的设计:①从大一所学的高等代数中出一些关于矩阵、行列式运算方面的问题进行训练。②从遥感专业内容本身寻找题目,诸如遥感图像处理、影像显示和影像分类等问题,来让学生体会C++解决专业问题的巨大威力。③通过设置课程设计题目,引导学生既要善于独立思考,又要学会分工协作。C++语言基于面向对象思想,无论是微粒度的代码级的设计模式,还是软件模块的设计组织,都能很轻松地应对。指导学生在大模块软件设计编写过程中,学会团队合作,同时在自己的模块中精益求精。 3.既要纸上谈兵,又要参加实战。面向对象程序设计课程是一门操作性和实践性很强的课程[8],如果只选择理论考试的方式来测验学生对本门课程的掌握程度是远远不够的。单纯的考试只会使学生对课本上的概念和知识进行盲目地死记硬背,即使考试拿到很高的分数,也不知道怎么将课本中的理论知识应用于实际操作中,更不懂得怎么用C++语言解决实际问题,从而出现高分低能的现象。学习C++目的是要利用这个计算机语言作为工具,解决本专业内的科学计算问题。引导学生从理论走向实践,真正学会这门本领。每年都有校级、省级甚至全国性的GIS程序设计大赛,教师应该根据学生学习C++所掌握的不同程度,推荐其参加不同类别的程序设计大赛,真正在实战中检验和提高技能。
四、总结
C++面向对象程序设计是一门方法性、实践性和应用性都比较强的课程,不容易被初学者理解,在课程的教与学的过程中都存在着困难。能够熟练掌握这门课程是广大师生共同的希望。这门课程学好了的话,后续课程会得心应手。在本课程的教学中,以提高学生运用C++解决专业计算问题的能力为主要目标,通过激发学习兴趣、设计遥感类实习题目和鼓励参加程序设计大赛等手段,充分调动学生的自主性,强化对面向对象概念的理解,适应面向对象程序设计的[5,8]思维习惯,逐步学会灵活运用面向对象思想来分析和解决具体的专业计算问题。
本文链接:http://www.qk112.com/lwfw/jiaoyulunwen/xueqianjiaoyu/223199.html