循环小数教学设计范文

时间:2023-11-03 02:11:37

循环小数教学设计

循环小数教学设计篇1

[关键词]循环;逐步细化;计算机思维;通项

作为大学计算机通识教学的一部分,计算机程序设计是其中的重要组成部分,而循环则是其中的难点。导致学生说难学,教师说难教。

一、循环是程序设计本课程的难点

循环程序设计是计算机程序设计中的难点,它主要体现在:(一)数学逻辑思维性强,在循环程序设计时,往往涉及大量的数学逻辑思维,如何将一个复杂的问题转化为简单的有限的重复,从而构建数学模型,是编写代码前最重要的任务。(二)循环程序设计的多样性和复杂性,导致循环程序设计的灵活性比起其他的方面高许多,在程序设计时,如何根据题目或者任务要求,因地制宜,选择合适的解决方案,对教学提出了更高的要求。

二、学生困惑的现象

(一)由于循环程序设计的特点,逻辑性强,构建数学模型灵活多样,解决方案需要根据具体要求选择,课时不多,以通识课的方式教学,在学生的学习积极性、主动性上会构成一定程度的懈怠,导致课前预习不足,课后复习不佳,对于要求较高的循环程序设计,学生普遍反映难学。(二)学生的基础不同,它是由学生原有的学习基础不同,原有的地方差异导致的高中信息课程开课不一致,学生对程序设计在兴趣、学习能力、学习方法上体现不一致。

三、教师教学的困惑

(一)学生的层次性由于学生的基础不同,学生在学习兴趣、学习方法上不一致,在循环程序设计的教学时,反映出上述特点的集中和放大,在传统的教学环境下,学生容易对教学内容丧失兴趣;表示教学内容难,听不懂;甚至放弃该课程的学习。(二)教学资源的层次性由于循环程序设计的特点是逻辑性强、问题多样性,并且学生的基础不同、兴趣不同,编程要求因地制宜。在教学环节中,根据课程的要求,既要提高教学效率,又要考虑他们的特点,提供符合他们的学习资源。因此,提供多样性的教学资源,体现教学资源的层次性,体现学生的差异性,求同存异,保证教学效果,是教师面临的重要问题。

四、案例教学法的活学活用

在循环程序设计的教学中,案例教学是教学的重要手段,通过典型的、有特点的案例,可以有效地引导学生掌握循环程序设计的过程,激发学生的学习积极性。所以结合学生的特点,通过教学资源的多样性配置,引用相应的有特点的案例,是循环程序设计教学的重要一环。但是对案例教学要活学活用,要通过案例,反映程序设计的基本特征,而不是变成案例就是案例,学生的编程循规蹈矩,不能活学活用。让学生了解自动化是计算机最重要的本质特征之一,而循环就是在有条件的重复中自动完成人们赋予的任务,从而掌握循环编程的基本要求:了解问题及需求,逐步细化,构建通项,最终掌握循环编程。

五、兴趣引导,激发创造性

常言道,兴趣是最好的老师。在程序设计教学中,大部分学生学习效果较差的原因就是因为兴趣不高,产生的原因有:(1)畏惧,因为原有的数学基础不踏实,认为程序设计难,敬而远之;(2)退缩,在程序设计过程中,发现循环程序设计相对复杂,程序设计方法多样,没有产生兴趣,慢慢退缩。因此在教学过程中进行兴趣引导,激发学生的学习积极性,在体现学生的学习成果、体现学生的创造性上下工夫,让学生学有所得、学有所思,激发学生浓烈的学习兴趣和勇于探索的创造性思维。

六、目的明确,求同存异

在教学过程中要存同求异,教学目的明确,在大部分高校,《VisualBasic程序设计》是一门计算机通识课,学生较多,课堂教学要求较高,教师在教学过程中应对教学环境、教学特点非常清楚,课前应充分备课,明确教学目标,针对不同学生的不同层次、不同兴趣基础,求同存异,引导学生明确学习目标,提高学习效率。

七、循环程序设计的核心

循环程序设计的核心是什么?循环,周而复始地循环。在程序设计中,循环解决了复杂的问题,简单地重复,有条件地退出,这就是循环的本质,而通项、逐步细化就是我们在编程过程中应遵循的原则。总之,在循环程序设计的教学过程中,解决学生学习困难、学习畏惧的问题,提高学生的学习积极性,引导学生积极思索,提高学生的创造性思维,是本课程的重要教学目标,教师面临的问题较多,跳出只教知识的局限性,在更大的方向,更符合当前形势,提高教学效果。

参考文献:

[1]曾宪文.基于教学多样性的大学计算机基础课程的探索[J].现代职业教育,2016(10).

[2]苏小红,赵玲玲,王甜甜,等.CS2013指导下的程序设计课程体系的设计与精品资源共享课建设[J].中国建设教育,2015(5).

循环小数教学设计篇2

关键字:“提问-引导-探究性” 程序设计 循环语句 网络教学资源 程序优化

一 引言

(一)问题的提出

由于学生刚接触程序设计,很难把数学知识融入到循环结构的运用中,通常在学习中对书本上提供的程序容易理解,但只要把条件和要求略加变更或者在独立解决一些实际问题,这时学生表现为应变能力低,编程实现也就有点困难。

(二)解决问题的思路

思维是活跃的,程序是变化的,程序设计不能僵化于一种讲授模式,重在“启发引导”,就是呈现层次分明的“提问”内容,再结合问题的具体实际,因势利导,最终“引导”学生自己来“探究”完成任务。实践证明,充分运用“提问-引导-探究性”教学模式来加强程序设计教学中的引导,是提高程序设计能力与解决实际问题的应变能力的有效途径。

二 实践

在课程改革和信息技术与学科课堂整合的今天,教师是教学资源的提供者、研究探索的引导者。除了引导式的展示不同阶段学生思考的不同问题、提供必要的多媒体信息资源之外,还要指导学生依托信息技术所提供的丰富网络教学资源进行研究、讨论和发表见解的,拓展式、开放性的学习。在循环结构的教学中,我充分运用“提问-引导-探究性”的教学模式,循序渐进地提出层次性的问题,从而实现引导变通,这时,师生一起进入"聊天室"进行知识问答、交流谈心、专题探讨等活动(这种聊天式的讨论本身就是一种学习活动)。学生在交流探讨的过程中发展思维,学习新知,培养技能,提高汉字输入速度。具体实施如下:

(一)改变语句中的变量,加强语句的理解与应用

在程序设计的初始阶段,学生对某些语句的功能还不甚了解的实际,求和求积等基本问题入手,在及时纠正初编程序时所出现的语法错误和逻辑错误的基础上,引导对已编程序的某些语句或语句中的某些变量作力所能及的变通,以加强对语句的理解与应用的基本功。

呈现“求S=1+2+…+50”的例子:

Program cbh1;

var

t,s:integer;

Begin

s:=0;

for t:=1 to 50 do

s:=s+t;

writeln('S=',s);

readln

End.

要求学生关注以下三个问题:

1、循环中的循环变量是什么,其初值、终值分别为多少?

2、放累加和的变量是什么?每次的累加项是什么?

3、请注意累加项和累加和的值是如何变化的。

学生上机调试、分组讨论、结合网络资源,师生问答等方式来完成。学生解答这三个问题的过程,其实是对所学的变量、循环等概念的进一步理解、说明和归纳的思维过程。但并不意味着学生对程序的每个语句的功能清楚了。为了加深对赋值语句和循环语句的执行过程的理解,在这一简单程序基础上可引导学生做以下变化练习:

1、S =1+1/2+1/3+……+1/50

2、S =20 +21 +22 +……+210

3、S =1×2+2×3+3×4+……+99×100

4、S =10!=10*9*8*……*2*1

这种一题多变,一例多用的练习使学生从单纯的模仿阶段,通过自己的观察、对比、联系和想象,过渡到独立应用所学的概念和规则,灵活地、举一反三地、独创性解决问题,锻炼了学生思维能力,使其在思维的灵活性、批判性、深刻性、创新性方面都有所提高。通过以上一系列角度不同的变通,学生对每一个语句的认识深刻了,对语句中每一个变量的确定谨慎了。

引导对语句变量的改变,必须目的明确,同时,变化还要注意控制难度,先易后难,逐步深入,把引导与示范,引导与评价,引导与纠错有机结合起来。

