中学程序设计教学模式探究
时间:2022-01-11 09:08:04
导语:中学程序设计教学模式探究一文来源于网友上传,不代表本站观点,若需要原创文章可咨询客服老师,欢迎参考。
摘要:近几年,我校将程序设计课程纳入必修课范围,小学开设了LOGO,中学开设了VB、pascal、C、C++等计算机语言。课程的开设不仅提高了学生的知识体系、信息素养,而且培养了学生的逻辑思维、创新意识。本文根据笔者多年的教学实践,对如何引导学生自主探究、如何灵活实施课堂教学等问题进行了较深入的探究,以期能够为中学程序设计教学模式的发展提供参考与借鉴。
关键词:程序设计;教学模式;自主探究;拓展
1立足语言教学,拔高教学要求及目标,让学生有探究的欲望
计算机程序设计语言教学不仅要培养学生分析问题、解决问题的编程基础能力,更要培养学生的信息素养。因此,在开始学习程序设计时,教师首先应该让学生清楚地认识学习的意义,不能使其停留在通过会考的目标上。正如美国心理学家Maslow所说:“如果你唯一的工具是锤子,你就会把所有的东西都当作钉子。”如果教师一开始就将学习程序设计的目标定位于通过会考,那么教学势必会走入传统的应试教育模式,必将限制学生思考问题及解决问题的能力,这不利于他们产生程序设计语言知识的迁移效应。因此,教师在讲授VB程序设计之前,应让学生对程序设计及相关语言有足够的了解,并花一定的时间让学生自主探讨程序设计对生活、未来,以及对人类科学技术所产生的影响,从思想上对学生做正能量的引导,从而为以后的学习做铺垫,激发学生的学习兴趣,让他们有探究新知识的欲望。
2问题生活化,有的放矢,让学生有探究的动力
程序语言教学不同于其他学科,它更注重提高学生解决实际问题的能力。因而,教师在教学中,将问题生活化有助于学生产生探究的动力。发现问题,并为了解决它去学习程序语言,而不是因为学了程序语言,所以才去解决问题,这是两种不同的学习思维。例如,在讲授VB中的《时钟控件》一课时,笔者在讲完时钟控件的基本用法后,正好某年级在筹备辩论赛,需要计时器,利用这个机会,鼓励学生写一个计时的小软件,并且利用一节课的时间让学生“折腾”。事实证明,“浪费”的这一节课很有效果,学生不仅做出了实用、漂亮的计时器供各类比赛使用,而且对IF语句、循环语句有了更深入的理解和认识。
3精选例子,提高实效,让学生有探究的兴趣
知识的来源要么是自学,要么是教师的讲解,而教师选用什么样的例子将直接决定学生能否快速地接受、掌握和运用知识。例如,在讲解“交换两个变量a、b”的内容时,大部分教师都采用“三个容器交换内容”的方法,但这很容易给学生造成一种错觉:认为计算机内存也是这样进行的。而笔者则只是举了两个容器内物体进行互换的例子,并直接抛出问题:交换两个U盘中的内容,你是如何操作的呢?不同在什么地方,引导学生去自主发现。因而,教师在选用例子时要注意以下几个方面:①例子的算法讲解尽量直观化,直观可以让理性的东西用感观的方式体现,就像上例中的交换变量,学生能够简单、快速地理解知识,并记忆深刻。②例子要有趣味性。兴趣是最好的老师,有了兴趣就有了学习的动力。可以游戏出现的“猴子选大王”“约瑟夫的救命游戏”来学习数组:大王如何才能选出?引导学生模拟这个过程,思考数组元素如何出列?数组元素如何重新计数?让学生深入理解数组在程序中的应用,效果非常明显。③例子的选取要有数学背景。数学是一门历史悠久的学科,本身就有一定的逻辑性,将数学和程序设计有效结合,能够大大提高学生继续探究的兴趣,促成一题多解。例如,回文数、素数、陈景润的数学难题、完全数、6174问题等都来源于数学中的经典问题,选用这些例题能够凸显研究数学问题就是研究算法,用程序实现算法也是在验证经典的数学问题的双赢。如此能够打破学科间的界限,并且在学生脑海中牢牢树立起算法与数据结构比语言语法更重要的观念。
4画龙点睛,拓展深入,让学生有探究的空间
构造好算法,掌握了相关的语法,用程序语言来解决问题就不再是那么困难的事。然而,问题得以解决,程序语言作为工具被学生掌握,我们的教学就结束了吗?答案自然是否定的。程序设计作为一门实践性强的学科,教师的教学还应逐层深入,并采用拓展的方式让学生考虑一题多解。不管所要完成的任务是大还是小,在完成之后都要引导学生再设法寻找第二种方法,也许第二种方法比第一种方法更好。因此,在学习的过程中教师要积极地引导学生,使其能够对同一问题有不同的认识,不断提高学生认识问题和分析问题的能力。例如,在讲解“冒泡排序”的内容时,笔者分为两个课时来教学,第一节课让学生掌握基本的冒泡算法的流程及代码写法,并能做一些简单的排序题目;第二节课组织学生先讨论这样一道题目:体育课上,体育委员正按教师的要求让同学从低到高排队形,并不断地对比同学的身高,再交换同学的位置,这是冒泡排序吗?(问题生活化)接着,进行设疑:①在排序的过程中,有一些比较是无用的,能不能减少?最少比较多少次能将这个队列排成有序?②最少要交换多少次才能完成排序?通过这些问题引出学生对冒泡优化的讨论与探究,写出多种代码程序,并对比、改进,不断优化程序。在上例的教学中,学生不但深入了解了知识体系,而且从整体上提高了全面认识问题、解决问题的能力,达到了算法同语言两方面的真正融会贯通。同时,也拓展了思维,凸显了程序设计教学的精髓——重思维开发。因此,在教学中,教师要对问题进行拓展,让学生的学习有弹性空间。
5总结提高,固化、升华知识体系,让学生有探究成就
如果说巧妙的教学能引人入胜,那么对精彩的教学过程作一个恰当的归纳总结,则更能让人回味无穷。因此,教师在注重教学过程的同时,还要对教学内容进行归纳和总结,给自己的课堂画上句号,有始有终。然而,教师不应把总结环节定位于教师,学生同样可以画出点睛之笔。题目是做不完的,但每道题中都包含了一定的知识点、一些解题思路。教师在教会学生各类知识点后,也应该教会他们如何归类、总结,让知识系统更加完善。
6课后训练,自主探究养成,让学生乐在其中
程序设计是一项实践性很强的学科,因此不能采取纯理论解析的教学方法,“纸上得来终觉浅,绝知此事要躬行”,只有学生亲自动手、实践,他们才能真正体会到其中的奥妙。因此,教师在重视学生掌握系统基础知识的同时,必须要加强对他们基本技能的训练,并创造多种多样的形式,使学生把所学知识运用于实际,尽可能让学生亲自动手、动口、动脑地学习,培养他们利用旧知识获取新知识的能力。但是,突出的一个问题就是高中学生所学的课程较多,没有充足的时间完成程序设计的课后训练。那如何解决这样的矛盾,具体的做法就是让学生感兴趣,只有有了兴趣,学生才肯挤出时间完成训练。例如,在教学之余,笔者借助学校的活动计划,常常举办一些程序设计大赛、解题能手赛、一道难题、聪明人游戏等活动,刺激、调动、挖掘学生解决问题的潜能,引导他们自主地去探索与探究。同时,引导一部分优秀的学生参与到信息学奥赛中去,给他们提供一个更高的平台。
7结语
正所谓“教学有法,但无定法”,在新课程背景下,如果教师能够把新课程的一些教学理念应用到程序设计教学中来,或许会有更好的教学效果,新课程提出的“以人为本,一切从学生出发”想必也是程序设计教学的灵魂所在。在平时的教学中,只要我们做教学的有心人,灵活运用合适的模式去教、去引导学生自主探究,就一定会取得满意的教学效果,也一定会得到丰厚的回报。
作者:赵凌君 单位:江苏省苏州外国语学校
- 上一篇:循环经济的物联网技术应用研究
- 下一篇:科技创新服务业发展模式分析