张 进叶慧婷
1.辽宁省教育技术装备中心 辽宁沈阳 110032 2.辽宁轨道交通职业学院 辽宁沈阳 110036
程序设计新型教学方法研究
张 进1叶慧婷2
1.辽宁省教育技术装备中心 辽宁沈阳 110032 2.辽宁轨道交通职业学院 辽宁沈阳 110036
针对程序设计类课程教学中如何采用更为有效的教学方法进行研究,在程序设计类课程教学中如何引起学生兴趣,如何将重点突出,将难点分解,打破过去的传统教学模式,采用现代教育手段,并在任务选择的合理性等方面进行研究,使程序设计教学更有针对性,更易于接受。
程序设计;教学方法
程序设计课程是计算机专业的必修课程。程序设计的思想体现在课程之中,具体体现在程序设计语言中,如早期的BASIC,PASCAL语言等,现在大部分学校程序设计的语言都选择C语言或Java语言等,其原因是C语言适应面比较广泛。随着网络的普及,计算机网络技术的深入,Java语言也正在兴起,Java语言是在C语言基础上开发的,格式语法等都非常相似,因此在学校中选C语言是非常普遍的。为使教学收到理想的效果,寻求新型的教学方法保证程序设计课程的教学效果是非常必要的,其关键是让学生建立起程序设计的思想尤为重要。
1.1 任务驱动教学方法
笔者在21世纪初就在研究用任务驱动方法进行教学改革,当时效果比较显著。任务驱动教学是一种建立在建构主义教学理论基础上的教学方法。所谓任务驱动教学,就是让学生在一个典型的处理“任务”的驱动下,展开教学活动,引导学生由简到繁、由易到难、循序渐进地完成一系列“任务”,从而得到清晰的思路、方法和知识的脉络,在完成“任务”的过程中,培养分析问题、解决问题以及用计算机处理问题的能力。任务驱动方法是探究式教学模式,它最适合学生学习操作类的知识和技能,因此现在计算机应用软件的学习基本都采取了这种教学方法。
任务驱动方法在教学的过程中,教师要把握好三个环节,首先是学生接受学习,其次是学生自主学习,最后是学生协作学习。教师为学生创造学习环境,目的是为了让学生易于接受学习,因此任务的设定就是教师为学生创造的环境,让学生通过适当努力,能顺利完成一个个具体的任务,掌握学习内容,获得成功的体验。结合学生的特点和爱好,有意地引导学生用学过的知识进行设计,并给予相关的技术支持,使学生由接受学习变为自主学习。最后,教师让学生参与比较实际且较大规模的设计,学生协助教师完成设计,达到学生协作学习的目的。
在实践过程中,学生接受学习是比较容易达到的。因为有教师指导,更多教师在教学中采用演示的方法,学生跟着教师一步一步地做就达到了教学的目的。学生自主学习实现较为困难,因为这个过程要有计算机相关技术支持,可能还会出现相关专业其他技术的支持,例如学生对手机中的小程序感兴趣,需要对语言图形方面进行深入了解,还需要教师掌握手机系统的相关知识。因此,实现是有条件的。学生协作学习的实现可能取决于任课教师的科研水平及科学态度,还取决于教育装备条件。
任务驱动方法对计算机应用软件的学习效果明显,对程序设计的学习效果并不是最好的,它作为程序设计学习的辅助方法更合适。
1.2 行动导向教学方法
行动导向方法是德国在1999年制定《框架教学计划》中提出的一种新型的职业教学课程体系和先进的职业技术教学方法。行动导向方法,是有针对性的,有目标的学习方法,学生是在教师导向中,在已经分解的各类活动中培养兴趣,积极主动地学习,其目标是培养学生的关键能力,因而行动导向方法要求学生在学习中不只用脑,而且是脑、心、手共同参与学习,是提高学生行为能力的一种方法。
在计算机专业教学中,程序设计相对比较难,对学生的思维训练也是多方面的,相对于其他课程,程序设计有其独特之处,编写及调试程序是培养学生思维能力,阅读检查程序过程是培养学生专注能力和细致能力。
任务驱动方法能改变程序设计传统的教学方法,使学生由被动的学习状态转变为主动的学习状态,这样在学习中就不会发生在没有接触到程序设计学生就对概念、规定、符号等感到厌倦等现象。采用任务驱动方法,将基础知识渗透到各个任务中,由感性认识上升到理性认识,让学生在成功中体会程序设计所带来的快乐,逐步培养程序设计的思想理念,从而让学生接受学习。
行动导向方法能改变程序设计无指定目标的学习,使学生在学习中认识到学习知识的最终用处何在,明确各个知识点的纵向联系,以及实际应用中的横向联系,培养学生对问题的各种处理能力。
任何教学过程都需要教学设备的支持,程序设计课程也不例外,要想达到理想的教学效果,现代教育装备更是必不可少。程序设计本身是在计算机上实现的,它属于计算机软件范畴,在教学中计算机是必备的教学设备,现在计算机仿真技术日趋完善,如果配有相应的模拟软件,教学效果会更上一层楼。此外,如果用行动导向方法,把实际应用的软件移到教学中,让学生直接感受程序设计所带来的巨大魅力,这种影响力是无法用言语所表达的。
计算机软件是无形的,不像计算机硬件看得见、摸得着,但计算机软件完成后,用户界面是可见的,也是可以操作的,因此,让学生先认识程序设计后成果的美好,这对于程序设计教学无疑是有利的,因此,引用现代教育装备,引进实用软件是前提和保证。
程序设计教学需要具备硬件和软件教学设备支持。硬件资源是基础和前提,程序设计的编写与实现首先要具备的硬件条件就是计算机,这是学生学习的必备设备;其次为了保证教学质量,网络环境必须具备,这不仅仅满足于素材的下载,以及学生作品的上传,同时可以进行课堂的控制与管理,效果的展示等作用,网络环境的实现要具备一定的通信设备以及网络系统传输设备。除了硬件设备外,软件资源是保证,程序设计是靠计算机语言实现,教学中使用的计算机语言软件(如C,Java,VB等)需要安装,语言的安装将随着实际要求具体而定,语言版本要依据计算机硬件参数合理选择;另外就是涉及效果展示软件的安装,如数学领域的Matlab软件,动画效果的Flash软件等。
程序设计课程无论使用什么教学方法,教学的重点和难点是不变的。程序设计中的内容主要是程序设计方法和处理问题时所使用的数据类型,程序设计方法是程序设计课程中的重点,而语句的语法要求是重点,也是难点,任何程序设计的语言,程序设计的方法基本上是相同的,主要设计思想包括有顺序程序设计、选择程序设计、循环程序设计,这是最基本的设计思想,如果再进一步按照程序设计风格,有逻辑式程序设计、函数式程序设计、对象式程序设计之分。
对于计算机软件、网络等专业,程序设计的教学主要体现在语言类的课程教学中,对于计算机应用、动漫专业则体现在应用类课程教学中,而且不是教学中的重点,只是轻描淡写地讲部分内容。语言类中的程序主要是围绕三大程序设计思想设计并展开,在此基础上深化,如子程序(或过程或函数),对象或类设计。
在教学中要突出程序设计方法这个重点,无论什么教学方法,目的是让学生在实践中完成教学任务,教师可以根据学生差异,把“任务”设计成有一定联系的几个任务。按层次或进度分别提出。下面举一个例子说明:
如:设计一个加法练习程序;
任务一:输入2个数,输出这2个数的和
目的是掌握顺序程序设计,在此任务中学生学会基本的常量与变量的区别。
任务二:输入2个数,如果是正数则输出,负数则无输出
目的是掌握选择程序设计,在此任务中学生学会基本的if语句。
任务三:输入10组数据,每组输入2个数,并输出这2个数的和
实用扩展1:请你给小学生编写一个加法练习程序,正确的显示"OK",错误的显示"Wrong"。
实用扩展2:请你给小学生编写一个加法练习程序,每套10道题,每题正确的加10分,错误的不给分,并计算总分等。
这个项目主要完成的是数学应用问题,用到的相关知识不多,程序设计的知识就是重点,正确的使用各种语句,即语句的语法格式要求就是难点,它代表了一个层面,这个问题解决了,再难一些也就是增加数据类型的知识,而数据类型要求是很多的,是教学难点,但我们把这个难点划分到每个小问题中,难点就分散了,在这个程序中,我们如果扩展到解决数学中的对数问题,只增加log()函数就可以了,在程序设计方面达到举一反三目的。
由于使用任务驱动方法和行动导向方法,因此,在教学中要把握“三适、三互、一归”原则:
4.1 适当原则
方法的启动由教师设定,在教师引导下将项目分解,变成小“任务”并实现,任务适当是教学成败的关键。
4.2 适中原则
目标定位在培养学生的学习动机和能力上,这是此方法目的所在。在教师的指导下,学生根据已有的知识经验,掌握有序的学习途径,去解决问题,完成任务。在完成任务的过程中学会学习。这一目标的定位,能使学生适应社会的需要。
4.3 适量原则
此方法与传统学科教学的本质区别在于量上,够用是宗旨,我们培养的是应用型人才,不是设计型人才,因此在教学中不易过深、过难,只要学会程序设计的思想,学会解决实际问题的方法。
4.4 互促原则
完成教学任务的途径是通过使用程序设计方法促进学习的,通过对实际案例的操作,学生会意识到知识的不足,再通过使用程序设计方法解决实际问题,学会知识,学会技能,学以致用,学用互动,相互促进。
4.5 互换原则
在教学中要注意学生个体学习能力的差异,把个体自学与群体讨论有机地结合起来。在教学中提供三个学习空间,激励个体学习,发挥小组讨论,运用班级交流,使学生人人参与,鼓励提出不同见解,使教学方式变成更为生动、活泼的全员探究合作教学。
4.6 互助原则
在学生完成任务的过程中,教师应参与学生的讨论。教师的角色应是:(1)学生学习动机的激发者。(2)善于归纳问题的指导者。(3)教学活动中调节与组织者。
4.7 归纳原则
在程序设计教学中,由于教师主要是进行方法的引导,学生有更多时间自主学习,而学生的学习能力是不同的,因而在同一课堂内,学生所掌握的知识也会有所不同,容易造成学生学习效果的两极分化及教学知识点的疏漏等问题。这就需要教师在教学中,加强课堂或阶段小结,并对知识点及时归纳总结,使得学习能力差的学生或操作有疏漏的学生通过教师的总结和回顾,跟上教学进度,达到教学目标,这样既体现分层次教学,又体现促进共同发展。
总而言之,任务驱动方法和行动导向方法的结合运用在程序设计课程教学中值得继续实践和探索。
[1] 周济,彭晓春.应用写作教学中任务驱动教学法初探[J].群文天地,2011(22):184-185.
Study on the New Teaching Methods in Programming
Zhang Jin, Ye Huiting
1. Liaoning Educational Technology &Equipment center, Shenyang, 110032, China 2. Liaoning Guidao Jiaotong polytechnic Institute, Shenyang, 110036, China
It Study how to use more effective methods of teaching in programming courses teaching. It research how to arouse students' interest, and how will be highlights and difficulties decomposition in programming courses teaching. Breaking past traditional teaching mode, And in the reasonableness of the task selected such as. The programming teaching more targeted and easier to accept.
programming; teaching methods
2013-05-14
张进,本科,中学高级。叶慧婷,本科,副教授。