(二)采用不同的程序设计方法,进一步认识语句与程序结构

循环结构的理解与运用是程序设计的基础,因此在学完循环基本结构的三种语句(for/repeat……until/while)后,为了加深对三种语句的理解,做到灵活应用,在处理程序设计时引导学生采用不同的方法进行设计,加强横向联系,启发学生自己进行总结,达到理想的教学效果。

呈现 “N!=1*2*3*……*10”例子:

先采用for语句设计发如下:

Program cbh2;

var

i,n:longint;

Begin

n:=1;

for i:=1 to 10do

n:=n*i;

witeln(n,'!=',n);

readln

End.

提出使用其它两种循环结构应该怎样设计?

学生经过探究、分组讨论、聊天室交流、程序调试、师生总结如下程序:

Program cbh2_1;

var

i,n:longint;

Begin

n:=1;i:=1;

repeat

n:=n*i;

i:=i+1;

until i>10;

writeln(n,'!=',n);

readln;

End.

Program cbh2_2;

var

i,n:longint;

Begin

n:=1;i:=1;

while i

begin

n:=n*i;

i:=i+1;

end;

writeln(n,'!=',n);

readln;

End.

然后引导学生对三个程序进行比较,得出决定循环终止的条件是布尔表达式,同时得出不同循环结构的布尔表达式关系。

又呈现“求出下式中n的最大值:s=12+22+32……+n2

先向学生提问:用什么循环语句来设计程序?

通过讨论,学生自己得出结论:

1、用for语句无法设计;

2、只能使用repeat……until与while两种循环设计;

3、同时再次对repeat……until和while 两种循环中的布尔表达式之间的关系有进一步的认识;

正确的程序如下:

Program cbh3_1;

var

n,s:integer;

Begin

s:=0;n:=1;

repeat

s:=s+n*n;

n:=n+1;

until s>=500;

n:=n-2;

writeln('n=',n);

readln;

End.

Program cbh3_2;

var

n,s:integer;

Begin

s:=0;n:=1;

while s

begin

s:=s+n*n;

n:=n+2;

end;

n:=n-1;

writeln('n=',n);

readln;

End.

最后小组得出结论:三种语句实现循环结构,即for语句,while语句和repeat……until语句, 对于能确定循环次数且可利用一个简单循环控制变量(只能使用顺序类型数据)时,使用for语句最合适了;对于循环次数不能预先确定,宜使用while或repeat……until语句,但while 语句适用于有可能根据条件判断使其成为空语句的情况,而repeat……until 语句适用于不论什么条件至少要执行一次循环体的情况。

通过如此的引导,使学生对循环结构的三条语句使用得心应手,在编程过程中能够灵活应用;同时也培养了学生发散性思维。

(三)改变程序结构,达到程序优化

在掌握了基本语句的准确使用与简单程序编写的要领之后,要引导学生从“按步思维到灵活思维”的转变,注意从程序的结构与设计思路上考虑变通,培养结构化和优化的意识,迅速提高编程能力。

一个程序设计出来了,不能满足于没有语法错误,能上机通过等起码要求,有必要引导学生从以下几个方面作一些深层次的思考:

1、程序的结构是否合理?

2、程序的设计思路是否清晰?

3、程序占用的机器空间与时间是否合适?

4、能不能作进一步的优化?

呈现“S =1-1/2+1/3-1/4+……+1/99-1/100”例子。

表达式中各项正负相间,基本的设计思路是把右边表达式分成正与负两组考虑,可以用两组双重循环来实现,这样做,思路显然比较简单但程序的编码较多,结构也显复杂。能不能把两组双重循环简化为一组单重循环来实现呢?可引导学生使用一个符号变量f解决正负符号相间,设计出结构非常简明的程序:

program cbh4;

var

n,f,t:integer;

s:real;

begin

s:=0;t:=1; f:=1;n:=1;

while n

begin

s:=s+t;

n:=n+1;

f:=-f;

t:=f/n;

end;

writeln('s=',s:10:8);

readln

end.

运行此程序会发现结果为1,为什么?引导学生自己分析,寻找原因,最后学生发现:感觉从第2项开始就没有参与运算,由于程序的说明部分,t是整型数,t无法等与一个分式的值(实型),始终为0。改程序的说明部分中的n为实型数即可。

这一设计打破了原来的正负分组的模式,从而优化了程序。

从设计思路,引导学生程序结构上变通,目的是培养程序的优化意识,寻求程序的优化途径,通过变通,具体建立程序的可读性比较,运行时间与占用空间的比较,结构化比较等优化概念,自然,对程序结构的变通较之前面对程序中某些语句某些变量的变通要深一个层次,要求更高,涉及面更广,因此,在变通的引导上要做到具体、细致,切忌简单了事,操之过急。

(四)构造合理算法,提高编程解决实际问题的能力。

算法是程序设计的依据。确定合理的算法是编程解决实际问题的前提与关键。引导对算法的变通,包括递归、搜索、迭代、递推、模拟等基本算法的改造,传统算法的推陈出新,必须紧密联系具体问题的实际。

呈现“一个整数的每位数字都是1,至少多少位才能使这个数被13整除呢?”例子。

这是一个有趣的实际问题,一般考虑的,无非是整除,一个个进行试商检验是基本的算法,一些学生往往“跃跃欲试”地编出程序:

Program cbh5;

Var

a,i:integer;

Begin

a:=0;i:=0;

repeat

i:=i+1;

a:=a*10+1;

until a mod 13=0;

writeln('i=',i);

readln

End.

在程序调试运行受阻之后,就要启发学生分析算法上的问题:当a的位数超过定义的整型数范围后,程序出错,然后引导学生思考:如果不用计算机,怎么求解?让学生在写出几步整数除法的竖式的基础上进行模拟寻求模拟变量(被除数、余数、商)建立模拟循环,从而设计出简练可行的程序:

Program cbh6;

var

b,i,a:integer;

Begin

b:=111,i:=3;

repeat

i:=i+1;

a:=(b*10+1) p 13;

b:=b*10+1-13*a;

until b=0;

writeln('i=',i);

readln

End.

由于以上程序中每次作整除运算所得的余数b要小于13,因此下一次的被除数B*10+1(体现增加一个“1”)不超出整数的范围,可确保整除的实现。可见, 算法的变通,有时直接关系到程序设计的成败。

三 总结

所谓“提问-引导-探究性”教学模式,就是以提问为前提,引导为路径,探究为目的的教学。具体说它是指教学过程是以教师精心设计的问题为前提,在教师的启发诱导下,以学生独立自主学习和合作讨论为前提,以现行教材为基本探究内容,以学生周围世界和生活实际为参照对象,为学生提供充分自由表达、质疑、探究、讨论问题的机会,让学生通过个人、小组、集体等多种解难释疑尝试活动,将自己所学知识应用于解决实际问题的一种教学形式。

把“提问-引导-探究性”教学模式应用于程序设计的教学中,实施引导变通程序设计,课堂教学气氛活跃,教师和学生双方都参与活动,他们都将以导师和主人的双重身份进人课堂、辩谬纠错、比较鉴别、层次分明、思维灵活,可以在提高程序设计能力,增强程序优化意识上收到良好成效。

程序设计中“提问-引导-探究性”教学模式,究竟在哪几个问题上“设疑”,如何去“设疑引导”,本身就是“应变”的,并没有一成不变的模式可套,必须因课制宜,因题制宜,因不同专业特点和学生实际而异。“辩疑解难”的实施,关键在引导,切忌想当然,脱离实际,强加于人,代替学生去完成变通,最后进行“释疑巩固”,同时注意,“设疑”应有梯度,有针对性,不能面面俱到,贪广求深,欲速不达。

参考文献:

[1] 周春荔. 数学观与方法论. 北京:首都师范大学出版社,1996

[2]何克抗.网络教学结构与网络教学模式探讨.教育技术通讯.

[3]高文主编.现代教学的模式化研究.山东教育出版社,2000

[4]张武升.关于教学模式的探讨.教育研究.1988.

循环小数教学设计篇3

关键词:VB程序设计;教学方法;改革

中图分类号:G642.0 文献标识码:B 文章编号:1009-9166(2010)029(C)-0123-01

