例谈C语言教学案例设计

时间:2022-09-07 09:13:12

例谈C语言教学案例设计

【摘要】教师撰写教学案例,是对教学过程进行真切的回顾,像放电影一样的把自己的教学一览无余地再现。用新的观点进行严格的审视,客观的评价,反复的分析,能使教师把某些教学问题认识得比较深刻,解决得比较恰当,有利于教师总结成功的经验和失败的教训,看清自己的长处和不足。

【关键词】C语言;教学案例;设计

教学案例是对教学过程中的一个实际情境的描述。它有利于教师对教学设计进行整体的规划,它以一个故事的形式,来叙述教学情境的产生、发展的历程,它是对教学现象的动态性的把握。

下面就C语言程序设计中常出现的一个题来谈我对教学案例编写的体会:

一、确定教学要素阶段:

教学任务:一乒乓球从100米的高度自由落下,设每次落地后反弹回原高度的一半,再落下,求乒乓球在第10次落地时共经过多少米,第十次落地后返跳的高度是多少?

教学目标:

知识目标:让学生理解题目意图,利用C语言的循环结构语句编写出正确的程序。

能力目标:培养并锻炼学生分析、解决问题的能力

情感目标:培养学生动手实践、自主探究,合作交流的学习方法,观察,乐于分析的学习态度。

教学重难点:重在分析题目意图(即算法分析),并用让学生便于理解的方式描述,难在用所学的语句来编写程序。

教学时间:1课时

教学媒体选择:一个乒乓球自由落体的动画,多个乒乓球。

设计说明:本节课我主要遵循一个以活动动画来引导学生观察、分析问题,揭示算法真正意图的原则,运用构建主义教学理念,采用情景教学法,作图法等新的教学方法,营造一个轻松愉快,人人积极参加,勤于思考的课。

学情分析:本节课我主要针对计算机专业高考班的学生,在学这节课之前他们应准确掌握《C语言程序设计》中关于实现循环结构语句,如 for 或 while,do~while。并拥有能分析并描述简单算法如求累加,累乘的能力。

二、教学过程设计阶段

(一)引入:利用for语句求下列表达式前10项之和的数值(学生自己完成)100+50+25+12.5+6.25+……)

1.目的

(1)复习for语句用语求和时程序的描述

(2)题目中数字是于本节课任务数字的变化规律有着相似之处。(乒乓球从100m落下,返回原高度的一般即50m,依此类推)

2.效果评估:全班98%的同学都能描述,但可能40%的学生对数据类型(不含整数型,应设为实型)判断出现失误。

3.所用时间

(二)新授

1.题目分析

采用方法:

(1)带着学生读题目两遍

目的:让学生准确的明白题目描述,大致掌握题目意图。

(2)课件演示乒乓球自由落下后又反弹的动画过程,要求同学们仔细观察。

目的:通过直观形象的动画来分析题目,让学生理题目意图,并揭示题目中不太会让学生发现隐藏的问题,即乒乓球从100米高度自由落下后反弹,又从反弹高度落下,数字之间的关系就是(100原始高度+50反弹高度+50落下高度+…)

(3)发给学生乒乓球,并循环播放动画。

要求:①不能随意玩,不能乱扔。

②亲自体验乒乓球的落体运动。

③根据自己的体验和动画的演示尽量作出乒乓球的运动路线图。

目的:通过学生亲身感受乒乓球的反弹和前面的童话的提示,教师的分析能更准确无误的把握题目的意图,并作出路线图来将文字描述的题目变化为图形,进一步明确算法的要求。

(4)我将我的路线图画在黑板上,如下

效果预测:根据前四种方法的逐步推进,我预测绝大部分同学已经能理解题目意图,并且部分反应快基础好的同学已明确掌握算法思想,对于后进生也应该初步明确题目,能够在老师和同学的引导下听懂后面的分析。

2.请学生根据自己的理解来分析并准确掌握算法思想。

目的:①检查学生对题目的分析。

②检查学生对循环语句的掌握,以及分析和处理问题的思路是否清晰。

③培养提高学生的参与意识,调动班级的学习积极性,改变学生被动学习的心态。

效果预测:部分成绩稍好的同学都能描述出算法思路,而且不同的同学还可能有不同的意见,主要可能存在以下两种思路:(以红色线为规律线)

教师活动:

(1)根据学生可能的回答作出肯定和补充,以帮助没有确定算法的同学确定算法。

(2)确定变量和语句s为乒乓球经过的总路程,h为每次落地后的反弹高度,I为乒乓球的落地次数,程序先统一采用for语句来编写。

3.编写源程序

所用方法:学生自己编写,也可相互交流,尽量两种思路都完善。

目的:培养并锻炼学生将心中已明确的算法落实到具体的程序语句上。

教师活动:

(1)巡查教室,检查并了解学生完成情况,对部分有小问题的同学给予及时帮助。

效果预测:60%的同学都能基本准确的完成它所理解的其中一种思路,成绩稍好的同学两种思路都可以完成,其它一部分同学能大致写出部分语句,不能将头脑中已有的算法落实到语句上。

(2)我再次分析算法,并在黑板上作出完整的源程序。

源程序如下:思路一:

main()

{

float s=0,h=100;

int i;

for(i=1;i

{

s=s+h+h/2;

h=h/2;

}

printf(“乒乓球第10次落地时总经过路程是%f”,s-h);

printf(“乒乓球第10次落地后的反弹高度是%f”,h);

}

程序思考:为什么结果要为s-h?

思路二:

main()

{

float s=100,h=s/2;

int i;

for(i=2;i

{

s=s+h*2;

h=h/2;

}

printf(“乒乓球第10次落地时总经过路程是%f”,s);

printf(“乒乓球第10次落地后的反弹高度是%f”,h);

}

程序思考:为什么数次数的变量i的初始值要从2开始?

目的:(1)帮助优生核对程序的完整性,简洁性。

(2)帮助中等生理清思路,完善他们已编写的部分程序纠正不正确的语句,树立他们编写程序的信心。

(3)帮助后进生将整个程序完成,引导他们读懂程序并能运行。

(4)归纳总结并巩固。

所用方法:先回忆题目,再理清算法,后运行程序,并给出程序运行结果,和程序思考中提出的问题。乒乓球第10次落地时总经过299.609米,第10次反弹高度为0.098米,最后要求学生在上机课时进行算法验证。

目的:再次帮助全体同学复习本节课所授内容,给出结果是让他们在上机验证后进行比对,也给拥有其它方法的同学一个验证其算法正确性的标准。

教学反思:

本节课我利用的是构建主义的教学设计模式,运用积极反应原则要求学生自己在活动、观察等解题活动中,加上不断的、逐步推进的强化,使学生处于积极反映的状态,保证学生将知识真正学到手。同时遵循小步子原则,使教学内容一步一步的呈现,且每一步的难度增加也不大。并结合情景教学,让学生在现实的真实环境中去感受、去体验、去寻找本题的规律,以此来完成教学任务,实现教学目标。

【参考文献】

[1]张正琼著.《C语言程序设计基础教程》.重庆大学出版.2008年出版

(作者单位:重庆市渝北职业教育中心)

上一篇:如何实现中学语文教学与创新教育的有机结合 下一篇:加强引导 注重体验