您好, 访客   登录/注册

软件工程专业面向对象程序设计课程教学改革

来源:用户上传      作者:

  摘要:针对软件工程专业本科学习JAVA语言面向对象程序设计课程教学中存在的问题进行分析总结,文章主要从课程教材选择、理论教学方式、实验设计方法、考核模式等方面提出相应的改革措施,结合当前社会需求切实做到以“学生为中心,教师为辅”培养学生的创新能力和程序设计的实践能力。
  关键词:软件工程;JAVA;OOP;教学改革
  中图分类号:G642        文献标识码:A
  文章编号:1009-3044(2020)17-0165-02
  Abstract: This paper analyzes and summarizes the problems existing in the teaching of JAVA language object-oriented programming for software engineering undergraduates, mainly puts forward the corresponding reform measures from the aspects of course material selection, theoretical teaching method, experimental design method and assessment mode.  According to the current social needs to effectively achieve the "student-centered, teacher-assisted" to cultivate students' innovative ability and practical ability of program design.
  Key words: software engineering; JAVA; OOP;teaching reform
  随着软件产业界对象技术产品近年与日俱增,越来越多的人才加入软件开发行业,社会市场迫切需要大量软件工程方向人才,这需求要求在校专业学习一定要与时代发展相同步。面向对象编程思想是软件工程专业学生必须掌握的核心课程内容。在面向对象程序设计课程教学过程中,如何让学生学习完该课程后能够充分掌握面向对象编程思想和方法,并能针对某一实际问题用所学的方法和技能实现程序设计是当前面向对象程序设计课程教学所面临的迫切需要解决的问题。结合自身的从事该课程教学经历及其改革实际,从教和学两方面进行分析梳理提出改进措施。
  1 教学改革背景
  本校是普通二本师范类院校,位于广东省广州市,学校树立“教学以学生为本”理念,创新人才培养模式。同时为地方培养输送计算机专业应用型人才。《面向对象程序设计》是软件工程专业的专业教育必修课程,是一门综合性、实践性很强的工程技术课,有效地掌握面向对象技术与方法是软件产业对每一位软件从业人员的基本要求,并在大一下学期为软件工程专业开设JAVA语言面向对象程序设计课程。教师授课方式多采用理论教学和上机实验操作相结合教学方法。通常在理论教学课上,教师会将课程中各种语法、各种概念性知识讲解清楚,将教学的重点偏移语法规则和语言的使用上,而忽略了利用面向对象思维来分析问题和解决实际问题的能力的培养。不少学生学了本课程后反馈除了能够看懂课堂教学中使用过的问题实例,知道面向对象的概念和JAVA语言语法知识,但不能很好地理解面向对象思想,更不懂得如何组织程序代码、如何进行面向对象的建模。所以,结束了该课程后不能运用面向对象解决实际问题。我院一直倡导并推行教学改革,当前正全面推行基于小班规模、网络平台的,以启发式、探究式、案例式、问题式为导向的教学模式创新。旨在实现教学内容从“知识传授”向“知识获取”转变,教学目标从“知识为本”向“能力为本”转变[1]。近几年,笔者一直从事面向对象程序设计课程教学,结合教学经历对“面向对象程序设计”课程进行现状分析及教学改革探索,提出几点个人思考。
  2教学中存在的问题
  (1)理论教学存在问题,市面上JAVA语言程序设计教材铺天盖地,都有重语法的特点,正是因为这一点,教师在进行课程讲解时,很容易将课程当作计算机语言课来讲授,大部分的课时都在讲解JAVA语法规则和如何使用语言,忽略了围绕面向对象思维和方法进行程序设计。学生也不能顺利地建立理论基础,学习上产生畏难心理对课程失去兴趣。
  (2)实验设计存在问题。实践环节在程序设计类课程占据比较重要的地位,我系目前采用的实验教学方式:实验预习+上机完成实验项目。这种实验教学存在设计不科学:首先,实验预习过于形式化,不能完全检验学生是否有認真完成实验前的预习。其次,大多数实验题目是针对某一知识点而设计,内容较单一、整体性差,缺乏吸引力,难以满足不同学生的需求,无法激发学生兴趣和培养学生创新能力。最后,由于上机时班级学生较多,举手提问人次多,而实验指导教师能够提供指导时间和次数有限,当疑惑不能及时得到解决,学生学习自信心受到打击,影响后续课程的学习,甚至放弃学习。
  (3)教学方式和手段存在问题。在理论教学中主要采用PPT播放课件+Eclipece集成开发环境+电教控制平台共同构建教学环境。用PPT教学课件辅助教学能够包含更多的课堂内容和增加信息量,但根据课程需求需来回切换屏幕。因此,有部分学生反应教师上课速度快,内容来不及理解,然后又跳到另一个平台,造成学生在一些关键知识点上学生处于晕头转向的状态,没有足够的时间理解。课堂教学手段过多地使用信息化会弱化推理思维呈现的完整性,学生很难理解程序是如何演进。
  3教学改革举措
  为提高程序设计课程教学质量,且有效促进学生学习编程能力和创新思维能力,下面借鉴相关教学改革经历和对面向对象程序设计课程教学个人思考,就该课程如何开展教学改革进行探讨。   首先应从选择教材开始,市面上众多面向对象程序设计教材,在教学实践中认识到教材对教学有着巨大的影响,教材选择对教学活动的效度起着至关重要的作用。笔者认为应该对教学对象有充分的分析,因课程面向软件工程专业大一新学生开设,所以考虑到一是新生、二是软件工程专业这两大特点,大一新生从有老师严格监督下紧张学习环境进入管理和约束骤减宽松的大学生活,大部分学生处于一种懵懂、迷茫的状态,这需要有专业教师给予有效的引导和答疑解惑的人。软件工程专业是一门新兴工程性计算机技术专业,中学时代学生鲜有接触,进入大学后可能很难适应由“自然语言”到“机器语言”的转变。
  综合上述分析,我系组织专业教师精心挑选符合学生实际教材,遴选清华大学出版深泽刚主编《JAVA语言程序设计》微课版[2],该本教材优点在于每一章節都制作了微视频可以扫码自主学习,视频里展示了程序演进的完成过程,帮助学生建立逻辑推理思维。微视频可供学生课前观看作为预习、课堂有不理解课后继续学习、便于反复巩固复习,作为课堂教学的辅助工具,也能减轻教师的教学工作负担。我系经研究决定对软件工程专业四年制学习实行“班主任+导师”制度。这些举措对提高学生的学习能力和效率有着很好的促进作用。
  其次,实验教学设计方面,一方面在理论教学过程中我们会发现如果纯讲理论概念知识,教学氛围枯燥乏味,显然教学效果欠佳,因此,我系采用前期理论课程中预留一部分时间做验证型实验案例讲解和练习帮助学生理解相关概念,同时充实了课堂活动。
  另一方面在设计实验项目上加强针对性和趣味性,采用项目导入任务驱动方式,将一个完整大项目分成四个阶段完成,比如最后要完成一个学生学籍管理系统,第一个阶段完成实验一,要求完成学生类的声明、定义、使用,学生对象的实例化方法,构造函数、成员函数的编写方法,调试运行程序方法。第二个阶段完成实验二,要求完成实验一的基础上增加实现学生类的封装编程方法、实现函数重载的方法、利用面向对象编程方法初步实现学生学籍管理方法。每一实验都是在前一个实验基础上添加功能,最终实现“学生学籍管理系统”程序设计、代码调试与测试等完整系统项目。实验教学安排16课时作为上机实验,具体做法:会提前下发实验要求,便于学生提前做好实验预习工作,节省实验用时,尽可能在实验课上解决实验疑问。采用将具体项目导入课程教学内容,达到实现教学目标,以“学生主体,教师主导”,用明确的任务驱动学生完成实践操作,项目导入任务驱动教学方式可培养学生专业素养和提高实践编程技能。我系在每学期期末为面相对象程序设计类课程设有32课时的课程设计,单独成立一门程序设计类课程,要求学生利用面向对象的方法设计一个与现实生活紧密联系的系统,可以自由组队以项目团队合作形式完成,要求《面向对象课程设计》设计报告格式参照学校毕业论文规范写作。激发学生的兴趣和主动性,培养学生的团队协作精神和解决实际问题的能力,学生能提前了解毕业论文的写作规范。
  最后,教学方式和考核形式改革,一方面,采用教师讲授+上机示范操作相结合的教学方式,在讲解子模块知识内容时现场编辑源代码、编译、调试代码方式、运行、测试演示给学生看,这样做学生能够更直观的领悟知识要点,从而消除学生对代码的“畏难”心理。另一方面,每周对学生做一次学习调查问卷,适当的调整教学方式,充分体现“以学生为主,教师为辅”,给学生尽可能提供一些实践机会,让更多的学生参与课堂活动,比如互换角色,由教师布置任务,学生以小组形式提前做好准备,课堂上一位同学负责主讲,其他队员补充。教师听,做最后点评和补充。这种简单的课堂翻转教学模式可培养学生自学能力且利于个性化发展。为了体现全面综合评价学生,必须对课程考核形式及成绩评定进行相应的改革[3],提出以下成绩评定公式总成绩=平时考核占比20%,+实验考核30%+期末考试50%,平时考核评价方式由考勤10%和(课堂表现+课后作业两方面)20%,实验考核评价方式是四次上机操作实验完成得分均值,期末考核评价方式以笔试考试形式考查对理论知识的掌握程度。
  4总结
  面向软件工程专业的JAVA语言程序设计课程改革充分考虑了工科专业的特点,教学切实做到以“学生为中心,教师为辅”的培养学生的创新意识和动手实践能力。通过面向对象程序设计的教学改革,一方面提高了教师教学水平,另一方面表现在学生期末通过率比改革前高可达到96.8%,并在2018年、2019年全国数学建模比赛、全国蓝桥杯等计算机技能竞赛获得优异的成绩。两年的实践证明了该课程改革方案在软件工程专业人才培养中的可行性和有效性。为后续更好的学习面向对象编程等相关技术乃至就业打下一个良好的基础。对于该课程教学改革将继续与时俱进不断改革创新进行探索。
  参考文献:
  [1] 姜峰,汤伟,赖俊.基于能力培养的面向对象程序设计课程教学改革探索[J].计算机工程与科学, 2014(4):126-130.
  [2] 深泽刚.Java语言程序设计(第三版)[M].清华大学出版社,2018.
  [3] 孙杰,秦建勇,樊春年,等.面向工科专业的C语言程序设计课程教学改革探索[J].计算机教育,2016(11):73-75.
  【通联编辑:王力】
转载注明来源:https://www.xzbu.com/8/view-15314617.htm