引言:Visual Basic(下面简称VB)程序设计是我校计算机相关专业学生的必修课,然而VB语言枯燥、难以理解,学生缺乏相应的知识背景,导致学生对这门课有恐惧心理,缺乏兴趣。这就要求我们教师在教学中分析、摸索出一些较为行之有效的教学方法,才有可能培养学生程序设计能力,掌握一门技能,激发学生对程序设计的兴趣。笔者在近几年的教学实践中进行了如下改革探索,取得了良好的教学效果。

一、教学改革与实施

(一)采用实例教学法,激发学生的学习兴趣

VB程序设计语言所涉及的内容多,控件的属性、事件、方法也很多。要让学生对这些概念有一定深度的理解和掌握是比较困难的。时间一长,就会影响学生学习的积极性与主动性。因此在教学中,我从实例入手,采用实例作为知识的载体,选择学生感兴趣的问题作为实例,通过让学生亲眼观看、亲手模仿,在实际操作中亲自去体会和领悟这些概念。

(二)采用循序渐进方法,培养学生创新思维

知识的学习是一个循序渐进的过程。在教学过程中,我们可以先从简单的实例出发,再增加或者改变实例的条件,逐渐加深难度,以此培养学生的创新思维,提高学生对程序的分析与编写能力。这里仍以10!这个实例来看,这是我们讲授For…Next循环时的一个典型实例,这段程序在学生弄懂For…Next循环语句之后,理解起来并不困难。但为加深学生对语句的理解程度,提高学生举一反三的能力,要求学生对原程序条件做如下几种变化:

(1)求1到10之间所有数的和

(2)求1到100之间所有数的和

(3)求1到100之间所有奇数的和,步长为2

(4)求1到100之间所有奇数的和,步长为1

这里第(1)小题和实例中原程序相比难度不大,学生已学会根据数据范围定义数据类型,很快写出如下代码:

Dim S As Integer

Dim I As Integer

S=0

For I=1 To 10

S=S+I

Next I

Print"S=";S

第(2)小题将(1)题程序中I的终值改为100即可,学生理解终值在这一循环语句中的作用。第(3)小题增加了难度,需要动脑筋思考,将(2)题程序中For I=1 to 100语句改为For I=1 to 100 step2,才能得到奇数的相加,而且步长为2,掌握步长step在循环语句中的用法与作用。第(4)小题难度更大,要求奇数和,步长为1,做两点变化:一要写出For I=0 To 49,二要修改循环体,将循环体语句变为S=S+(2×I+1)。要做到这些变化,需要学生对For…Next循环语句有比较深刻的理解并能创造性地、灵活地予以运用。通过这种循序渐进的方式,激发了学生主动思考与解决问题的积极性,巩固了教学效果,提高了学生的综合编程能力。

(三)注重实践教学,培养学生实践能力

VB是一门实践性很强的课程,如果只纸上谈兵,不上机练习,是不可能真正掌握VB程序开发的。实践教学主要注意抓住以下几点:

(1)模仿阶段,对课堂核心实例系统的调试、改进。核心实例的每次增强版是全面反映教学内容的,学生通过模仿、知识再现达到在实践中领悟知识,开拓编程思路。(2)分层次阶段,在教学过程实施的开始,和核心实例同步,我就给出了几个类似核心实例的课程设计内容,供学生选择。对核心实例的调试比较成功的,可以同步实施自己所学的课程设计内容,达到培养学生分析问题和解决问题的能力。对掌握核心实例有困难的学生,针对教学内容重新布置实验,强化知识巩固。课程设计内容课后上机完成。

要掌握上面两个阶段的具体情况,教师应亲自指导,与学生一起上机实验,随时监控学生实验过程。对学生提出的问题及时予以指导,而发现学生常犯的共性错误,可在理论课上进行点评。

(四)改革考核形式,体现学生综合运用能力

考试作为教学效果的一种客观测试手段,是教学中的一个重要环节。我们根据VB的课程特点,在传统的期末闭卷笔试考核之外,增加了平时考核、实验考核和课程设计考核的内容。平时成绩占10%,期末闭卷考核成绩占40%,实验成绩占20%,课程设计成绩占30%。对于课程设计,在课程即将结束的前两周,将所有的学生分成若干小组,让各小组分别选择不同的课题来设计,例如开发一个档案管理系统、图书管理系统。实践证明,这种综合考核方法不仅检验了学生把所学知识、技能进行条理化、系统化以及综合运用的能力,而且对调动学生的学习积极性,提高学习兴趣,客观、公正地评价该门课程的教学质量和效果都起到了很好的促进作用。

二、结束语

一门课程的教学是一个复杂的系统工程,笔者将以上一些改革和探索用在课堂教学和实践教学中,取得了一些效果,但教学有法,教无定法,只要教学得法。在教学实践中,合理运用多种教学方法,灵活地、创造性地掌握教学过程,激发学生的兴趣,培养学生的创造性思维和综合应用程序开发能力。

循环小数教学设计篇4

计算思维的提出,使高中信息技术课程的教学逐渐从注重实践操作的技术素养层面上升到注重思维素养的培养层面,这就给经典算法选考的学习和疑难问题的解决提供了良好的方法论指导。笔者结合自己的教学实践,分别从理解本质确定目标、设计任务讲评归纳、合理建构变式内化与多元评价差异发展四个方面进行了探究。

理解本质并确定目标

在学习经典算法选考部分时,教师需要解决的是与本算法相关的既往存留问题和本课学习中的疑难问题。所以,在实施计算思维经典算法教学时,教师首先应回顾相关已学知识点,其常考常错点则需通过思维引领精讲总结的方式予以正本清源,让学生理解这些疑难问题的本质,清除障碍,进而明确本堂课基于计算思维的学习目标。

以经典算法冒泡排序的学习为例,学业水平考试部分知识点与本课例相关的主要有赋值语句、选择语句及多重循环,教学经验得出疑难点是多重循环的理解应用。笔者在回顾、复习语法的基础上将其结合枚举算法中的“百钱百鸡”问题(如图2),采取抽象思维形象化的方法,用连线的形式将抽象问题形象地呈现出来(如图3),让学生理解多重循环的原理本质。

分析:①当控制外循环变量gj的取值不变,且控制中循环变量mj的取值也不变时,内循环变量xj需从1依次变化到100,同时形成100组解的形式,并进行筛选判断。②当控制外循环变量gj的取值不变时,中循环mj的取值需从1变化到33,且针对每一次中循环mj的取值变化,内循环变量xj的取值均需从1变化到100,同时形成33×100组解的形式,并进行筛选判断。③外循环变量gj的取值可以从1依次变化到20,针对外循环变量每一次取值的变化,中循环变量mj的取值均需从1变化到33;同时,针对中循环变量mj取值的每一次变化,内循环变量xj的值均需从1变化到100;由此可形成20×33×100组解的形式,并进行筛选判断。

小结:中循环变动一次,内循环需变化100次;外循环变动一次,则中循环需变动33次,同时内循环需变化33个100次。学生通过连线为载体将抽象问题形象化,经由计算思维的方法过程,将多重循环的理解化难为易,达到理解问题本质的同时提升了思维能力。

学习目标是教学的核心和灵魂,围绕教学目标,才能顺利开展教学活动和评价。所以,笔者在夯实基础后,将冒泡排序算法学习的知识教学目标分解成三个具体目标:①什么是冒泡排序;②如何编写程序实现冒泡排序;③如何运用冒泡算法解决实际问题。关于什么是冒泡排序,笔者依据冒泡算法的问题本质,按照计算思维处理问题的模式,将问题界定为三个子目标:①n个数据排序实质就是寻找n-1个最值的过程;②如何找一个最值;③数据交换算法。基于这样的问题本质,分解能更好地发展学生的计算思维,把学生较难理解的算法原理转变为一个个容易理解的、已知经典的子问题。同时,这也为下一环节的算法程序的实现打下基础。

设计任务并讲评归纳

围绕学习目标,笔者根据计算思维的特点来设计任务,这里需注意两点:其一是根据学习目标,选取学生学习生活中熟悉的问题切入,设计适合培养计算思维的任务;其二是所设计任务的深度和广度要符合学生的知识水平和认知规律,方便学生运用计算思维的方法展开分析思考,进而加深对算法思维的理解和对疑难点的突破。

