单维锋 李攀 陈新房
摘 要:针对当代大学自我认知程度低,自我管理能力弱、主动性不强等特点,分析了程序设计类课程特点以及现有教学方法存在主要问题,提出将讲练结合教学方法引入课堂,把课堂从教室搬至实验室,合班授课改为小班授课,先讲后练改为教师指导下的边讲边练,实现了理论与实践的完美融合。实践证明,该教学方法有助于培养学生的学习兴趣、创新能力和动手实践能力,有利于培养高质量的计算机应用型人才。
关键词:面向对象程序设计;教学方法;实践能力;讲练结合
中图分类号:G642 文献标识码:A
1 引言(Introduction)
面向对象程序设计等程序设计类课程是计算机科学与技术、软件工程、网络工程、信息管理与信息系统等相关专业的核心课程,在人才培养方案中占有非常重要的位置。通过本课程的学习,使学生能够掌握面向对象程序设计的基本概念和语法,并能熟练应用面向对象的思想分析问题、描述问题(面向对象的分析),提出问题的解决方案(面向对象的设计),并具备开发、调试应用程序(面向对象的编程)能力。
本课程学习效果的好与坏直接影响着多门后续专业课程地学习,也影响着学生对该专业的学习兴趣、甚至影响着学生的就业质量,因此提高本课程的教学质量和教学效果显得尤为重要。然而,通过调查发现本课程的教学效果非常令人担忧,学生评教满意度也不高。很多学生感觉本课程非常枯燥、听不懂、不会写程序、不会调试程序,渐渐放弃了本课程,甚至有些同学因此课程放弃了本专业。不少高校出现了学生“上课基本不听、下课基本不看、上机基本不练,考试大批不过”的现象。究其原因,纵然有学生学习积极性不高、生源质量逐年下降等方面的问题,更主要的应该从教师教学这个环节找原因。改革教学方法,提高学生动手实践能力的口号喊了很多年,但是效果不甚明显,这是为什么?很多高校的管理人员和教师对此重视不够。大班授课、理论课时多实践课时少的教学安排鲜有变化;多数教师仍然采用“一言堂”“满堂灌”“填鸭式”等传统教学模式[1-3];课堂上缺少与学生地互动、没有生机,不利于培养学生的学习兴趣和动手能力,不能培养出适合市场需求的计算机应用型人才。
本文在分析面向对象程序设计课程特点和现有学生学习习惯的基础上,提出了适合面向对象程序设计课程的“讲练结合”教学方法。该教学方法将课堂从教室搬到实验室,合班授课变为小班授课,先讲后练变为边讲边练、讲讲练练。该教学方法将理论教学和实践教学有机地融合在一起,增加了学生上机动手时间,很好地实现了教师和学生的互动,提高了学生的学习兴趣和动手编程能力。
2 面向对象程序设计课程特点分析(Analysis of
features of OOP)
面向对象程序设计课程在不同高校设置的课时也不同,大概分为48学时、64学时、80学时等。多数高校按照2:1或1:1的比例分配理论课时和实验课时。通常是先上理论课,然后再安排实验课。理论课上教师通常借助PPT,以讲授为主,几乎没有交互。实验课上教师演示程序或布置作业,最后让学生提交作业,中间环节管理不严。
面向对象程序设计课程对学生的动手能力要求非常强,现有的教学方法隔离了理论与实践教学环节。学生在上实验课时,通常已经忘记了理论课所讲的内容,学生需要从头看书来回忆理论课上讲述的内容,然后再去完成上机练习,这大大浪费了宝贵的上机时间。此外,由于安排的上机时间偏少、上机人数偏多,导致学生对知识的掌握不熟练、教师对学生地指导不到位。要想提高学生的动手编程能力,就必须增加学生动手实践的机会,“无他法,唯熟而”。
近年来,有很多老师认识到传统教学方法的弱点,进而开始采用了一些注重学生交互和启发的教学方法,如“做中学”教学方法和项目教学法。这些教学法往往是将学习的内容交给学生,教师辅以指导,但是由于现在的学生学习积极性不高、主动性和独立学习能力不强,经常导致教师提问的问题无人回答,布置的作业无法按时完成、甚至抄袭,该讨论的问题无人发言等。
此外,学习面向对象的程序设计语言,就如同学习英语语言一样,如果过分注重学习语法知识,而忽略其核心的面向对象思想的学习,会导致该课程非常枯燥,以至于让很多学生逐渐失去了兴趣。因此,在教师授课过程中,需要传授给学生的应该是如何应用面向对象的思想去分析问题、描述问题、解决问题的思路和方法,这样才能使面向对象程序设计语言焕发出强大的生命力。
3 当代大学生学习特点分析(Analysis of study
characteristics of contemporary college students)
由于现在的生活条件越来越优越,大多数学生又都是独生子女,他们习惯了以自我为中心的生活,不喜欢别人的干涉和打扰,喜欢用与众不同的方式去获得社会的关注。他们在思想、观念、生活以及学习等方面都表现出很强的个性。
很多学生自我认知程度低,自我管理能力弱,学习积极性不高,遇到挫折或困难容易中途放弃[4,5]。由于没有正确地认识到自身的缺点和优势,又不能合理地管理业余时间,导致很多学生随波逐流,大部分业余时间沉迷于网络世界,或用于娱乐、运动方面,而用在学习方面的时间是少之又少,浪费了宝贵的时间,耽误了学习。此外,在学习方面,学生抛弃了很多高中时的好习惯。课前不预习,课上不做笔记、玩手机游戏,课下不复习的现象日趋严重[6]。部分同学处于“上课基本不听、下课基本不看,上机基本不练”这样的一种状态,疲于应付老师的考勤,自然导致很多同学考试成绩不理想。
4 教学改革理念和思路(Ideas and thoughts of
teaching reform)
通过前面的分析,可见面向对象程序设计课程是一门动手能力要求非常高的一门课程,现在的学生都有自己的个性,他们更关注于娱乐、运动以及网络,在学习上缺乏目标。这就要求教师在课程教学方面要斟酌教学的每个环节,引导学生对本课程产生兴趣,帮助学生树立学习目标,进而养成良好的学习习惯。因此,本次教学改革主要考虑以下几个理念。
首先,要给学生讲清楚本课程在人才培养方案中的位置,并明确每节课的内容在整个课程中的位置与作用。很多老师只注重讲知识,忽略了本课程与其他课程以及课程各知识点之间的联系,使学生“只见树木,不见森林”。这样的教学容易使学生迷失方向,导致部分学生中途放弃了学习。应该在教学过程中,时常提醒学生为何学这学这门课,如何学习这门课程,阐明本节课讲授的目的以及本次授课内容与其他知识点之间的联系。
其次,授之以渔,而非授之以鱼。注重面向对象程序设计方法的传授,而不仅仅是知识的传授。在授课中注重培养学生应用面向对象的思想分析问题、解决问题的思路和方法。当学生在编程过程中出现了问题时应该注重给学生讲解错误是什么意思,出现错误的原因是什么,如何解决这类错误,而不是直接帮助学生改正程序,逐步培养学生编写程序和调试程序的能力。
第三,要多站在学生的角度思考问题。由于学生和教师在专业知识方面相差甚远,在教师看来非常简单的知识,而学生则感觉难以理解。这就要求教师要多从学生的角度的思考问题,然后通过一些形象、直观的例子引导学生理解知识、掌握知识、运用知识。
第四,以问题为导向,注重启发式教学方法的应用。教师在讲授知识时,注重提出问题,然后引导学生思考并探索问题的答案,逐步培养学生独立思考的能力[7-9],不能像讲授法一样以教师讲为主,也不能完全将任务交给学生自己独立完成,而是在授课过程中逐步引导学生在完成一些小任务的过程中学习相关理论、培养兴趣,锻炼分析问题、解决问题的能力。
最后,注重提高实践教学的质量。“熟读唐诗三百首,不会做诗也会吟”。学习面向对象程序设计这门课程也是如此,必需经过一定量程序代码的训练,才能从量变到质变,方能较为熟练掌握面向对象程序设计语言的各种语法和编程技巧,才能成为一名合格的软件开发人员。
5 讲练结合的教学方法(Combining explaining and
practising teaching method)
为了提高教学质量,培养学生学习兴趣,增强学生动手实践能力,本文提出了将“讲练结合”的教学方法引入面向对象程序设计课堂,有机整合了理论教学和实践教学,提高了教学质量。具体做法如下:
(1)将课堂从教室搬到实验室。由于在教室上课,教师往往直接对照PPT讲,学生不爱做笔记或者随便用手机拍照一下,印象不深刻。将课堂从教室搬到实验室,学生人手一台计算机,方便学生随时编程、练习,大大增加了学生的动手编程时间。
(2)合班授课改为小班授课。由于合班授课人数较多,教师很难照顾到每个同学,因此将课堂改为小班授课,教师有精力根据每个学生的不同情况有针对性地进行辅导。增加了教师和学生交流机会和时间,特别是增加了与那些性格较为内向、学习成绩在中等或中等偏下同学的主动交流机会。大大增强了师生感情,有助于因材施教。
(3)先讲后练,改为边讲边练、讲讲练练。以前授课总是先讲理论,然后再实践。而学生课下少有时间复习,到上实验课时已经忘记了大部分理论知识,学习效率较低。“做中学”教学法太注重学生练习了,很多同学根本没有思路,有的抄袭甚至放弃了学习。在本教学方法中,教师将每堂课的内容分解为多个小的知识点,讲一个知识点学生就可以在计算机上编程、调试、实现。教师可以根据学生实际完成的情况,适时调整讲课进度,增加了实践学时,大大提高了授课灵活度。
(4)抛弃PPT,改为学生练习+板书+演示的教学手段。以前教师普遍采用多媒体进行教学,对帮助学生理解某些复杂的原理有很大好处。但有些教师把讲义搬上课堂上展示并逐片朗读,课后让学生上网下载PPT课件,学生课堂上也不需做笔记,严重妨碍了学生思维能力的训练。在本教学方法中,抛弃了照读PPT的讲授方法,对于非常简单的知识,直接采用教师说学生写的方法;对于那些抽象、不易理解的知识,转而采用白板进行板书讲解;对于那些操作性非常强、步骤较为繁琐而不容易说清楚的问题,采用多媒体控制软件给学生现场演示;对于某些典型的问题、作业、项目展示内容等可以让学生通过多媒体控制软件演示给其他学生观看。
(5)教师以讲为主改为以辅导为主,学生以听为主改为以练为主。在教室授课,通常教师以讲为主、学生以听为主。往往一开始上课,学生还可以跟得上,但是时间稍微一长,学生就开始走神、开小差,教学效果较差。改革后教师每次讲授的时间都控制在5分钟左右或者教师说学生练。学生上课的大部分时间都是在上机练习,并且能直接看到程序运行效果,大大增强了学生的成就感,从而培养了学生的学习兴趣。
(6)教师在讲台上讲改为教师围着学生讲。以前上课教师总是站在讲台上对照PPT或黑板讲解,学生的状态难以掌握。改革后教师在讲授的同时,可以不停的走动并检查学生实现代码的情况,如果发现某个同学在编程过程中出现了问题可以及时给予指导和帮助,如果是大家共性的问题可以统一讲。这也在很大程度了防止了学生上机时看电影、打游戏、聊天等现象。
6 实施效果(Implementation result)
本课题组分别在信息管理与信息系统专业2011级3个班级中开展了比较研究,在2011级1班、2班(共67名同学)采用讲练结合的教学方法,而在3班(共35名同学)采用传统的教学方法。学生评教数据显示,1班和2班同学“非常满意”的占97%,“满意”的占3%,没有“不满意”的同学。而3班的同学“非常满意”的占85.7%,“满意”的占8.6%,“不满意”的占5.7%。由此可见,改革后的学生满意度明显提高。同时,我们还为实施教学方法改革的1班和2班同学单独做了一份问卷调查。调查数据显示,100%的同学赞成该教学方法,98.5%的同学认为自己对该课程有了更强的兴趣,97%的同学认为该教学方法使自己的编程水平有了比较明显地提高。
7 结论(Conclusion)
随着高校扩招和社会经济的发展,普通高校的大学生出现学习积极性不高等新特点,本文在分析当代大学生学习特点的基础上,结合面向对象程序设计课程的特点,提出了将课堂从教室搬至实验室,大班授课改为小班授课,先讲后练改为讲讲练练的讲练结合的教学方法,真正做到了理论与实践相结合。从实验结果可见,该教学方法可以有效地增强学生的动手实践能力,有助于培养学生的学习兴趣,有利于帮助学生掌握应用面向对象的思想分析问题、解决问题的能力。
当然在该教学方法的实施过程中,教师是最关键的因素,主讲教师不仅要非常熟练授课内容,能够选用形象的、规模适中的例子灵活安排教学内容,而且要具有丰富的软件分析、设计、开发、调试经验,这样才可以在讲授过程中快速、准确、及时帮助学生分析问题、解决问题,才能真正确保讲练结合教学方法的有效实施。该教学方法也可以应用在Web应用技术等学生动手能力要求非常强的课程中,通过有机地整合理论和实践环节,可有效地提高教学质量,培养符合市场需求的计算机应用型人才。
参考文献(References)
[1] 王义遒.教学方法改革:改什么,怎么改?[J].中国高等教育, 2009,(06):8-10.
[2] 浩歌.教学方法改革何时突破重围?[J].中国高等教育.2009, (06):1.
[3] 姚利民.高校教学方法研究述评[J].大学教育科学.2010,(01): 20-29.
[4] 杨成辉.大学生自我管理能力现状研究[D].长春:东北师范大 学,2013.
[5] 彭囿朗,李淑庆.提高大学生学习积极性的对策研究[J].大学 教育,2012,(04):39-40.
[6] 谷大海,等.手机对大学生课堂学习影响的研究[J].大学教育, 2013,(14):130-131.
[7] Rodríguez Corral J M,Civit Balcells A,Morgado Estévez A, et al.A Game-Based Approach to the Teaching of Object-Oriented Programming Languages[J].Computers & Education,2014,(73):83-92.
[8] Machanick P.Teaching Java backwards[J].Computers & Education,2007,48(3):396-408.
[9] 陈潇.项目教学在高职院校程序设计课程中的应用——以 《C#程序设计》为例[J].软件工程师,2015,18(01):41-42.
作者简介:
单维锋(1977-),男,硕士,副教授.研究领域:并行计算,数
据库理论.
李 攀(1977-),女,博士,副教授.研究领域:地理信息
系统.
陈新房(1975-),男,硕士,讲师.研究领域:信息系统集成.