1、知识目标:了解并尝试编程的主要过程。
2、能力目标:体验程序设计的独特魅力,了解编程加工的内在机制,培养学生的创新能力。
3、情感目标:通过编程实现信息的加工,激发学生的兴趣,增加学生的成就感。
二、重点难点:
1、重点是让学生体验通过编程实现计算机加工信息的整个过程,知道利用计算机解决问题的步骤和基本思想方法,从而了解计算机信息加工的内在机制;
2、难点是让学生理解用算法描述实际问题,理解人的思维在计算机工作中发挥的作用。
三、教学方法:讲授法,演示法,实践法
教学过程
一、创设情境:
教师提问:学校要开运动会,希望用计算机来处理比赛数据,只有硬件设备就可以了吗?
学生回答:需要相关软件。
再问:哪位同学用过专门的处理比赛数据的软件?
学生回答多半是没有。
引出课题:有一位同学已经为此设计了一个小软件。
演示:100米决赛项目成绩排序程序
学生试用。
给出总任务:体验设计这个软件的过程。
提问:如果让我们对这些数据人工排序,怎么排?
引出概念:“算法”——解决问题的方法和步骤。
举一个简单的例子,说明算法:
1、如何交换两变量a,b中的值
在计算中处理此类问题时不能直接交换a,b的值,需临时变量TEMP,逐步交换
类似交换两个杯子中饮料,需借助于另一个空杯子
如a=9,b=2,步骤如下:
(1)将a的值9赋给temp;
(2)将b的值2赋给a;
(3)将temp的值9赋给b;
二、问题解决:
演示:冒泡排序算法
介绍数组概念
小游戏:请5个学生上讲台,发给每人一张大卡片,上面都有一个数字,大小不等。数字不顺序,让学生重新排序。排序规则(从小到大):从左边第一位学生开始,与相邻的学生比较卡片上数字的大小,数字大的排在右边。依次比较,直到排序完成。
小任务:给定一个数组(三四个元素),用冒泡算法排序。
三、体验过程:
提问:计算机也会这样思考吗?
如何让计算机知道我们设计的算法呢?
引出程序设计的一般步骤:
1、需求分析(算法分析):确定要解决的问题,即要计算机“做什么”
2、设计算法:对特定的问题设计一组求解步骤或方法。
3、编写程序:把人工设计的算法转换成计算机能识别的代码
4、上机调试与维护:刚写好的程序不一定正确,必须在计算机上实际运行,排除错误,测试能否达到预期的结果
学生可将程序代码拷入编程环境,借助注释文字了解代码的作用,调试运行程序,检查程序运行的结果,体验编程解决问题的乐趣和成就感。
实践:
完成总任务:体验设计一个对校运会100米决赛项目成绩进行输入和排序的程序的过程。
四、总结:
1、回顾整个程序设计的实战过程
指出:现在我们使用的计算机还只能按照人们事先给定的步骤工作。遇到问题时,先要一步一步设计好怎么做,也就是设计好解决问题的算法,最后选择一种合适的计算机语言编写程序,将人类解决问题的过程用计算机语言表述为指令,从而赋予计算机解决问题的能力。计算机是按程序所规定的内容和步骤进行工作的,懂得程序设计的原理和方法将可以更好地利用计算机
2、引导学生借助“教材实践”进一步探索。
教学反思:
1、学生对教材中列举的源程序普遍看不懂。本课要求是体验过程,能不能换一种方式;
2、在教学过程中,按小组学习是可行的。小组中不同层次的学生可形成“伙伴教学”的关系。