在本课例的任务设计方面,基于学生的认知规律,首先,笔者请学生看冒泡排序的Flas,并引导学生说出动画中所蕴含的冒泡算法原理,即“看动画,说原理”环节;接着,笔者又请一组学生头戴写有自己出生日期后两位的生日帽模拟冒泡排序Flas,进行排生日游戏,此为“演动画”环节,使枯燥的算法原理鲜活地呈现出来,加深了学生对冒泡算法的印象。为了揭示问}的本质,笔者选取了四个数据,采取小组合作分组探究的方式,将给定排序方向为从前往后和从后往前、排序结果为升序和降序,进行排列组合得到四种冒泡排序方式,对第一趟的排序结果、比较趟数、每趟比较次数以及比较交换规则分别进行探究(如上页图4)。学生通过小组合作学习,初步经历运用计算思维展开问题的分析和思考。

在对这四种冒泡方式进行小组讲评后,笔者引导学生一起对这四种冒泡方式的比较趟数、每趟比较次数以及比较交换规则进行异同总结(如图5),这为学生理解算法的多样性,进一步理解算法原理和后续的疑难点――算法程序的实现,打下了基础。

以第四组为例,师生一起详细探究归纳,旨在让学生理解冒泡算法问题的本质,即:n个数排序就是寻找n-1个最值的过程;寻找最值的过程就是从最后一个位置开始,逐个往前,相邻两个数依次比较,让最值自动冒出来;比较规则是,如果后面数大就交换两者的值(如图6)。

在这一任务教学中,笔者主要使用讨论法、启发法、归纳法等教学方法来培养学生的计算思维,从分组探究中逐步理解冒泡算法的原理过程。学生通过自主学习、小组合作探究体验计算思维的方法,在解决问题完成任务中理解问题本质及提升计算思维。教师在完成任务过程中理性严密引导,使学生变被动学习为主动学习,积极参与到课堂中来,提高了学习效率。

合理建构并变式内化

学生对一个知识点的掌握需要一个过程,对经典算法中的疑难问题理解突破就更需要不断的积累。在算法与程序设计模块的学习中,笔者常听到学生说:“老师,您讲的内容我们能听懂,但自己编程时却错误百出。”细究其原因,很大程度是重难点问题没有建构起清晰的知识结构,其次是思维强化训练不足。

就本课例而言,笔者综合教学实践及学生的反馈,得出冒泡算法程序编写的三个疑难问题:①内层for循环,如何确定循环变量的初值和终值(即确定对应数组元素的开始下标与结束下标);②到底是哪两个数在比较?③相邻两数的“”符号的确定。

基于以上所述,笔者从前往后排,以排成结果为由小到大的升序形式为例,辅以磁体数字圆盘移动来演示算法原理,通过计算思维的过程方法,逐一解决冒泡排序的三个疑难问题。

第一步:在知道外循环变量i是解决寻找n-1个最大值的基础上,提出如何找某一个最值的问题,即疑难易错点①“如何确定内层循环变量j的取值范围”。笔者引导学生思考:首先,题设要求从前往后排,排序结果为升序,不妨先不考虑怎么比较和交换,即通过第一趟排序,第一个最大值肯定要被放置在最后面;接着,第二趟,第二个最值肯定要放在后边第二位;依此类推。所以,后面数组下标每趟均需要变化一位,总结规律为n-i,同时注意到前面是不变的,即每趟寻找最值都是从第一个数据开始找,从而疑难易错点①得到了解决:内循环变量j的初值为1,终值为n-i(如图7)。

第二步:在明确内循环变量j取值范围的基础上,提出问题:到底是哪两个数在比较?笔者引导学生思考分析:既然题设排序方向为从前往后,内循环变量j的取值是从第一个数据开始往后比,规则是两两比较,这里不妨暂不考虑比较交换规则,易知是第一个数与第二个数比较,第二个数与第三个数比较,依次类推。笔者总结规律为:当前一个数据为a(j)时,后一个数据必定为a(j+1),从而疑难易错点②得到了解决。具体思路历程如图8所示。

第三步:明确哪两个数在比较,那么这两个数比较交换的规则是什么呢?也就是“”符号的判断。笔者引导学生思考分析:题设排序结果为升序,故第一趟排序是把最大数放在最后面,是找“大数”,又因为排序方向为从前往后,因此比较交换的规则为相邻两个数当前一个数比后一个数大就交换,程序表达为a(j)>a(j+1)(如图9)。

综上所述,冒泡算法程序的三个疑难问题已经得到了解决,思路清晰,学生也理解透彻。可见,计算思维提供了重新审视程序设计教学的视角,将计算思维融入到程序设计教学中将会大大提高学生分析问题、解决疑难的思维能力。

随着学生思维能力的逐渐提升,为了加深其对知识的理解,笔者承前述分组探究活动的铺垫,对四种冒泡排序方式分别研究其对应的三个疑难问题(如图10)。

至此,通过理性严密的引导,学生切身经历了基于计算思维的冒泡算法疑难问题解决过程,从中体会到一题多变及算法的多样性,进而更全面、更深入地理解了冒泡排序算法,培养了知识迁移和灵活运用的能力。推而广之,当遇到其他类似问题时,学生也可以尝试运用计算思维的方法去分析、解决问题。学生要先能准确地描述问题,并将问题按本质有逻辑地分解为若干求解步骤;再从这些步骤中抽象出本质性的操作模型,并寻求能通过计算机等工具自动处理实现的方案;最后选择一种有效方案,实现疑难问题的解决。

多元评价差异发展

教师要建立多元化的评价体系,检验学生知识的掌握程度和思维能力的水平。具体操作时,如果学生基础整体较弱,教师可以采取留白给学生填空巩固,不要求完整代码编写,但一定要学生都参与前面问题的界定、分析、解决过程,而不是直接给答案;如学生基础较好,教师可以减少引导的部分,布置任务让学生自主思考,减少编程调试时间。多元评价,一方面是教师对学生进行评价,将过程性评价与总结性评价相结合,根据学生在学习过程中的表现,利用计算思维解决问题的能力,以编程作品的好坏为评价依据,全面评估学生的信息技术知识和能力;另一方面是借助学习任务单与发展性评价表,引导学生进行自评。例如,在冒泡复习课中,教师可以从教学目标中选择体现计算思维培养的内容进行具体的教学评价设计,其发展性评价分为3个等级(如上表)。

W生自评时,就能清楚地知道自己处于哪个级别,并及时反馈给教师,这样教师就可以根据综合评价的反馈来检验教学效果,使得不同程度的学生都有所收获,达到差异发展的教学目的。

结语

循环小数教学设计篇5

关键词 教育技术学专业;循环导师制;教学模式

中图分类号:G712 文献标识码:B

文章编号:1671-489X(2016)24-0075-03

Analysis on Implementation of Teaching Model of Circular Tu-torial System//ZHAO Wei, ZHOU Chuanqiang

Abstract For the example of the educational technology specialty, we design the practice program of the circular tutorial system, analyze

the mode of operation mechanism, and interpret the thought of put-

ting the mode into practice, also put forward the measures to improve.

Key words educational technology specialty; circular tutorial sys-tem; teaching model

1 前言

循环导师制教学模式是“在‘以人为本’教育理念的指导下,在不改变传统教学模式框架的基础上,吸收传统教学模式的合理成分,汲取导师制的教育精髓,对教学内容进行弹性化设计,让学生在学习期间轮流跟随不同导师,充分吸收每个导师身上的知识、经验和情感,充分挖掘、整合、利用一切学习资源,培养知识、能力和人格全面发展的创新型人才”。循环导师制探索出一种行之有效的导师制形式,走出一条富有中国特色的导师制之路,其自身特点和优越性表明它是符合教育发展规律,适合我国国情及文化背景的,在实践中也具有可行性。

2 循环导师制教学模式的实施方案

实施时间 在低年级时,不适合实行循环导师制。一是师资支持问题。由于高校连续扩招,师资相对短缺,现今高校中师生比例大约是1:10,达不到循h导师制所要求的1:6。二是学生自身知识支持问题。低年级所安排的课程大多是公共课、专业基础课,学生对本专业知识的积累较为薄弱,也不适合跟随导师学习;而进入第三年后开始专业课程(一般要开设3~4门)的学习,在课程设置方面可以满足分组的需要。

