段珊珊
摘要:C++语言是近年来应用较为广泛的一种现代编译型语言,目前“C++程序设计”在众多院校作为专业必修课开设。为使该课程取得良好的教学效果,应对此课程的教学进行以下探索:使用理实一体化教室、根据学生入学时的基础进行因材施教分班教学、启发式教学、大赛引导小赛常态化、网络课程平台的应用以及合作学习公司化管理。这些方法在实际应用中都取得了良好的教学效果。
关键词:C++程序设计;教学方法;启发式教学;理实一体化教学;分层教学
中图分类号:G712 文献标识码:A 文章编号:1672-5727(2014)01-0119-03
“C++程序设计”是计算机专业大类的专业基础课程,旨在使学生掌握语言的基本语法、基本语句、基本控制结构以及面向过程的设计和面向对象的程序设计的基本方法,能够熟练地使用C++语言进行程序设计并具备调试程序的能力,培养学生熟练使用C++语言编程分析和解决实际问题的能力。回顾过去几年,我院“C++程序设计”课程教学逐步发展。一方面,成立了C++教学团队,师资队伍得到优化;另一方面,建立了网络课程,试题库已经十分丰富。学院领导支持对实验室进行改进,也支持教师外出培训学习。为进一步提高“C++程序设计”课程的教学质量,我们结合以往教学中存在的问题对“C++程序设计”的教学方法进行了深入分析和研究。
“C++程序设计”教学存在的问题
重理论,轻实践 最初沿用学科教学模式,过多强调语言语法知识点,知识点比较枯燥、琐碎,学生觉得难学、不感兴趣。上机操作时,由于基本概念和语言规则没有掌握好,学生自己编制的程序在调试过程中会出现各种各样的错误,他们看不懂英文错误提示,不会排除错误,碰到障碍容易退缩。
理论与实践脱节 以往本课程的设置往往是一周4节课,包括2节理论课和2节实验课,二者分开教学。教师讲两节理论课后学生有了初步印象,但等到上实验课的时候好多知识点就忘掉了,没有达到很好的教学效果。
重讲解轻互动 新生入学后,各种社团组织活动繁多,导致学生学习投入时间不足。在预习、上课、复习这三个学习环节上,学生往往缺少预习和复习两个环节,学习就是上课。这就难以形成良好的互动,导致上课成了教师的讲解,学生成了被动的接受者,教师成了教学的主体。
忽视个体差异性 由于学院招生的多样化,生源水平差参不齐。在教学时,如果教师忽视学生的个体差异性,不区别对待,就会导致教学进度缓慢,尤其是难以兼顾基础比较好的学生,无法使这些“吃不饱”的学生得到快速进步。
教学方法研究
带着上述问题,在教学过程中,我们改进了教学方法,注重激发学生的学习兴趣,培养学生的程序设计能力,使学生打下坚实的专业基础。
理实一体化教学 打破传统的“先讲理论后进行实验”的教学模式,寻找适合高职学生的教学方法和教学模式。学院对“C++程序设计”理论课部分采用多媒体教室教学,其他学时直接安排在理实一体化教室进行。理实一体化教学强调理论的讲授以“必需、够用”为度,强调“实用、适度”,采用这种教学方法能够把抽象而枯燥的理论知识科学、有效地转化到生动而有趣的实践过程中去,在实践中加以验证,使学生从实践中得到感性认识,并将感性认识自觉地上升为理性认识,进而提高学生的思维能力,锻炼学生的动手能力,使整个教学过程收到事半功倍的效果。比如,学生认为难以掌握的循环语句,如果采用一次理论一次实验课的方式来讲授,学生上课的时候可能听不到某个知识点,做实验的时候就会无所适从,很被动,学习效果大打折扣。如果布置一个联系实际的题目让学生练习,学生在课堂上就能把该学习的内容学会了,然后可以加大难度,引入学生成绩输入的循环、学生成绩输出的循环等题目。在理实一体化教室里学习能有效地将课堂与实践结合起来,让学生直接在课堂上学到日后就业所必需的程序设计能力,变被动学习为主动参与,从而调动学生学习的积极性与主动性,增强学生的实践能力,符合学生学习的规律,也符合高职教育的规律。在课程教学中引入一体化教学,改变传统的“理论—实验—理论”的教学方式对提高教学效果,增强学生的实践操作技能都具有积极意义。
分层教学,因材施教 我院计算机专业大类的生源有普通高中的、职业高中的,也有边远地区和经济落后地区的。普通高中生源普遍没有计算机语言基础;边远地区和经济落后地区生源的基础更差一些。职业高中生源存在两极分化现象,有的有C语言基础且基础很不错,有的则不会写最基本的循环判断语句并有恐惧心理,认为自己学不好计算机语言。针对学生基础差异比较大的实际情况,结合学生的自愿选择,我们打破原有的班级划分,对“C++程序设计”课程进行分层教学。分层教学主要是讲授分层,遵循由浅入深、由易到难的原则,指导和要求学生找到“最近发展区”,使每个层次的学生都能按时完成学习目标,激发所有学生进一步学习和探索的欲望。但是最终目标不能分层,就业岗位对每个从业者的要求都是平等的。因此,我们的分层教学是在一年级第一学期实行。普通高中生源普遍学习能力很强,不存在心理障碍,学习进度也比较容易把握;对职业高中生源不仅要加强辅导,更要帮助他们克服心理障碍。在一年级的第二学期对所有学生按传统方式分班进行正常教学。通过这种分层教学的方式,把学生的需求和发展放在首位,用不同的教学方式方法促使全体学生发展,有效地调动了学生学习的积极性,帮助部分学生克服了学习心理障碍,让学生成为了学习的主人,感受到了学习的进步,体验到了学习的快乐。
启发式教学 在学习的过程中要注重对学生进行启发诱导,强调学生在教育过程中的主体地位。在整个“C++程序设计”课程教学过程中,我们都注重启发学生学习,要求学生对一个问题至少提出三种不同的解法。比如,在学习完数组、函数、结构体后带领学生做出“学生成绩管理系统”,要求学生举一反三,独立开发譬如“班级班费收支管理系统”、“个人财务小管家”等和学生生活密切相关的软件,并能够对自己开发的软件进行分析,提出优缺点以进一步改进。前苏联教育学家苏霍姆林斯基说“只有教师思考的大脑才能教会学生大脑的思考”,启发式教学不是提几个问题让学生回答,而是要精心设计能让学自己提出问题并加以思考,如果学生没有问题则说明学生没有积极思考,就是教学的失败。endprint
大赛引导教学,小赛常态化 工信部举办的蓝桥杯软件大赛,江苏省举办的ACM大赛、计算机技能大赛,我院计算机相关专业每年都组队积极参加。2012年,蓝桥杯软件大赛我院有多名学生获得二等奖和优秀奖。历年的大赛题目,都是大赛组委会进行调查、分析,在听取行业专家对职业岗位的要求基础上充分论证而设置的。因此,每次大赛后学院都会组织教师深入研讨试题及评分细则,并把大赛题目分解成知识点对应到教学中,用大赛引导教学标准。由于计算机软件大赛的项目范围广,难度大,学生不仅需要本专业全面的理论知识,还需要较强的实践操作能力。在教学相长的教学原理下,这种大赛提高了教师和学生的水平。为了提高学生学习的积极主动性,学院每年都进行院级软件大赛,每学年第一学期末针对新生举办ACM程序设计大赛,每学年第二学期进行全校的ACM程序设计大赛,目前已经连续举办了4次,实现了大赛引导教学和小赛常态化。
网络课程平台的应用 现代大学教育越来越提倡以“学生为主体”的教学理念,但是,由于时间限制,大学课堂不可能提供很多时间用于讨论和交流。网络课程则能弥补这方面的不足。首先,所有教学资料都可以呈现在网络课程中;其次,在网络课程的学习中,学生是学习的主导。网络课程不受时间和空间的限制,学生可以根据自己的兴趣在任何时间和任何地点安排自己的学习,教师则是知识的导航者。随着网络技术的发展,网络课程的交互性也越来越强,网络课程上有学生的提问、有学生的作品、有往年考试题库、有历年学生获奖信息,构建了一个很好的交流与学习氛围。即使教师不在线,学生仍可以从以往的提问和回答中或者在线同学那里获得帮助。为开阔学生视野,进一步提高学生的学习兴趣,可将编程中的一些经典算法和典型应用放在网络课程中,供学生平时学习和参考。
软件工作室 “独学而无友,则孤陋而寡闻”,指的是要和兴趣相投的朋友一起学习,通过交流才能进步,也就是要合作学习。合作学习是指学生在小组或团队中为了完成共同的目标与任务,有明确责任分工的互助性学习。学院富有实践经验的骨干教师成立了工作室,工作室采用项目经理负责制度,按照公司化方式进行严格管理,具体环节包括纳新、管理、项目化运作。纳新在第一学期中期采用招聘方式,要求进入工作室的学生在某个方向具有浓厚兴趣或特长,品性良好,具有良好的沟通能力,能吃苦。这对一年级的学生非常具有吸引力,学生以进入工作室为荣。C++是基础课程,无论是嵌入式开发、桌面系统开发,还是虚拟现实开发都以此为基础,要求学生学好这门课程。在工作室里,品德高尚、具备丰富工程实践背景、专业业务能力强的教师对学生的思想、思维方式、行为方式以及职业素质都有重要影响。榜样的作用是无穷的,进入工作室的学生在指导教师的带领和学长的帮助下,在干中学,学中干,进步非常快,这些学生在班级教学中又起到了良好的带头作用,形成了良性循环。
教学方法的实施
为了将上述教学方法较好地运用到“C++程序设计”教学实践中,应将教学内容、教学方法、课堂教学及教学反馈有机结合,如图1所示。首先,按照大赛引领的导向制定课程教学标准,然后依据学生的情况安排教学内容;其次,以教学内容为依托,选取教学方法,进行教学设计;然后,将选取的教学方法灵活地运用到课堂教学实践中去;最后,通过教学反馈及时改进和调整教学方法,甚至调整教学内容以达到教学的目的。
这里特别要注意的一个环节就是教学反馈。有效的教学反馈应该表现出应有的适时性,就是要根据不同教学活动及教学任务的需要,以及学与教的具体情况,在适当的时候提供恰当的反馈信息。由于教学课时的限制,为了追求教学进度,有些教师不注意学生的反映,进入教室以后一讲到底,这种情况要绝对避免。教师在授课过程中不能只顾自己讲得痛快不顾学生的感受,而应该具有强烈的反馈意识,一旦发现学生的注意力不集中、听课吃力、笔记记不下来,对教师的提问感到不知所措,就要及时调整教学方法,引导学生积极参与进来。没有反馈的教学是失败的教学。如今网络资源非常丰富,网络课程中的学习资料应有尽有,教师要把注意力放在引导学生的学习兴趣上,让学生由被动变为主动,让“被动学”变成“我愿学”。教学中的信息反馈实质上是信息双向传递的过程,通过这样的过程,教师可以发现教学中的得与失,并以反馈信息为基础,及时调整教学计划,调控教学程序,改变教学方法,控制教学的进度,从而更为有效地调控教学过程,朝着教学目标推进,最终实现教学质量的提高。
通过将理实一体化教学、大赛引领小赛常态、分层教学、启发式教学、网络课程、软件工作室公司化管理等多种教学方法应用到我院连续三届学生当中,已经取得了很好的教学效果,学生的整体水平从他们的作品中就可以体现出来。基本在“C++程序设计”这门课上到一半的时候,已经有三分之一的学生上实验课时不需要教师给程序代码了,自己可以独立编写程序代码,并有自己的思路,编写的程序代码也非常简洁。充足的自信心对学生后续课程的学习是非常必要的。今后我们将继续在教学方法上进行探索,以期取得更好的教学效果。
参考文献:
[1]湛永松.《C++语言程序设计》课程教学改革探讨[J].科技资讯,2009(31):208.
[2]包雅伟.儒家思想与高校辅导员工作创新[J].江苏高教,2012(6):143-144.
[3]吴斌.基于工作室平台的高职学生职业素质培养[J].职教论坛,2006(3):44-45.
[4]赵欣.计算机网络课程教学方法研究[J].大连大学学报,2012(12):149-152.
[5]霍吉.网络课程的利弊与网络课程的建设[J].价值工程,2010(8):153.
[6]王春玲.“C++程序设计”课程实践教学改革的探讨[J].计算机教育,2007(24):3-4.
(责任编辑:谢良才)endprint