论文部分内容阅读
【摘要】高中信息技术选修课《算法与程序设计》与教学《必修三》中的“算法初步”教学有相通和不同的地方,本文试着从相同点及区别提出个人看法,最后就两学科教师如何分工协作、侧重教学提出了几点建议,努力为学生的高效教学服务。
【关键词】算法 异同点 侧重教学
课改伊始,我校根据师资和生源状况,决定开设选修课《算法与程序设计》,后随着数学课中的《算法初步》一章的开讲。无论是信息技术老师还是数学老师,甚至学生,对此都议论纷纷,“课程重复”、“有必要吗”、“浪费时间”等质疑之声不绝于耳。后来通过课标学习、教材研究,以及教师、师生间的讨论交流,教学方法得到了很大改进,开始实行侧重教学,不仅早前的议论逐渐消失,反而收到了良好的教学效果。
而在教学实践过程中,我发现就整体而言,课改后学生学习《算法与程序设计》这门课的兴趣明显浓厚了,近两年在学生个人网站上经常可以看到“我喜欢”、“有点意思”等作业感言。究其原因,除了信息技术课程本身的教学模式有所改进以外,与数学必修课中增加“算法初步”的教学内容必然存在一定联系。现在看来,我们要为课改后中学的算法教学叫好,我校的几年教学实践证明,这两门课程不仅不冲突不重复,反而起到了互相支持、协作促进的作用,走上了良性循环的道路。本文仅以一个信息技术教师的视角,从算法与程序设计教学实践的层面谈一点体会、看法和建议,更多地涉及信息技术和数学这两门课在算法教学中如何区分、侧重,如何分工、合作等问题。
探究与疑惑:教什么?怎么教?
两门课程是否相同或重复,数学课是否有必要引入“算法初步”的讨论甚至质疑,随着课程改革的深入、教师觉悟的提高烟消云散,但作为实践中的教学者,如能全面地了解、研究相应课程的教材教程,无疑会大大提高各自的教学效果。鉴于此,我们不妨从教材的对比入手,对两门课的异同之处、侧重教学等方面作些简要分析。
《教育科学出版社》出版的信息技术选修课教材《算法与程序设计》一书共有六章,前四章主要为程序设计的基本方法,也是我们教学的基本章节。而《江苏教育出版社》出版的数学必修课教科书《数学3》的“算法初步”共有四节,节标题分别为“算法的含义”、“流程图”、“基本算法语句”、“算法案例”。两本教科书中都包含了“算法”的字样,显然,所讨论的内容也应在同一范畴内;而不同之处在于两门课程在算法教学上有所“轻重”:信息技术课应该“轻”,数学课则应该“重”。
虽然数学上叫“算法初步”,但却主要介绍算法。四节中分别介绍了算法的含义、用流程图描述算法、用伪代码描述算法和案例。说它“初步”是因为算法作为计算机科学的一门分支学科在大学中将会深入学习,学生在高中阶段只是接触了解,目的是启蒙、培养中学生的算法思维习惯和逻辑思维能力。而信息技术的《算法与程序设计》的教学主要内容是程序设计,算法是次要的,只要求学生知道什么是算法、如何描述算法,学生能看懂简单和教材上要求的特定算法(第三章)即可,不必深究,应将主要精力放在程序设计语言的学习上,即如何从语法规则、程序结构、编程技巧上来实现算法,也就是要求学生在计算机上运行通过自己的程序。
同时值得注意的是,由于两门课都是新设课程,无论是老师在教学上还是学生在学习上,都不可避免地存在一些困惑。
程序设计语言的困惑:
“数学的算法与信息技术的语言的困惑”。有这样一种观点,说信息技术上要学VB6,而数学上的“算法初步”又要学QB2等其它一些计算机程序语言,学生和老师都增加了负担,应该统一学一种。
信息技术选修课《算法与程序设计》选择VB6作为程序设计语言,是因为VB相对简单、易学、大众化。而在数学“算法初步”中,除用自然语言和流程图描述算法外,就是用伪代码描述算法,伪代码实际上对语言是没有要求的,无论使用哪种计算机程序设计语言都可以,也不必在意其语法规则的严格限制,这也是我们为什么称其为伪代码或算法语言的道理所在。
教学侧重点的困惑:
我们注意到,两门学科在算法教学上虽然有许多相似之处,但由于两门课在教学目标以及教学方法上有所不同,所有不能将它们等同起来。既然不等同,那么在教学上如何把握各自的教学侧重点显得尤其重要。数学上应更注重算法设计的教学,讲清算法思想,学会算法的多种描述方法,如何将数学问题变成用计算机解决的方法和步骤即算法。而信息技术应着重于程序设计的教学,即学会一种程序设计语言,并用这种语言来实现已设计好的算法,用计算机解决一个实际问题。一句话,就是将一个算法变成上机调试成功的程序。在教学实践中,切不可真的像有人抱怨的那样,将数学课上成了计算机课或信息技术课,而把信息技术课上成了数学课。
教学建议:
有人称这两门课是在遥相呼应,对此我十分赞同。既然这样,信息技术教师和数学教师有责任互相配合,通力合作上好这两门课。关于如何达到这一目标,笔者从自身经验出发,在此提出几点建议,仅供读者参考:
第一,为了教好这门课,提高教学质量,无论是信息技术教师还是数学教师,彼此间应主动联系、沟通,在如何理解、实施新课程改革下的新课程目标等方面互相学习、取长补短。
第二,两门课的教学应各自把握好教学的侧重点。作为数学教师,在教授“算法初步”过程中,不要将伪代码说成程序设计语言,而应重点介绍解决问题的方法和步骤即算法,不涉及程序设计以及语法规则。在实践层面上,教师可以鼓励学生将算法用自己会的一种程序设计语言去编程实现,证明算法的正确性,同时使学生真正体会到伪代码与程序设计语言间的差别。而作为信息技术教师,其责任在于在促使学生弄清算法与程序设计关系的基础上,重点教会学生掌握VB的基本语法规则、程序结构以及编程技巧,使学生能真正在计算机上编程实现算法。
第三,信息技术教师任教《算法与程序设计》,一是应该研究一下《数学3》的“算法初步”这一章,可以更多了解数学课在算法教学中的内容,以便互相配合,提高学生的学习兴趣,助其巩固提高。二是应对数学课教授算法的进度有所了解,若数学在前,那么信息技术的《算法与程序设计》课中的第一章有关算法的内容就应少讲或不讲,或强调一下算法与程序设计间的关系即可,避免重复浪费学时,达到课堂教学效率的最大化。
【关键词】算法 异同点 侧重教学
课改伊始,我校根据师资和生源状况,决定开设选修课《算法与程序设计》,后随着数学课中的《算法初步》一章的开讲。无论是信息技术老师还是数学老师,甚至学生,对此都议论纷纷,“课程重复”、“有必要吗”、“浪费时间”等质疑之声不绝于耳。后来通过课标学习、教材研究,以及教师、师生间的讨论交流,教学方法得到了很大改进,开始实行侧重教学,不仅早前的议论逐渐消失,反而收到了良好的教学效果。
而在教学实践过程中,我发现就整体而言,课改后学生学习《算法与程序设计》这门课的兴趣明显浓厚了,近两年在学生个人网站上经常可以看到“我喜欢”、“有点意思”等作业感言。究其原因,除了信息技术课程本身的教学模式有所改进以外,与数学必修课中增加“算法初步”的教学内容必然存在一定联系。现在看来,我们要为课改后中学的算法教学叫好,我校的几年教学实践证明,这两门课程不仅不冲突不重复,反而起到了互相支持、协作促进的作用,走上了良性循环的道路。本文仅以一个信息技术教师的视角,从算法与程序设计教学实践的层面谈一点体会、看法和建议,更多地涉及信息技术和数学这两门课在算法教学中如何区分、侧重,如何分工、合作等问题。
探究与疑惑:教什么?怎么教?
两门课程是否相同或重复,数学课是否有必要引入“算法初步”的讨论甚至质疑,随着课程改革的深入、教师觉悟的提高烟消云散,但作为实践中的教学者,如能全面地了解、研究相应课程的教材教程,无疑会大大提高各自的教学效果。鉴于此,我们不妨从教材的对比入手,对两门课的异同之处、侧重教学等方面作些简要分析。
《教育科学出版社》出版的信息技术选修课教材《算法与程序设计》一书共有六章,前四章主要为程序设计的基本方法,也是我们教学的基本章节。而《江苏教育出版社》出版的数学必修课教科书《数学3》的“算法初步”共有四节,节标题分别为“算法的含义”、“流程图”、“基本算法语句”、“算法案例”。两本教科书中都包含了“算法”的字样,显然,所讨论的内容也应在同一范畴内;而不同之处在于两门课程在算法教学上有所“轻重”:信息技术课应该“轻”,数学课则应该“重”。
虽然数学上叫“算法初步”,但却主要介绍算法。四节中分别介绍了算法的含义、用流程图描述算法、用伪代码描述算法和案例。说它“初步”是因为算法作为计算机科学的一门分支学科在大学中将会深入学习,学生在高中阶段只是接触了解,目的是启蒙、培养中学生的算法思维习惯和逻辑思维能力。而信息技术的《算法与程序设计》的教学主要内容是程序设计,算法是次要的,只要求学生知道什么是算法、如何描述算法,学生能看懂简单和教材上要求的特定算法(第三章)即可,不必深究,应将主要精力放在程序设计语言的学习上,即如何从语法规则、程序结构、编程技巧上来实现算法,也就是要求学生在计算机上运行通过自己的程序。
同时值得注意的是,由于两门课都是新设课程,无论是老师在教学上还是学生在学习上,都不可避免地存在一些困惑。
程序设计语言的困惑:
“数学的算法与信息技术的语言的困惑”。有这样一种观点,说信息技术上要学VB6,而数学上的“算法初步”又要学QB2等其它一些计算机程序语言,学生和老师都增加了负担,应该统一学一种。
信息技术选修课《算法与程序设计》选择VB6作为程序设计语言,是因为VB相对简单、易学、大众化。而在数学“算法初步”中,除用自然语言和流程图描述算法外,就是用伪代码描述算法,伪代码实际上对语言是没有要求的,无论使用哪种计算机程序设计语言都可以,也不必在意其语法规则的严格限制,这也是我们为什么称其为伪代码或算法语言的道理所在。
教学侧重点的困惑:
我们注意到,两门学科在算法教学上虽然有许多相似之处,但由于两门课在教学目标以及教学方法上有所不同,所有不能将它们等同起来。既然不等同,那么在教学上如何把握各自的教学侧重点显得尤其重要。数学上应更注重算法设计的教学,讲清算法思想,学会算法的多种描述方法,如何将数学问题变成用计算机解决的方法和步骤即算法。而信息技术应着重于程序设计的教学,即学会一种程序设计语言,并用这种语言来实现已设计好的算法,用计算机解决一个实际问题。一句话,就是将一个算法变成上机调试成功的程序。在教学实践中,切不可真的像有人抱怨的那样,将数学课上成了计算机课或信息技术课,而把信息技术课上成了数学课。
教学建议:
有人称这两门课是在遥相呼应,对此我十分赞同。既然这样,信息技术教师和数学教师有责任互相配合,通力合作上好这两门课。关于如何达到这一目标,笔者从自身经验出发,在此提出几点建议,仅供读者参考:
第一,为了教好这门课,提高教学质量,无论是信息技术教师还是数学教师,彼此间应主动联系、沟通,在如何理解、实施新课程改革下的新课程目标等方面互相学习、取长补短。
第二,两门课的教学应各自把握好教学的侧重点。作为数学教师,在教授“算法初步”过程中,不要将伪代码说成程序设计语言,而应重点介绍解决问题的方法和步骤即算法,不涉及程序设计以及语法规则。在实践层面上,教师可以鼓励学生将算法用自己会的一种程序设计语言去编程实现,证明算法的正确性,同时使学生真正体会到伪代码与程序设计语言间的差别。而作为信息技术教师,其责任在于在促使学生弄清算法与程序设计关系的基础上,重点教会学生掌握VB的基本语法规则、程序结构以及编程技巧,使学生能真正在计算机上编程实现算法。
第三,信息技术教师任教《算法与程序设计》,一是应该研究一下《数学3》的“算法初步”这一章,可以更多了解数学课在算法教学中的内容,以便互相配合,提高学生的学习兴趣,助其巩固提高。二是应对数学课教授算法的进度有所了解,若数学在前,那么信息技术的《算法与程序设计》课中的第一章有关算法的内容就应少讲或不讲,或强调一下算法与程序设计间的关系即可,避免重复浪费学时,达到课堂教学效率的最大化。