基于以上两点考虑,建议从三年级开始实行循环导师制,进入大四逐渐减少课堂教学时间,增加课外学生自主支配的时间。

导师选聘和培训 从理论上讲,不是所有教师都可以成为导师,这就存在导师资格认定问题,认定导师资格与导师的定位息息相关。在循环导师制中,将指导学生的专业学习和学术研究作为导师最主要的职责,导师从业务教师中选取。确定导师后,还应从学校和学院两级对导师进行培训。要安排一定的时间让导师集中学习导师制的有关文件和制度规定,使导师了解自己的工作职责、工作内容、工作规程、工作目标等,并做好教学计划的安排与制订,引导导师从“教学”向“导学”转变。

学生分组 将班级的学生分成若干小组,小组人数不应太多,根据循环导师制的运行规律,以6~8人为宜。小组成员过多,导师的精力照顾不到每个学生,做不到因材施教,影响学生的充分发展。小组人数也不能过少,以免达不到小组合作学习的效果。

导师分组 将导师按专业课方向和特长分组,可以―人一组,也可以几个人组成教研组。根据具体需要,还可以从外系、外专业聘请“外援导师”。

师生双选 不同导师研究的方向和侧重点不同,学生和导师相互了解、双向选择。导师在选择学生时应了解学生的基本情况,如学习成绩、兴趣爱好等;学生在选择导师时也应该了解导师的研究方向、成果和科研课题,以便根据兴趣和需求选择导师。未能通过“双向选择”达成意向的导师与学生由所在院(系)统一协调和安排。

3 循环导师制教学模式的运行机理

以某高校教育技术学专业的一个班级(48人)为例,说明模式的运行机理。按照循环导师制的要求,担任导师的教师要思想政治素质高,学术功底扎实,社会经验和教育教学经验丰富。根据这个标准,学院具备资格的教师有9人。为满足部分学生的要求,从外语系请来1名外语导师,总计10名导师。师生比1:4.5,满足循环导师制1:6的师生比要求。

教育技术学专业知识大致分4个部分:专业理论、计算机、远程教育、影视制作。专业理论方面包括教育技术导论、教学系统设计、教育技术研究方法、信息技术课程教学法等;计算机方面包括数据库技术与应用、多媒体课件制作、Flas、三维动画等;影视制作方面包括数字影像技术与艺术、音频技术、电视教材编导与制作等;远程教育方面包括网络技术基础、网络程序设计、网络工程、网络资源建设、远程教育等。将学生按兴趣分成8组,每组约6人。通过师生双向选择和学院调配,确定导师和学生的指导―学习关系。

课时压缩 现实教学中,每门专业课程一般要72课时,每学期上课18周,即每周4课时。在循环导师制中根据具体情况,可有两种课程时间压缩方案供选择。如表1所示,第一种方案适合于动手能力要求高的课程,第二种方案适合于理论逻辑严谨的课程。

根据压缩方案,像Flas、多媒体课件制作等方面动手能力要求高的课程可由72学时压缩到36学时,甚至更少;而像教学设计、教育技术学研究方法等理论性强的课程,可由72学时压缩到54学时。各科教师在教学过程中积累了丰富的教学经验,具体的压缩方案可根据学生的教学需求和掌握程度对课程进行精简、压缩和整合。在循环导师制教学模式下,就是利用课外时间进行导师的循环,以满足教师因材施教的需要和学生个性化学习的需求。

模式运行 循环导师制教学模式是多门课程同时参与运行的运作方式。在模型运行时不必将10名导师一次都投入模型中,可以从中选出8名导师参加,以便实现一名导师指导一个学习小组。如图1所示,模型中包括外系聘来的外语导师、2名专业理论导师、2名计算机导师、1名远程教育导师、2名影视制作导师。经过一段时间后(比如3~5周,要根据学生的学习情况合理安排),按照图1中箭头DS方向再次分组,进行下一轮学习,其余导师也可以随时加入模型中,使每个学生都有机会得到不同导师的指导,让模式运行起来。

操作要领

1)时间安排。在循环导师制的具体实施中,时间安排可以根据实际情况进行合理调整。比如:计算机方面一些基础应用软件课程仅需要2~3周就可以基本掌握,而教学设计等理论课程则需较长时间才能掌握,可根据小组成员的学习情况调整教学时间,控制教学进度。

2)课程安排。为了在有限时间内全面和更合理发展,学生在课程选择方面也可以进行调整。比如:学生在外语方面能力差距很大,水平较高的学生可以不选;计算机方面的学习内容覆盖面广,各种多媒体应用软件更是数不胜数,学生不可能面面俱到,可以根据自己的兴趣进行选择,一些自学能力强的学生在有些课程上就没有必要跟随导师学习。

3)补救措施。由于各学习小组时间安排和课程选择安排方面的调整,可能会出现“循环落空”现象,可采取两种措施弥补:一是启用备用导师;二是使用外语学习和计算机学习作为内部调整工具,使模型运行更加合理、完美。

通过循环导师制的实施,学生可在3个多学期的时间内依次跟随多个导师学习,充分吸收导师们的特长,使自身得到充分发展,而在四年级下学期主要完成综合能力培养以及毕业论文等。在学习过程中,学生如果发现自己对某门课程有很浓的兴趣,并且想深入研究,课后可以找导师接受一对一的指导,使自身得到更充分的提高。

4 循环导师制教学模式的完善措施

统一对导师工作的认识 一种新生事物要落到实处,首先要在思想上达成共识。无论是学校各级I导、教师,还是学生,都应该认识到创新教学模式对学生培养的重要性。高校要转变传统的教育思想和教育观念,调动每一位教师参与教学改革的积极性。教师应该认识到“教书”和“育人”是两个不可分割的方面,真正承担起“传道、授业、解惑”的职责,并自觉强化“素质”意识,不断提高自身素质,以适应新时期人才培养对教师素质的要求。学生应该主动参与,积极地与导师交流、沟通,师生之间保持良好的互动。

保持一定的经费投入 实行循环导师制是为了培养学生的创新思维能力,促进个性发展,拓展专业视野,提高实践水平,产生学习成果。导师指导学生做科研或进行社会实践等科技活动,都需要物质条件的保证。因此,导师和所在院、系应根据现有条件开展教学,并从实际需要出发适当添置科研仪器设备,落实一定的研究经费。学校也应在经费和物质方面给予支持,以保证循环导师制教学模式顺利有效地实施。

建立完善的规章制度 良好的制度是顺利实施循环导师制的前提。因此,为使循环导师制在实施过程中有章可循,学校应该完善循环导师制的各项规章制度,明确导师的责、权、利,主要包括导师的任职条件、导师的选择(分派)办法、导师的更换办法、导师的责任与权利,以及如何评价导师的工作和导师的组织管理等形成良好的运行机制。

构建与循环导师制相适应的育人机制和成才途径 建立循环导师制,要改革教学方法,变“注入式”“满堂灌”为“启发式”,激发学生的创新思维和提高创新能力;要设计教学计划和课程结构,促使学生形成合理的知识体系和能力结构;要加强学生的课外科技活动,让学生多动手、多实践,在实践中感受科研氛围,提高学生的创新意识,建立适合于循环导师制的育人机制。并充分利用学校一切有利学生成才的资源,最大限度地促进学生成才(如资助学生科研课题申报,延长计算机房、图书馆、专业实验室对学生的开放时间等),构建与循环导师制相适应的成才途径等。

5 结语

循环导师制教学模式可以在高校普遍推广,不仅适应于专业教学的改革,而且适应于某一课程体系或某一课程的教学改革,在具体实施时应结合实施条件、师资资源、学科特点、社会需求等方面综合考虑。循环导师制弥补了课堂教学的不足,加强教书育人的实效,有利于培养全面发展的高等教育人才,切实提高人才培养质量。它在兼具“导师制”特点的基础上增加了“循环”的特色,充分挖掘利用学习资源,集纳融合多元教学模式,提高学生整体素质,是高等教育教学改革的一种有益尝试和制度创新。

参考文献

[1]常丽丽,杜智萍.牛津大学导师制对我国本科教学改革的启示[J].教育理论与实践,2014(9):10.

[2]张凌,袁小量.高等教育本科生导师制实施模式研究[J].中国校外教育:理论,2008(S1):1036.

