郎振红1´2
(1.天津电子信息职业技术学院软件技术系,天津300350;2.天津师范大学马克思主义学院,天津300387)
摘要:通过对C#程序设计课程教学活动的调研,提出以调整相关教学内容,整合实践教学项目,规范实践教学环节,启用案例驱动、角色模拟、分组教学等理论与实践相结合的创新型教学方法,改革课程考核方案及分值比例,突出以学生为中心、以实践教学为重点、以网络平台为依托、以实践能力提升为目的的教学改革方案。
教育期刊网 http://www.jyqkw.com
关键词 :C#程序设计;教学方法;实践教学
文章编号:1672-5913(2015)17-0094-04 中图分类号:G642
基金项目:教育督导“十三五”科研规划重点项目“高职院校思想政治实践教学网络平台的研究与实施”( EDUZH130004)。
作者简介:郎振红,女,副教授,研究方向为计算机教学及研究,hong05172006@126.com。
1 以往教学中存在的主要问题
就计算机软件专业核心课程而言,C#程序设计是培养.NET程序员基础技能的专业核心课。该课程学习效果的好坏不仅直接影响后续课程的学习效果,而且影响学生实践动手能力与创新意识培养的效果。
天津电子信息职业技术学院针对C#程序设计课程前后共开设两门子课程,即面向对象程序设计和Windows应用软件开发。其中,第1门子课程主要任务是使学生能够运用C#语言深入地了解和掌握面向对象的程序设计方法、编程思想与基础编程技能,培养学生运用C#语言独立进行面向对象程序开发的能力及良好的编程规范和职业习惯;第2门子课程主要任务是培养学生运用.NET技术进行Windows应用程序开发的能力,熟练掌握在Microsoft VS.NET开发环境中设计Windows应用程序的基础知识和技能,结合数据库应用技术和软件工程技术进行管理信息系统应用项目的开发,能基本胜任基于.NET的Windows应用程序设计员的岗位。Windows应用软件开发是包括软件技术等相关专业的400多名学生的必修课程,我们根据目前的教学实践,深度挖掘存在的问题,进行积极的实践教学改革,以期达到更好的教学效果。
1.1 教学内容设置不合理
通常以培养.Net程序员为主线的软件技术专业会开设C#语法、C#界面设计以及动态网站设计等相关课程,但是其中的重复教学内容既浪费学生的学习时间,又消耗大量学习资源。
天津电子信息职业技术学院针对C#程序设计课程的学习前开设的面向对象程序设计课程内容包括面向对象程序设计思想,使学生理解主类程序设计、类的识别与封装、类的继承分析与实现、类的多态分析与实现、类的异常处理、.NET类体系结构分析与应用等,利用Microsoft VS.NET开发环境中的控制台应用程序实现上述各种操作。Windows应用软件开发是学生在基本掌握C#语法的基础上,继续学习Windows窗体程序设计中众多控件的属性、方法与事件,通过Windows窗体应用程序实现具体案例的设计与开发。这两门子课程在教学内容上存在重复,例如,无论新建哪类项目都必不可少地要规划和设计类、实例化对象、引用系统类等。由于两门子课程没有开在同一学期,授课教师也可能不同,为了保证知识的连贯性,两门课程中必然会有一些重叠的知识点;而在同一门课程中,教师经常通过内容各异、前后毫无联系的案例讲解相关知识点,使得学生所学的都是孤立的知识,无法融会贯通将其串联成一个有机整体,这会导致理论与实践的脱节。
1.2 理论知识抽象、不易理解
面向对象的程序设计理念比较抽象,学生理解起来有一定的困难,如果不能真正地掌握面向对象的设计思想、类的规划与设计、类与对象的关系、与类相关的其他设计思想等知识,那么即使学生在Microsoft VS.NET开发环境中学会C#操作的相关语法和程序设计流程,也只是掌握程序设计工具的操作而已,无法独立进行应用项目的设计与开发。随着后期知识难度的加大,有些学生会失去学习兴趣和热情,极大地影响后续其他软件专业核心课程的学习效果。
1.3 授课方式安排不恰当
课堂教学与实践教学衔接不好。以往的教学安排是将理论教学及部分实践操作安排在多媒体教室,在计算机房安排学生上机实验在多媒体教室所讲授的知识。这种分段授课方式导致学生在多媒体教室只能直观地看到教师的教学演示,但没有参与操作,仅仅是个旁观者,没有理论与实践相结合的操作过程;对于课堂教学的知识,课后极易忘记。在之后的上机实践中,学生仍然没有操作能力,无所适从,教师必须通过重新讲解相关的知识点帮助学生完成实验任务。可见,这种授课方式不仅浪费时间,而且导致学生对知识的课堂吸收率较低,严重影响教学效果。
1.4 教学方法墨守成规,缺乏创新性
教学方法单调、实践形式单一,不能充分体现以学生为中心、注重实践能力与创新意识培养的思路。在有限的学时内,教师为了保证教学任务的完成,只能采用平铺直叙的“灌输式”教学方法,师生间互动较少,剥夺了学生思考问题与分析问题的时间,严重阻碍学生创造性思维的培养。原有的机房实验课以教师布置实验任务开始,以学生完成实验任务结束,学生只能在有限的课时和固定的机房完成设置好的实验内容,其实践的时间与内容受到较大限制。实验项目也偏重于验证性实验和模仿性实验,教师一般会给出具体的操作流程,缺乏具有设计性和综合性的实验项目。每个学生完成的都是相同题目的实验,不可避免有抄袭作业的现象。
1.5 学生重分数、轻技能
一般而言,大多数学校对于课程的考核基本上仍沿用传统的平时成绩(其中包括实践课成绩)与期末考试相结合的评分方式。天津电子信息职业技术学院也不例外,平时成绩占30%-40%,期末成绩占60%~70%,期末考试主要以理论考核为主,在评定奖学金、选拔优秀生时,考试分数是重要指标。因此,学生对实践教学的重视度远远低于理论知识,有时为了在期末考试中取得好成绩,普遍会采取死记硬背的方式,这样,虽然考试成绩很好,但是实际对知识的掌握并不好,实践操作更是无从谈起。在这种考核方式的驱使下,培养的学生都成为获取高分的巨人、实践技能的矮子,分数不能准确地反映学生在校的真实学习状况。
2 实践教学的改革
2.1 调整教学内容
根据软件专业人才培养目标的具体要求,本着理论够用注重实践的培养方向,教师可将C#程序设计课程的具体教学内容进行适度调整。为了保证知识的连贯性,将以前的两门子课程合并为一门,由同一教师授课,在一个学期的正常教学周安排72学时的教学课时。课程主要有类的识别、设计、封装、继承、多态、异常处理以及实例化对象、引用系统类、.NET类体系结构等相关理论知识和具体利用Microsoft VS.NET开发环境完成的实践操作;另外安排120学时、4周的集中实训课,主要内容是与Windows窗口程序设计有关的众多控件的属性、方法与事件的含义和具体操作。教学案例可选取一个经过改装缩减的真实项目,使学生在校期间可以身临其境接触到真实案例,消除对未来工作的陌生感。无论是课堂教学还是集中实训,所有教学实例及拓展练习均来源于同一个教学案例,理论知识的讲解也可通过该案例带动知识点的方式进行,降低因理论抽象而造成的理解难度,使学生在学习中形成一个完整的知识体系。
2.2 创新教学模式
教师可将多媒体课堂与计算机房相结合的教学形式变为机房和实训基地相结合;由以往以教师为主的“灌输式”授课,变为以学生为主、教师为辅的“互动式”教学;启用案例驱动、角色模拟、分组教学等创新型教学模式。72学时授课安排在机房进行,教师首先通过典型案例驱动的方式演示教授的知识及操作流程,使学生得到直观的感性认识;然后,在教师的指导与带领下,学生进行实践环节的模拟,通过上机操作深入理解知识点,使感性认识合理地上升为系统理性;最后,以学生为主体,教师辅助学生完成拓展训练任务,达到强化记忆、主动思考、举一反三、稳步提高的目的,在更高层次上使理论知识得到实践验证,这完全符合人类认识过程的基本规律。
120学时的集中实训安排在实训基地进行,实训基地与机房的本质不同在于学习环境的布置与安排完全模拟真实的开发场景,学生来到实训基地犹如进入真实工作环境,打破传统课桌椅、黑板、讲台的布局,设置单独隔间、会议区、讨论区等。学生自愿组合,通常5~7人组成一个工作团队,选出一名组长,根据组员各自的特长分配不同的角色,组长就是项目经理,组员包括需求分析员、系统设计员、代码编辑员、项目测试员、文档整理员等。组长领取教师为各组分配的任务,根据各组任务的共性(如各组都有对按钮控件“button”的使用),教师以典型案例的真实操作讲授相关知识点,并指导学生通过上网查阅、浏览资料、相互讨论等方式获取开发所需资源,然后让各组学生在更加宽松的氛围内充分发挥主观能动性,独立完成所领取的任务。这种教学模式既可以激发学生的学习兴趣和提高学生的自主学习能力与创新思维能力,又能使学生尽快地进入教学场景,很好地掌握理论知识与实践技能,培养团队合作意识。
2.3 改革考核方式
为了突出实践教学的重要性,课程考核采取平时考核、阶段性考核以及期末考试相结合的方式。其中,平时成绩占20%,主要考核学生的出勤、作业上交情况,这是为了保证学生学习的连贯性,避免有意无意的缺勤导致后期学习掉队而失去学习兴趣的情况。阶段性考核占60%,通常一个综合教学项目要划分成5~6个阶段,完成一个阶段提交一个阶段的考核内容,主要考核以小组为单位的任务完成情况。每一阶段分成3个考核步骤,教师将讲授的知识点划分成由浅及深的阶段性任务分发给各小组,各小组完成任务。对任务的考核,首先由组长作为本组代表进行自述并进行自我评定;其次,其他小组提问并谈论进行组间互评;最后,教师根据项目完成情况进行点评。一个阶段结束后,各组应当提交相关的程序及技术文档和报告,并且报告中应当写明每位组员及组长具体完成的工作内容,以便给出考核分数。这就有力地避免了组内鱼目混珠,抄袭他人作业的情况,最大限度地提高学生对实践教学的参与度。通过听取与讨论其他小组的工作任务,学生不仅能在自己的工作任务中有一定的借鉴,而且能在较短的时间内学到更多的知识,在接下来的学习中会有不同程度地质的飞跃。期末考试占20%,考核形式是学生上交一份课程学习报告,报告中既要写清楚课程讲授的理论知识点,又要将贯穿课程始终的教学案例的全部设计过程体现在报告中,最后将该案例完整的程序代码调试通过,与期末报告一并上交。这样可以杜绝学生为了考试成绩期末突击学习,只背会文字而对知识、技能掌握不好的情况。将课程考核任务分解到平时,不仅能够锻炼学生分析问题、解决问题、将理论与实践相结合、综合运用知识的能力,而且可以使学生的实践动手能力、创新意识与团队合作精神在潜移默化中得到提高,为其将来走上工作岗位打下坚实的知识与实践基础,提升与人沟通交流的能力。
2.4 完善教学资源
实践教学的改革离不开教学资源平台的建设,以网络为依托,充分利用云端大数据技术开发具有交互性、实时性、信息资源共享性的教学资源系统势在必行。为了配合实践教学改革,教师需要研发集自主学习、提交作业、在线答疑、网络会议、交互讨论、资源共享、信息积累、实时课堂、教学视频与实践操作在线播放等功能为一体的教学资源系统;以精品课网站、信息资源库、教师录制的微课程为基础,完善教学资源平台,满足学生课上、课下连贯学习的需求。由于C#程序设计本身就是培养学生实践编程技能的课程,因此教师可在教学资源平台的开发中鼓励学生参与,并将学生的优秀作品上传到资源平台共享;让学生收集在学习过程中遇到的问题或困难,为完善资源平台提出切实可行的建议;将学习能力强、对编程有浓厚兴趣的学生挑选出来参与资源平台开发工作。以上一系列措施使教学资源平台成为以学生的实际需求为出发点、以优秀教学案例为重点、以视频教学及动态交互为关键技术和以师生共同参与为核心理念的有效资源工具。平台不仅能促进学生对课程知识体系与实践操作的理解和掌握,还能最大限度地激发学生学习程序设计语言的兴趣,有利于提升学生利用编程技术解决实际问题的实践能力与操作技巧。总之,优质教学资源平台的开发与使用对学生实践能力的培养有着事半功倍的作用。
3 结语
对C#程序设计课程实践教学的改革,是依托网络教学资源的一次大尺度整合教学内容、启用全新教学模式、彻底改变考核方式的大胆尝试,以突出实践教学为宗旨,充分调动了学生的学习热情与积极性,形成在教师辅助下以学生为中心的自主学习氛围,培养了学生理论结合实践、分析解决具体问题的动手能力,提高了学生自身的综合素质,取得良好的教学效果,为社会培养了创新型、高技能、应用型人才。
教育期刊网 http://www.jyqkw.com
参考文献:
[1]邵鹏鸣.C#面向对象程序设计[M].北京:清华大学出版社,2008: 2-20.
[2]杨学会.C#技术基础[M].北京:高等教育出版社,2008: 15-32.
[3]邵顺增.c#程序设计:Windows项目开发[M].北京:清华大学出版社,2008: 201-260.
[4]李德奇.Windows程序设计案例教程(C#)[M].辽宁:大连理工大学出版社,2007: 290-320.
[5]喻梅,非计算机专业数据库应用技术课程改革[J].实验室研究与探索,2013,32(10): 353-355.
[6]龙满生.C++面向对象程序设计课程教学改革与实践[J].中国电力教育,2011(28): 84-85.
[7]刘在英.程序设计课程实践教学模式的探讨[J].实验室研究与探索,2013,32(10): 156-159.
[8]杨华,普通高校程序设计课程教学改革与实践[J].高等教育与学术研究,2008(9): 12-15.
[9]杨秀英,应用型本科课程考试改革与实施探究[J].辽宁教育行政学院学报,2010,27(3): 49-51.
[10]马彬.三维一体化的计算机实践教学建设体系[J].实验室研究与探索,2013,32(10): 163-165.
[11]刘畅,案例法和项目驱动法在“数据库原理”教学实践中的应用探索[J].计算机教育,2009(19): 77-79.
[12]陈福松,案例教学与创新型人才培养[J].扬州大学学报:高教研究版,2009(5): 81-83.
[13]黄贤英,构建面向岗位的计算机专业教学体系和教学模式[J].重庆工学院学报:自然科学版,2007(21):175-177.
[14]黄贤英.计算机专业实践教学体系建设思考[J].实验技术与管理,2009,26(10): 94-100.
[15]曲学楼.计算机学科创新实践教学平台的构建与探索[r].实验技术与管理,2008,25(10): 164-167.
(编辑:宋文婷)