赵明伟
(滁州学院 地理信息与旅游学院,安徽 滁州 239000)
面向对象程序设计是地理信息科学专业计算机模块的核心课程,该课程主要讲授类与对象、继承与多态、异常处理、字符串、数组与集合等面向对象的编程思想。地理信息科学专业学生在后续还会学习组件GIS 开发、WebGIS 开发等专业课程,这些后续课程的学习都需要有面向对象程序设计的思想及基础,因此对于地理信息科学专业的学生来讲,本门课程尤为重要。早在上世纪末该专业成立之初,国内曹文君等学者就已经开始重视面向对象知识库在地理信息教学中的作用[1]。近年来,梁伟,程刚等学者针对地理信息科学的专业特点对如何改革面向对象程序设计等程序开发类课程的教学内容及评价体系等进行了研究[2-3]。
因材施教是高等教育重要的教学原则,对于地方性应用型本科院校,非计算机专业的面向对象程序设计等课程普遍重视该类课程在本专业的人才培养中的重要作用,结合本专业技能需求对该类课程进行优化改革[4-5]。作者在任教的院校(滁州学院地理信息与旅游学院)调研时发现,目前在地理信息科学专业面向对象程序设计课程教学内容、教学方式方法以及考核方法等方面都存在若干问题,不利于发挥该课程在本专业人才技能培养中的作用。主要体现在两个方面: 第一是教学内容略显陈旧,本门课程以面向对象程序设计语言C# 为讲解对象,尽管C#基本内容是固定的,但是近年来利用C# 语言解决现实问题的思路是不断创新和发展的。而当前的教学内容还基本上依托经典教材,内容上更新不及时。第二个主要问题是课程教学内容与实际应用脱节,作为地理信息科学专业的核心课程,面向对象程序设计这门课程的开设应当是为后续地理信息相关的算法、系统研发等提供基础知识储备,因此在教学过程中将本专业对程序设计语言、思想的需求逐步引入到教学过程中非常有必要,而当前的教学活动中对这一方面存在明显不足。本文拟在阐述上述问题的基础上,提出本课程的改革对策,以期能够通过该课程的学习,显著提升学生对地理信息算法认知、系统研发等方面的技能水平。
该课程主要讲授类与对象、继承与多态、异常处理、字符串、数组与集合、泛型等面向对象的编程思想。力图通过该课程学习,学生能够掌握C#的程序开发技能,掌握面向对象程序的设计思想。在实际授课中,由于学时的限制,上述内容不宜全面讲授,否则会影响学生的学习效果,学生容易走马观花,浅尝辄止,达不到教学目标。因此在本课程的教学中,必须对所有教学内容进行系统的梳理与归纳总结,总结出本课程的知识体系,合理分配学时,对于算法方法等知识从典型性和前沿性的角度综合考虑去选择,真正做到讲一个知识,学生能掌握一个知识的效果。
特别是作为地理信息科学专业的开发基础课程,在讲授的时候还要考虑后续开发课程对面向对象程序设计知识体系的需求情况。以笔者所在院校为例,地理信息科学专业开发方向的学生在三、四年级需要学习GIS 算法基础、组件式GIS 开发、WebGIS 开发、移动GIS 开发等开发类课程。这些后续专业课程的学习需要哪些面向对象程序设计中的知识点做铺垫,需要掌握到何种程度,这些问题都需要任课老师思考。此外,对于非开发类课程,例如空间分析原理与方法、数字高程模型等在讲授中也大量用到面向对象建模的思想,这些内容在面向对象程序设计课程中应该如何强化,都值得专业任课老师思考。
该课程的理论教学以教师课堂讲授为主,由于课程内容信息量较大,不能过多引入案例,即便引入一些案例也仅是点到为止,不能进行深入分析和讲解,不能过多提出问题给学生进行思考和开展课堂讨论,学生对理论部分的学习实际上仍然以被动接受为主,学习效果不理想。对于实验教学部分,实验设计为分割的条块式的小实验,尚未形成一个或两个系统的以项目训练为主的综合性实验。
这样的教学模式与方法对于每一堂课或者章节而言,能够达到让学生理解所讲授知识点的效果。但是该门课程的应用型很强,在具体应用中需要融会贯通各个章节的知识点,另一方面要做到熟练应用还必须要有相当量的实践操作做支撑,因此目前的教学方法不利于学生系统掌握该课程的内容体系,不利于学生解决实际问题能力的提升,不利于学生创新工作能力的培养。因此,无论是对于理论课还是实验课的教学模式和方法都应该进行深入的思考调整,让学生有兴趣学,并能学以致用,同时能做到举一反三。
当前面向对象程序设计课程考核体系主要是理论课考试成绩与实验课考查成绩相结合,同时辅以课堂考勤、平时作业与测验等确定最终的期末考评成绩。其中理论课考试过分重视概念性的知识考查,过分重视需要机械记忆的一些语法、函数等知识点的考查。实验课程一般是任课老师根据学期实验课程的教学内容,设计一个尽量兼顾各个环节的实验进行考核。这种考核方式带来的最大问题是学生热衷于找任课老师“划重点”,导致学期末大家不是把精力放在对本门课程的综合理解、融会贯通上,而是花费大量时间去背诵语句、函数等知识点,过分重视考核结果,而忽视了学习本门课程的最终目的。
因此,当前普遍采用的考核评价方法不利于培养学习兴趣、不利于提升学习能力、不利于检验学习效果、不能及时反馈教学以便改进。为适应应用型人才培养的效果需要,需要改革考核评价体系,探索一种能够激发学生创新性思维的考核方法。这需要任课老师来思考,当前已有的考核评价方式是否能真正反映学生对本门课程知识点的掌握水平?除了常规的理论加实验考核外,能否鼓励学生自主设计题目,开发一个与本门课程相关的系统作为考核评分依据,能够借助一些专业学科竞赛平台,鼓励学习积极参赛并且以获奖成绩来作为考核评价的依据。此外,如果考虑上述多样化的考核方式,如何设立考核评价标准以保证考核结果的公平性,也是任课老师需要深入思考的问题。
内容合理、逻辑清楚的教学材料是开展课程教学的必备条件,因此专业课程负责人应当重视教学材料的整理完善。特别是作为一门专业基础课,专业负责人需要从整个专业人才培养的角度,认真研读人才培养方案中关于本门课程的定位,仔细分析本门课程哪些方面的知识体系对后续专业课程的讲授而言是必备的。同时作为开发类课程的先行课程,还需要考虑学生开发优良习惯、综合素质的培养。因此这个过程需要本专业所有老师参与进来,而绝对不是仅仅该课程任课老师的工作。
课程内容设置始终以培养高素质 “应用型人才”为核心,将本领域的最新技术和前沿性理论知识纳入理论教学内容,同时还要考虑本课程对后续专业课程知识体系的铺垫作用,在理论课程内容讲授过程中将地理信息类的相关问题引入课堂实例,在讲授面向对象课程基本理论知识的同时,也能引导学生们深化对本专业课程体系的认知。此外,鉴于后续还有较多的开发类专业课程,因此任课老师在讲解面向对象程序设计时也可以适时的介绍后续相关开发课程的基本信息,从而让学生提前准备。对于本门课程的实践课,建议以主要综合性实验为手段锻炼学生的实践应用能力,在设置具体实验内容时尽量考虑地理信息科学专业的学科内容特点,将诸如空间数据分析、处理等内容融入到实验内容设置中去,让学生一方面能够掌握本门课程的实验技能,同时也能从面向对象编程的视角对本专业的一些理论方法、研究问题等有新的认识。从而使学生能够在企事业单位胜任地理信息类软件系统研发、测试及数据分析与处理检等相关工作。
在具体教学过程中,应当选择经典教材为教学用书,同时结合本校地理信息科学专业的发展定位和学生的实际情况对课程框架结构和教学内容进行重新组织,合理设计实验项目,增强课程内容的应用性,增加设计应用案例,力求达到“理论联系实际、实验提升能力”的基本目标。在课程建设过程中经历两个教学实践、反馈、总结、修正、完善的循环后,形成完整的教学材料。
教师教学水平是决定课程效果的关键因素之一,因此,为了使教学内容更好地适应学生的情况,需要课程主讲教师在课程实践中不断发现问题、讨论解决问题;主讲教师还应该自主、积极地了解本课程在全国其他高校的教学情况,以及掌握与本课程相关的最新技术方法、理论,随时为本课程增添活力。这就要求本课程的主讲老师定期组织课程教学研讨,交流讨论课堂教学中存在的问题。同时也建议邀请本专业其他课程老师,特别是后续需要以本课程做先修课程的专业课老师,听取这些任课老师在以往教学中发现的学生关于面向对象程序基础知识掌握等情况,并将这些问题吸纳到本课程的教学环节中,努力提高整个专业的课程教学质量和学生能力。
除上述教学研讨活动,本课程的老师也要注重自己授课水平的锻炼和提高。本课程的主讲教师一方面要积极参加院、校组织的各类教学比赛,邀请教学专家随堂听课,吸取专家的建议和批评;另一方面本课程的主讲教师也要积极去教学经验丰富的老师的课堂上观摩学习,进一步促进本课程主讲教师的教学能力。
在确定教学内容的基础上,教学模式和方法的灵活运用是提升教学效果的助推器。本课程建设过程中,需要不断探索运用多种教学模式和方法相结合的方式,尽可能地提高学生参与课堂教学活动的效果,激发学生发现问题、解决问题的能力,从而实现预定的教学目标。
在实际教学活动中,本课程教学改革拟建立项目教学、任务驱动、案例教学等多种方法结合的方式方法进行教学,最大限度地提升教学水平。其中项目教学的主要思路是结合项目组成员在地理信息空间数据分析方面承担的多项国家级、省级科研项目,以及与企事业单位合作的地理信息类软件系统研发课题,采用问题导向的方法,以问题引出教学内容,同时将教学内容应用于各类科研问题的解决过程,同时在这个过程中适当地留出小的科研问题给学生们讨论,让学生体验到解决问题的成就感,激发他们进一步学习的兴趣。
案例教学法是一种以案例为基础的教学法,在面向对象程序设计课程教学中,要将案例教学以多种方式融入到教学过程中,一方面以典型案例为主线讲解相关知识点,让学生不仅能够知道这些知识点,还要会用这些知识点;另一方面,在期中或期末的时候,组织学生分组,自己设计案例及求解过程,锻炼学生自主分析问题、解决问题以及团队协作的能力。
任务驱动教学是一种建立在构建主义学习理论基础上的教学方法,它将以传授知识为主的传统教学理念转变为以解决问题、完成任务为主的多维互动式的教学理念。在面向对象程序设计教学过程中,主要将该方法应用到学生理论课后的自主学习实践环节。从实际纵向、横向项目,开发设计大赛题目中抽取小的面向对象应用编程小任务,引导学生自主实现,并将结果体现在学期末的考核评价中,进一步激发学生完成任务的兴趣。
从传统考核模式来看,其结果并不能完全反映学生对于基本知识和技能的掌握程度。为了提升学生学习的主观能动性,更真实地反映学习效果,适应应用型人才培养的需要,应该建立长期、多元考核相结合的方式替代传统模式对学生学习效果进行检验。所谓长期,即从期初至期末,学生都将处于被考核的状态,不同的考核分布在不同的时间节点;所谓多元,即考核方式的多元化,到课出勤、阶段性单元考核、课后任务报告、期末考核、实验考核等,都将作为测算总评的考核因子,使得课程考核结果能最大程度地反映学生对本门课程的掌握水平。
同时,要始终以掌握面向对象程序设计思想,并能在后续地理信息开发类课程中熟练运用面向对象编程的相关知识与技能作为课程的主要学习目标。因此,课程考核也应当顾及到上述教学目标,而不能再仅仅停留在及格拿学分的层次。这就要求任课老师积极探索推进将技能测试、学科专业竞赛、学术论文、职业资格证书、专利和成果等纳入课程考核体系,探索“以赛代考、以证代考、以成果代考”等课程考核新模式。这种考核方式能够最大限度地发挥学生自主学习的热情,而且促使学生自主发现问题、分析问题、解决问题等综合素质的提高,推进学生实施课后的二次学习。需要强调的是,如果实施多元考核评价体系,任课老师还应当思考如何保证学生真正达到教学目的,如何对专业竞赛、学术论文等成果进行分数量化,从而保证考核结果的公平性。
面向对象程序设计作为地理信息科学专业计算机模块的核心课程,对于该专业学生程序设计和系统研发能力的培养至关重要。为最大程度发挥该课程的教学效果,切实提高本专业学生GIS 相关编程水平,在教学中应当结合地理信息科学专业对程序设计及系统研发知识的需求重新组织教学内容,梳理教学重点与难点;在课程实验设计方面应当与GIS 空间分析、GIS 算法等课程紧密联系,选择GIS中典型的算法案例,提高学生对应用面向对象程序设计解决专业问题的认知水平;在师资选择时应当选择对地理信息科学专业的培养目标、能力等有较好理解度的老师,以便能够在面向对象程序设计课程教学中将GIS 相关概念、案例等融入到课程教学中;在对该课程的考核评价中应注重灵活性、多元化,优化考核评价方式以激发学生学习该课程的兴趣。