[3]黄宇元.推行本科生导师制理论与实践研究[J].轻工科技,2013(11):163-164.

循环小数教学设计篇6

关键词:算法实现;图形计算计算器;算理;算法比较

我们知道,算法是指为解决问题而实施有穷操作过程的描述,更是一种便于机械化的重复迭代,学习算法需要学习程式化的过程,因此,“算法思想已经成为现代人应具备的一种数学素养”.其中算法分析和算法实现是两个重要步骤,没有算法分析,我们无从检验算法设计的正确性;离开算法实现,我们的算法学习只能停留于“纸上谈兵”阶段. 事实上,算法设计的优劣需要上机检验,算法设计的改进需要调试修正,更重要的是让学生在计算机上实现问题解决的同时经历一个由不那么精确、不那么完整到比较精确、比较完善的发展过程,使“算法”不仅是宣布某个结果,而且也是学生主动建构的结果,因此算法教学应提倡算法化.

虽然从理论上讲算法教学离不开算法实现,但应用实际却停留于“纸上谈兵”,究其原因还在于伪代码表示的算法不能被计算机所“接受”,虽然几何画板、Excel也能实现算法,但却颇费周折. 作为一种集数值计算、函数图象显示、编程、数据分析等功能于一身的手持式信息技术,图形计算器无疑为算法实现提供了一条捷径. 以Casio fx-CG20为例,借助其自带的【程序】模块,可以轻松实现“提出问题建立模型设计算法编写程序计算器调试”的算法教学全过程.

计算器语法与伪代码的转换

通常教材中描述算法用的是伪代码,虽然方便表达,但却有着不可执行性,为方便起见,我们将图形计算器语法与伪代码的表达比较如表1.

循环结构的算法实现

我们知道,算法的价值在于机械化(为计算机所能执行)的重复执行,因此循环结构是算法的重点和核心. 循环结构的构造关键在于:循环体的形成、相应循环变量的赋值以及循环结构的控制(包括循环的执行和终止),也就是说“从什么地方开始”,“反复做什么”,“在什么条件下结束”.

例1 设计一个算法,计算100以内被3除余1的所有正数的和.

【算法分析】 符合条件的数为1、4、7、…、100共34个数,本题就是求这34个数的和,即从1开始,反复累加比前一数大3的数,直加到第34个数为止. 循环次数确定时一般考虑用For循环设计程序,可考虑用累加变量S(初始值设定为0)来接受结果,从而循环体中的赋值语句S+IS(其中I为计数变量,I的值分别对应1,4,7,…,100). 具体程序如图1所示.

图1

【算法释疑】 For循环结构比较简单,往往通过计数变量来控制循环结构(本题中I为循环控制变量),其中“1I”为对循环控制变量赋初值,“Step3”相当于语句“I+3I”,而“To 100”则表示循环的结束,相当于While循环中的“While I≤100”,图1的程序如果改写成While循环则程序如图2所示.

图2

例2 设计求满足条件12+22+32+…+n2>102的最小正整数的算法.

【算法分析】 由于n的值事先不知道(也就是说循环次数不确定),我们只能通过试错的方法,用从1开始反复累加比前一个数大1的数的平方,然后将和与105作大小比较,直到和大于105为止,一般情况下这样的算法我们采用WHILE循环(设置累加变量S、计数变量n)来实现,伪代码程序如图3所示,计算器实现如图4“所示”.

图4

计算器中的算法比较

在计算器中虽然可以较轻松地实现算法,但在算计设计过程中我们常常会出现循环体语句倒置的问题,如例2中我们就容易出现语句40和语句50对调的情况,这样执行图5的程序产生的结果(执行结果为68)却和图5的结果(执行结果为67)相迥异,于是摆在我们面前的问题就是哪一个算法正确,如何修正算法?

图5

解决问题需要追踪每一次循环执行后算法变量值的变化,手工操作显然不易,一个可行的思路将变量值输出到【统计】模块中,通过列表的方式将数据“看得见”. 具体操作是在程序中插入两段语句(如图6和图7中标注部分),语句的含义是把变量的结果按顺序输出到表格的第1、2、3、4列中. 然后切换到【统计】模块,可以发现1~4列均有数值输入,拨动BN键仔细观察列首(图8)列尾(图9),可以看出程序“I”中变量N、S的赋值有一定的错位(见图中标注部分),从算法分析可以看出,程序5需要做一定的调整(或者循环前变量N的初值赋值变更为“1N”,或者循环后增加语句“N-1N”). 更进一步的思考是程序4是先递进后累加,而程序5则是先累加后递进,从而可以看出需要重视循环体中语句的顺序,分析算法往往需要追踪循环的前面两步和最后两步.

图8

图9

利用图形计算器在不同模块的关联性,我们可以实现循环变量的追踪,其实我们还可以将算法中的结果可视化.

例3 随机模拟法估算圆周率的算法实现.

进入【程序】模块,输入图10所示的程序命令,其中第2行到第4行的语句是画正方形、画圆语句,此外“Read Plot A,B”是描点语句;按F1执行后,可得到图11所示的结果.

通过图文并茂的展示,我们不但可以帮助学生确信结果,更可以将注意力放在算法原理的剖析上:程序中数值A、B为0~1之间的随机数,这样构成的点(A,B)一定落在单位正方形内,而通过条件判断可以考察点(A,B)是否在圆(x-0.5)2+(y-0.5)2= 内,在圆内则统计,不在圆内则不统计;如果总共产生N个随机点,而落在圆内的有K个点,这样有概率计算公式 ≈ ,即π≈ .

循环小数教学设计篇7

笔者以为产生这种情况的根本原因是学生的学习动机不足。很多教师专注于教学方法的优化和教学设计的推陈出新,却忽略了对学生学习动机的研究。高中的算法与程序设计教学需要学生积极主动的思考,培养学生的抽象思维,进行知识的建构。学生在没有明确为什么学习算法与程序设计,没有切身体验到学习内容对自己的学习和生活有什么帮助的情况下,他们的学习只能是被动地学习。而缺乏了学生积极主动的参与,无论教师如何改进教学方法,教学的效果必然大打折扣。

ARCS动机设计模式是由美国南佛罗里达大学的心理学教授J.M.Keller提出的。这一模式认为,影响学生学习动机的因素有四类:注意(attention)、切身性(relevance)、自信心(confidence)、满足感(satisfaction)。因此,教师在进行教学设计的同时,还应该进行适当的动机设计,即针对学生群体的动机状况和教学内容的特点设计相应的动机策略,设法使教学过程能够引起并维持学生的注意、建立起教学与学生之间的切身性、使学生产生并维持对学习的自信心、并提供一种满意感,那么教学就能激发学生的学习动机。

笔者运用ARCS教育理论,在高中算法与程序设计教学中进行了实践研究。以激发学生的学习动机,促进学生主动学习为目标,在研究过程中不断改进和优化我校的算法与程序设计课程。

一、注意策略

注意是学习者进行学习活动的前提条件。教学应该有效地激发学生对教学内容的好奇心。在学生产生学习兴趣的前提下有效维持学生的注意力,才能使学生主动地投入到高效率的学习中。

1.唤起感知,使学生产生学习兴趣

对于高中学生而言,算法和程序设计不仅是一门全新的课程,更是一个全新的学习领域。学生必然会产生“我为什么要学,学了有什么用”之类的疑问。这样的疑问,并非开展教学活动的绊脚石。相反,如果很好解决这样的疑问,帮助学生看到学习算法和程序设计的美好前景,反而会有效地激发学生的学习兴趣,成为学生主动学习的助推器。

以“验证歌德巴赫猜想”作为课题引入,开始算法和程序设计课程第一节课的教学。方案如下:

(1)连续设问:“大家了解数学皇冠上璀璨的明珠――歌德巴赫猜想吗?”、“根据歌德巴赫猜想,偶数8可以是哪两个质数的和呢?”。大多数学生对于歌德巴赫猜想是耳熟能详的。所以,很容易就回答了以上两个问题。

(2)继续提问:“大家有没有办法算出2388是哪两个质数的和呢?”学生开始拿出草稿纸进行计算。由于缺少正确的算法,他们的计算更多的是在碰运气地凑两个质数。题目的复杂让大多数学生在一段徒劳无功地尝试后选择了放弃。

