计算机微课教学设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微课教学设计

微课标题数值转化所属课程计算机应用基础

所属专业计算机应用技术适用对象计算机专业一年级学生所属专业大类所属专业类

授课教师宋承继所属学校陕西工业职业技术学院

教学思想与教学设计思路冒泡排序的实现是本章的一个教学重点和也是教学难点,如何设计教学过程,使学生通过本堂课的学习掌握其程序的代码实现,并从中领悟出程序设计的基本方法和步骤,是我在教学设计时重点思考的内容。教学设计上采用引导启发法、任务驱动法等教学方法授课,通过实例动画演示让学生轻松掌握冒泡排序的原理,通过代码单步执行、知识描述、数据变化同步动画演示让学生更好掌握冒泡排序的算法设计。

教学背景《数据结构》是计算机类一年级学生的专业基础课,冒泡排序法是数据结构课程中重要知识点,软件开发、计算机应用等领域应用多、范围广,学习该内容之前,学生已经学习了程序设计的三种结构,也用C语言实现过若干应用程序,并较好的掌握函数、数组、if语句和for语句循环嵌套等知识。

教学目标知识目标:掌握冒泡排序的原理及冒泡排序的算法设计

能力目标:利用C语言实现冒泡排序的算法设计及算法优化态度目标:培养学生逻辑思维和主动分析解决问题的能力

教学重、难点教学重点:冒泡排序的原理

教学难点:冒泡排序的C程序实现

教学过程设计

教学环节教学内容时间分配

1、问题引入

设计目的:通过生活实例进行问题引入,吸引学生注意力。

教学方法:引导启发法

教学资源:卡通图片

40-50秒

2、新课提纲冒泡排序的动画演示

冒泡排序的原理

冒泡排序的算法设计

10-20秒

3、分析问题

设计目的:让学生通过实例动画演示,清楚的了解冒泡排序的具

体实现过程。

设计目的:让学生通过真实数据的排序过程,更好的掌握冒泡排

序的原理。

教学方法:实例演示、归纳法

教学资源:Flash动画

4-5分钟

4、排序原理

每两个相邻的数据进行比较,前一个数据大于后一个就进行交

换,否则不交换,5个数据比较4轮排序成功。

10-20秒

5、解决问题

设计目的:通过算法设计步骤、算法改进及代码、描述、数据同

步动画演示,让学生掌握代码的编写方法,提高程序设计水平。

教学方法:任务驱动、引导启发法

教学资源:Flash动画

5-6分钟

6、思考题

教学方法:设问法

教学资源:幻灯片

10-15秒

7、知识总结冒泡排序的原理

冒泡排序的算法设计

冒泡排序的知识拓展

10-20秒

教学总结与特色

利用各种碎片化资源讲解知识点,将抽象、枯燥、乏味的知识通过实例动画和代码单步执行、知识描述、数据变化同步动画演示,让教师达到易教易授的效果,让学生达到易学愿意学的效果。

教学详案

教学设计方案全过程一览图

一、问题引入

为了吸引学生注意力,首先介绍一个生活小实例(图1所示),有这样五个卡通人,如何按照身高排序呢?

图1 卡通人图例

达到学生自我思考问题效果,有的同学会想到将最高的卡通人放在最后面,将最矮的卡通人放在最前面,依此类推排序就会成功。

二、新课题目

强调排序的方法有很多,排序在实际应用中也很重要,介绍其中一种冒泡排序法。

1、冒泡排序的动画演示

2、冒泡排序的原理

3、冒泡排序的算法设计

三、冒泡排序的原理

1、通过两个动画演示,让学生清楚记忆排序过程中有何规律?

演示卡通人每一轮排序的过程(图2所示),让学生积极主动去思考排序的过程,其中垂直交换法(图3所示)可以让学生体会到气泡上浮的感觉,同时将卡通人身高作为数据进行交换可以让学生体会到数组元素交换的感觉,更有利于下面要介绍的算法设计。

图2卡通人排序动画图例

图3身高垂直排序动画图例

2、原理归纳

学生应该可以自己总结冒泡排序的原理,每两个相邻的数据进行比较,前一个数据大于后一个就进行交换,否则不交换,5个数据比较4轮排序成功。

四、冒泡排序的算法设计

掌握原理后,我们开始进行具体的算法设计,并通过VC++6.0环境实现程序设计。

1、数据的输入

int a[5]={180,150,170,160,120};

2、数据的输出

for(i=0;i<=4;i++)

printf("%d ",a[i]);

3、每一轮比较程序设计

for(j=0;j<=3;j++)

if(a[j]>a[j+1])

{t=a[j];a[j]=a[j+1];a[j+1]=t;}

4、轮数控制的程序设计

for(i=0;i<=3;i++)

{

for(j=0;j<=3;j++)

if(a[j]>a[j+1])

{t=a[j];a[j]=a[j+1];a[j+1]=t;}

}

五、算法提高

引导学生去评价算法,每一躺比较中,所有数据都会进行比较,应该不是最好的算法。前一趟比较确定一个最大数据,如何控制下一趟不再比较该数?

for(j=0;j<=3;j++)语句中的j<=3改为j<=3-i

六、重难点解决

为了让学生更好的掌握重难点知识,通过代码单步执行、知识描述、数据变化同步动画演示(图4所示),让学生更好掌握冒泡排序的算法设计。

图4 代码、数据同步动画图例

相关文档
最新文档