卜囡
摘 要:《算法描述与设计》是高中一年级数学里面的课程,这门课程是高中学习中的重点和难点。笔者根据教学目标,对学情、教材进行了分析,然后对这个模块的教学进行了设计,最后根据教学效果展开了评析。
关键词:数学方法 教学难点 基本结构
中图分类号:G632 文献标识码:A 文章编号:1674-2117(2014)16-0-01
1 学情分析
高一年级学生经过9年的数学课程学习,具备了一定的基于数学方法的解题能力,有了一定的算法基础,但缺乏对算法的较系统的概念认知,对算法没有较深入的理解。针对教材提出的教学目标,本模块教学的难点在于:①如何使学生对有一定了解的算法学习产生兴趣,为后续学习做好铺垫;②如何让学生进一步了解算法的多样性,培养其思考问题的习惯,并能对算法做出简单的评价;③如何使学生知晓本学科的基本结构及各子模块之间的相互关系。
2 教材分析
(1)教材通过“实践”活动,请学生回忆数学课中学过的算法,并谈谈自己对算法的理解。在对普通高中阶段的课程进行整体规划时,《数学3(必修)》为《算法与程序设计(选修)》模块的先行课,但实际的教学实施过程是《算法与程序设计(选修)》在先,《数学3(必修)》在后。基于教学实际,不能从“实践”活动引入课题,且“实践”活动的内容也不能抓住学生的思维,引起学生进行深入思考。
(2)教材通过“算法是程序设计的灵魂”、“算法+数据结构=程序”来说明算法在计算机程序设计中的重要作用,但是对于刚刚知晓了“算法是解决问题的方法和步骤”的学生来讲,并不能单单只从这些文字性的说明就能理解个中缘由。
(3)巩固练习中所给出的“实践”活动有:求解水仙花数、凯撒密文的加密原理、桌面小时钟问题。水仙花数问题在程序结构上属于循环结构,且基于学生现有的算法水平不能进行多样化的设计,只能在算法描述方法上起到一定的巩固作用。凯撒加密原理需要给学生补充ASCII码的知识内容,且学生不了解“字符”数据类型的相关知识,用自然语言对“PROGRAM”字符串进行密文转换难度太大,实践活动的目标很难达成。桌面小时钟程序给出的是分支结构的流程图,程序实现时仅用了一条简单的时钟状态转换语句,且程序代码由多个子过程组成,对于教学难点的突破没有帮助,且易使学生在学习伊始就感受到阻力。
3 教学设计
3.1 教学目标
3.1.1 知识与技能目标:(1)理解什么是算法,体会算法的多样性;(2)能够对设计的算法做出简单的评价。
3.1.2 方法与过程目标:通过了解常用的算法描述方法,让学生学会用自然语言、流程图来描述算法,帮助学生建立算法思维模式。
3.1.3 情感态度与价值观目标:(1)提高学生学习兴趣,提高求知欲;(2)培养学生乐于发现、积极思考的学习态度;(3)培养学生独立思考的习惯,养成严谨的的思维习惯。
3.2 教学过程
3.2.1 实践活动——为培养算法思维创设环境
活动内容:求1+2+3+……+99+100的和活动1:请尝试用多种方法求解活动结果:高斯法、公式法、累加法、奇偶相加等活动目标:点题、引出概念——让学生明确学习任务学习内容:算法是解决问题的方法和步骤活动2:用文字形式表述解题步骤(分组活动)活动结果:
学习内容:
(1)自然语言描述方法;(2)对自然语言描述方法的优缺点形成清晰的认知。
活动结果:流程图描述方法直观清晰、通俗易懂。
活动目标:
(1)熟悉流程图的图例符号;(2)在熟悉问题算法的情形下学习流程图描述,用心体会流程图描述方法的优缺点;(3)掌握用流程图描述算法的方法。
3.2.2 小结——算法描述方法
(1)简介“伪代码描述方法”,引出计算机程序设计语言;(2)介绍课程体系结构,提升学生算法学习的认知水平,为学习兴趣的保持提供支撑;(3)对三种常用的算法描述方法进行小结,帮助学生梳理学习内容。
3.2.3 练习——强化知识点,提升教学目标达成效果
活动内容:求解100以内的完美数,要求设计算法并绘制流程图
活动结果:如何高效地解决问题是算法设计的核心。
活动目标:
(1)将学生的注意力由“描述方法”带回“算法思维”,将算法思维的学习引向深入。(2)强化对流程图图例符号的记忆,熟练掌握用流程图描述算法。
4 教学设计评析
4.1 小问题可以做大文章
(1)“求1+2+3+……+99+100的和”这个问题,对高一年级的学生来说再熟悉不过。刚看到题目时,很多学生就脱口说出答案“5050”,这使教学很自然地过渡到问题的求解方法,为后面引出课题做好伏笔。
(2)“用文字表述解题步骤”的活动,让学生在学习自然语言描述方法的同时,发现这一描述方法的不足,为后续学习流程图描述方法做好铺垫。使用自然语言描述算法时,不能只留停在方法上,需要进一步理清解题步骤,学生被引入算法学习的第二个环节。这一环节,让学生在了解算法多样性的基础上,将认知水平发展到“算法思想是否可以改进”。
(3)“发现”一个小问题可以使用多种求解方法,进而“接受”算法的概念。“发现”自然语言描述方法存在不足,进而“接受”流程图描述方法。(4) 选取学生熟悉的小问题进行实践活动,更利于凸显学习内容——算法的描述与设计。以一个简单易行的小问题为主线,使各个概念及知识点有序展开。与此同时,小问题的多种解决方案突出了算法设计的重要性,将学生的学习从了解提高到理解的层次。
4.2 强化环节有针对性,巩固的同时做提升
学生通过实践活动完成了算法学习的第一环节——熟悉概念,且通过算法描述方法的学习对算法思想有了一定的认识,具备了进入第二环节的学习条件。算法学习的第二环节,要使学生在巩固之前学习的同时有所深入,将学生对算法的认识从“具有多样性”的初级水平提升到“完美”级别,让学生认识到“如何高效的解决问题是算法研究的核心”。
综上所述,“求1+2+3+……+99+100的和”这一问题的设计帮助学生完成了教学重点的学习,“求解100以内的完美数”在强化学习的同时让学生的认识水平达到了新的高度,在巩固重点的同时有效地完成了教学难点的突破。
(徐州市王杰中学,江苏 徐州 221004)