(3)程序演示:教师运行设计好的程序,在瞬间算出了正确的解答:1187+1201=2388。学生中一下子炸开了锅。有的学生在赞叹:“太给力了!”有的学生迫不及待地问:“老师,快告诉我们怎么编这个程序吧!”。

(4)教师引导:现在讲解这个程序,大家理解上会有一些难度。但是,在大家学习了程序设计的知识和算法的思想后,我确信每个同学都能编写这样的程序。

2.唤起探究,启发积极的思考

教学中提出一些在学生认知最近发展区内的难题,虽然学生现阶段无法独立解决,却能够有效唤起学生的探究活动,启发积极的思考。而对这些问题的求解,可以是我们进行下一阶段教学的“剂”。

在学生掌握分支结构的基础上,提出分支结构无法解决的难题,然后提出循环结构并有效解决难题。这不仅使新教学内容的引入自然顺畅,也让学生充分了解了循环结构的用途和适用范围。

3.多变的教学,维持学生的注意力

随着教学过程的开展,学生的学习兴趣和热情会逐渐地消退,注意力也会开始分散。教师可以通过教育形式和教学媒体的改变,或是教师本人的肢体语言,或是表达风格的切换(幽默-严肃、大声-轻声等)以保持学生的注意力。

从教育心理学的角度看,有意义、有变化的教学内容更容易保持学生的注意力。

在讲解符号“+”在字符中的连接作用时,笔者按照常规举了个例子。A=“a”;B=“b”;C=A+B,所以,C的值是“ab”;D=B+A,所以,D的值是“ba”。学生的反应冷淡,自己也觉得索然无味。

于是在下一节课的教学中,笔者更换了举例的内容。A=“开”;B=“放”;C=A+B,所以,C的值是“开放”;D=B+A,所以,D的值是什么呢?教学到这步,学生已经抢着回答了“放开”。很多学生在这个时刻发出了会心的笑声。

二、切身性策略

通过解决与学生切身相关的问题,使学生认识到算法与程序设计的学习与自己的学习和生活密切相关,与过去的经验和以前学习的知识相互关联。

1.明确学习目的

明确学习的目的并取得学生的认同,对提高学习的主动性和保持学生的注意力至关重要。通过设计评委打分程序,并实际应用于社团评比活动中,使学生明确学习算法与程序设计有助于解决生活中的实际问题。通过一题多解,使学生感受到学习促进了自己创新思维的培养,思维的广度和深度获得了提升。类似的教学既突显了算法与程序设计教学的特点,也让学生切身感受到自身能力的提升。

2.“熟悉性”的利用

利用学生经验中熟悉的东西进行教学,从学生已有的生活经验和知识体系出发开展教学,能有效降低学生参与新的教学活动的陌生感,提升学习的热情。

在讲解逻辑表达式的运算规则中,采用学生比较熟悉的单科奖学金和综合奖学金进行举例。

条件1:语文成绩超过90分。条件2:数学成绩超过90分。

P1(单科奖学金)的规则:只要有一门课超过90分。

P2(综合奖学金)的规则:必须两门课都超过90分。

由于以上规则是建立在学生熟知的基础上,在下面学习逻辑运算符“AND”和“OR”的运算规则时,学生的学习显得非常的顺利。

在教师进行了必要的引导后,大部分的答案学生都可以自己推导出来了。

3.构建学习共同体,丰富学习体验

算法与程序设计要消除学生个人封闭学习的“偏见”,要挖掘共同学习的学习内容,形成浓烈的学习氛围。

在模块化程序设计教学中,笔者引导学生将设计评委打分程序的问题分解成四个模块,并由四个小组各自完成一个模块的求解。

第1小组:输入8个评委的分数,并保存在数组a。

第2小组:根据数组中的分数,计算最高分,保存在max变量中。

第3小组:根据数组中的分数,计算最低分。保存在min变量中。

第4小组:根据数组中的分数,计算总分,保存在sum变量中。

当四个小组分别完成各自的任务后,计算平均分的工作就显而易见了。学生利用(sum-max-min)/6就求出

了平均分。

以上教学让学生依靠集体的力量完成了工作量相对较大的任务,体验了分工与合作的过程,也加深了对模块化程序设计思想的认识。

4.符合思维习惯,帮助学生进行知识建构

算法与程序设计的很多思想对学生而言是全新的,是对常规的顺序式的思维方式的突破。在教学中需要从学生已有的思维习惯入手,强调教学过程的循序渐进,帮助学生进行知识的建构。

在引入循环结构教学时,笔者采用了计算6个班级的捐款总额的例子。

学生固有的思维方式是顺序式的依次累加。特别是学生习惯于将6个数字在草稿纸上全部记下来以后,然后计算总额。为此,笔者故意设置障碍,要求不得使用草稿纸。这样学生不得不采用记住一个数值,和已有的总额累加,再获取一个数值,再和已有的总额累加的方法。这样,学生的计算方法就符合了计算机利用循环结构进行累加求和的方法,体验到了循环体“输入一个值,累加求和”反复执行的过程。

在此基础上,笔者引导学生总结循环体“输入一个值,累加求和”,分析循环次数,得出循环的结束条件,并确定循环变量的初值。与此同步,笔者在黑板上将上述的引导过程通过流程图逐步勾勒出循环结构解决上述问题的过程,实现对知识的逐步建构。

三、自信策略

通过学习算法与程序设计。逐步解决从前无法解决的问题,掌握解决问题的方法,体验到自身能力的提高,帮助学生在学习中树立自信。提升学生的自信,是教学活动的目标。在教学过程中获得的自信,也有助于学生在下一阶段的学习中主动的投入。

1.强化学生成功源于努力的信念

在“验证歌德巴赫猜想”的课题中,可以通过以下问题的设置。“如果n为偶数,a和b为所求的两个质数,在确定a的值以后,b的值如何确定?”、“确定了b=n-a以后,分析a的取值范围?”、“当a从2到n/2逐步取值时,b的值在如何变化?”、“如何验证a是否为质数?”、“如何验证a和b同为质数?”,“当a和b不同为质数时,a和b如何取值,逐步缩小取值范围?”、“循环的结束条件是什么?”。最终学生得出a从2到n/2逐步取值,b始终取值为n-a,当a和b同为质数时就得到了正确的答案。让学生充分发挥学习的主动性,在不断求解新问题的过程中获取知识,在一步步的成功中看到自身能力的提升,从而增强学习的兴趣和信心。教师对学生的每一份努力、每一次进步,应给予及时而适当的表扬,激发学生积极的学习心态。

2.培养创新思维,强化自信

通过一题多解等方式,突破常规思维方式,培养学生的创新意识和创造能力,强化学习的自信心。

在学习交换两个变量的值时,教师先讲解常规的解题方法。然后提出不用中间变量,引导学生思考更高效的解题方法。

四、满足感策略

在教学中教师应组织强化,帮助学生达到自己的学习期望,使学生从学习中获得满足。而这份从学习中获得的满足感必将转化为进一步主动学习的动力。

1.内部强化

在评委打分程序的教学中,如果只是简单地实现总分除以人数得出平均分是不能真正让学生满意的。经验告诉他们实际比赛中使用的评委打分程序并非如此。这里需要引入最值问题的求解。只有让学生掌握了求解最大值和最小值的方法,并在此基础上实现了“计算总分,去掉一个最高分,去掉一个最低分,最后得出平均分”这一符合实际应用的方法后,他们才会略感满足。

在和实际应用的比较中,学生又会发现程序新的不足。刚才设计的程序只能实现多个评委对一个学生的打分。对该学生的打分完成后,程序就结束了。显然现实中并非如此。这里又需要引入双重循环的概念,使用外部循环处理多个学生,使用内部循环实现多个评委对一个学生的打分。

在与现实应用的不断比较中,学生不断地发现现有程序的不足。通过进一步深入地学习,他们不仅拓宽了自己的知识面,更对自己的程序更具实用价值感到满意。

意识到自己的程序具有使用价值以后,学生总是希望尽可能地在实际生活中使用它。学校的社团评比提供了应用评委打分程序的舞台。教师帮助解决了电脑和投影设备等环境的布置。学生则对程序运行界面作了进一步的美化,在得出一个相对较高的得分时,程序还会发出惊叹的拟人声音。使用电脑程序进行评委打分的过程是令人满意的。这不仅提高了评委打分的效率,也让设计程序的学生获得了成就感。

教学中提供给学生真实的问题解决环境,让他们应用已有知识解决实际问题。在此过程中,让每一位学生充分发表自己的见解,积极鼓励学生大胆尝试并提供必要的引导和帮助。当这些大胆的尝试取得积极的成果,并且符合学生的预期时,学生的学习动机就会被激发,维持在一个较高的水平上。

2.注重方法教学,提升学习效率

帮助学生提炼解题方法,让学生感受到自己学习的不是解决某个问题的步骤,而是解决一类问题的方法。这不仅有助于学生知识迁移能力的培养,更能帮助学生提升学习的效率。

通过例题“求65+90+10+35+75的和s”学习了累加求和的方法后,给出相似的题目“求s=1+2+3+……+n的值,其中n由键盘输入”。学生发现这个问题的求解仍然是累加求和的方法,只是循环的次数不是事先确定的,而是在程序执行过程中由键盘输入的。这时给出进一步的题目“求s=2+4+6+……+n的值,其中n为偶数,由键盘输入。”学生会发现这个题目的求解也是累加求和的方法,只是在上一题的解题基础上增加了“循环变量的值每次增加2”的变化。通过相似题目的类比和思考的逐步深入,学习累加求和方法的适用范围。

笔者将ARCS动机设计模式运用于高中算法与程序设计教学,在高一年级的算法与程序设计教学中进行了5个月的实践。实施策略前后,在实验班和对照班的学生中分别进行了“高中算法与程序设计学习动机调查问卷”的调查。通过对5个月前后的调查结果和学业绩效的分析、比较,发现学生的学习动机、情感反应和学业绩效均有一定程度的提高。

循环小数教学设计篇8

关键词:任务驱动 信息学奥林匹克竞赛 自主学习

“任务驱动”教学法是一种建立在建构主义教学理论基础上的教学法,倡导以“学”为中心的教学理念,围绕“真实任务”组织教学。其特点是教师通过巧妙设计的使用信息技术完成的工作任务,将要传授的信息技术知识和技能蕴涵于任务之中,使学生在完成任务过程中达到掌握所学知识与技能的目的。

一、创设问题情景,精心设计任务

信息学奥赛活动活动主要涉及的是程序设计教学。这不是让学生依赖现成的应用软件(除了程序设计的环境),而要独立地分析问题,找出算法,编制程序,解决问题。

为了使“任务”设计的具有明确性、趣味性和可操作性,创设问题情景显得十分必要。因为学是和一定的“情境”相联系的,在“情境”的作用下那些生动直观的形象会激发学生的联想,唤起学生认知结构中有关的知识与经验。当有用的知识镶嵌在相关或“真实”的情境中,知识的获得就不再是抽象的了。在创设问题情境时,合理选择问题是关键,所选的问题应当唤起学生认知结构中原有的知识,激发学生思考的积极性。

循环结构程序设计是程序语言教学中的一个难点,如果循环结构程序设计没有很好掌握,学生就很难继续深入学习。为了引入循环程序,笔者设计了这样一个与当前学习主题密切相关的任务作为学习的中心内容:“编程在屏幕上输出五行,每行输出一个‘*’”。学生马上回答编写五行“write(‘*’)”语句就可以实现。又问:“如果输出1000行?程序应该怎么编?”学生接着回答编写1000行“write(‘*’)”就可以实现。继续追问:“1000行写得麻烦吗?数得清楚吗?”学生马上意识到这在做重复劳动,其实就是一条“write(‘*’)”语句循环几次的问题。此时就可以适时地提出循环结构程序设计的意义以及概念。

这里创设“问题情景”,让学生真正理解了引入循环结构程序设计的意义,同时也激发了学生学习循环结构程序设计的兴趣。

二、启发教学,引导学生自主学习

当教师将学生引入问题情景提出学习任务之后,学生会感觉到没有足够的知识、技能和能力,去完成面临的任务。我在引导学生理解循环结构程序设计概念和了解动态规划思想的任务后,便组织学生自主学习循环结构程序设计的相关语法和高效动态规划程序的基本思想以及设计方法。由此可见,自主学习与面临任务有着很强地关联性,显然“任务驱动”是关键。学生只有在任务的驱动下,通过学习新教学内容来获得完成任务所需的知识、技能,然后才能完成这个任务。在整个教学过程中,我在努力准确把握课的重点和难点,寻找新旧知识的衔接,对知识要点进行精讲。在讲解时,我总是要把问题作为教学的出发点,适时设问并解答问题,并不失时机地把分析解决问题的主动权交给学生,充分发挥学生的主体作用,教师又扮演组织者、指导者的角色。学生的学习有很大的自主空间,面对问题的出现,形成对问题的解释,提出各种假设,以致解决问题。学生由被动接受转变为主动求知,实现着师生之间、生生之间的多边立体化的互动求知过程。

三、双向互动,合作学习

合作学习是将两个或两个以上的个体组织在一起,为进行某项主题学习活动而互相合作、共享资源、共同完成目标的一种学习方式。

程序设计的教学原则之一就是合作性原则,教与学是双向互动的过程。自主学习并不意味着固步自封的闭门造车。我在教学中总是要求学生在发挥主动性的同时,又能融入和谐友好的协作氛围中。

我一般以2~4人组成一个异质小组,并保持相对稳定。人数太多会给小组活动带来诸多不便。合作小组规模小可以保证小组成员都能参与到达成小组目标的过程。小组成员尽量是一个班的同学,并坐在一起,以便他们能有更多时间,更好地进行合作学习。

我的目标是让参与活动的学生从竞争关系和独立关系。开始学生之间总是你做你的,我的,程序和算法互相保密,彼此津津乐道于对方的失败和自己的成功。后来,在完成“任务”的过程中通过研讨算法、集中编程、互测数据等互相合作的方式完成学习任务,渐渐地走向合作。

起先是小组成员各自编写自己的程序;然后组织小组合作学习,小组成员各自设计测试数据,互测程序,完善各自程序,接着进行相互合作与交流相互提出建议,取长补短,不断提高;最后,各小组汇报本小组的设计成果,大家对其进行评价和总结。

在合作学习活动过程中,我把大部分时间用于观察合作学习小组的学生情况。通过观察,了解学生在干什么,有什么不理解,遇到了什么问题和困难,有时我也会适时地介入活动,引导小组合作,通过共同思考、研讨算法、互测数据等合作的方式完成学习任务。

四、分析与思考

通过一段时间的程序设计教学的实践,反复完善任务驱动教学的各个环节。在“任务驱动”的整个过程中,学生不断地被激发求知欲望,培养了勇于探索、敢于开拓进取的自学能力,学生分析问题、解决问题的能力得到了真正的提高。笔者指导的学生在近几年全国信息学奥林匹克联赛中,取得了优异的成绩,在温州地区独占鳌头,今年就有一名学生以满分的成绩取得了全国联赛一等奖。

在我从事的信息学奥赛活动指导中,通过完成“任务”,学习和掌握程序设计的技能和技巧,以及各种算法的思想。这种以“任务”为中心的教学环境有利于调动学生的学习主动性和积极性。

传统教学中,教师总是把问题和解决问题的方法“搬”给学生,学生只是依样画葫芦,没有机会思考、探索,有了问题也不能即使反馈。只有教师把“任务”交给学生,让他们自主完成,教师只以咨询者和引路人的姿态出现,这特别有利于学生技能技巧的形成。

在可以预见的将来,传统意义上的“教师”可能将退出历史的舞台,学生将借助网络随时获取知识和技能,这种全新的电子学习方式已经被一些国际大公司所采用。这种学习应用到学生,应用到教室,我相信只是时间问题。它将完全改变传统的学习方式,让每个学习者都把学习当作一种富有乐趣的享受。今天,我们就要为此做好心理上和方法上的准备。

参考文献:

[1]庞维国.自主学习――学与教的原理和策略.华东师大出版社.

[2]莱斯利•P•斯持弗,杰里•盖尔.教育中的建构主义.华东师大出版社.

[3]郑铭钧.中小学信息技术课程任务驱动模式的实践与研究.

[4]王吉庆.信息技术课程与教学论.浙江教育出版社.

上一篇:服装店创业计划书范文 下一篇:对学校的建议范文