斯金纳教学理论在程序设计课程中的应用.docVIP

斯金纳教学理论在程序设计课程中的应用.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
斯金纳教学理论在程序设计课程中的应用   摘要:本文以笔者多年的教学经验为基础,结合斯金纳的教学理论和小步子原则,探讨了这种教学理论在C语言程序设计课程中的具体应用。   关键词:斯金纳;程序教学;小步子原则;直线式程序教学模式   中图分类号:G642 文献标识码:B      1斯金纳教学理论      B?F?斯金纳是美国著名的教学心理学家。他通过动物实验建立了操作行为主义的学习理论,并据此提出了程序教学理论及其教学模式。斯金纳认为,所谓教育就是塑造行为,通过塑造来促使某种行为反应,并采取“逐步逼近法”,通过一系列逐渐接近最终行为的各种反映来塑造某种行为。为此斯金纳提出了编制程序教学的流程应遵循如下原则:积极反应原则、小步子原则、即时反馈原则、自定步调原则、低错误率原则;并提出了直线式程序教学模式。   小步子原则和直线式程序教学模式的基本思想是:将教学内容按内在的联系分解成一步一步相关的教学程序,并为此组织一系列相关的材料,将这些材料一步一步、由易到难的呈现,尽可能的减小各步之间的难度,这样前一步的学习为后一步的学习作铺垫,后一步学习在前一步学习的基础上进行。只要两个步子之间的难度相差较小,   学习者的学习过程将比较简单,学习内容也比较容易接受,并建立起自信,从而促使学生主动、积极地学习。      2教学设计      “C语言程序设计”课程是学生的第一门程序设计类课程,因此帮助学生建立程序设计的思想尤为重要。笔者在多年讲授此门课程的基础上,结合斯金纳的小步子原则和直线式程序教学模式的基本思想,设计了一些一步一步分解的案例,以下阐述其中的一个与循环相关的例子。   (1) 提出问题   利用级数和的计算公式 ,计算圆周率 。   在讲解循环时,这是一个典型的案例。在讲解了循环的基本概念后,将此题展示出来,学生初看此题,一般会觉得有点难度,无从下手。为此按照斯金纳的小步子原则和直线式程序教学的模式,先抛开此问题,转而从另一些简单的问题入手,逐步向这个问题靠拢,直至解决这个问题。   (2) 计算级数的和:1 + 2 + 3 + 4 …… + n   在提出此问题后,提示学生这就是一个单层循环,只要不断的进行累加动作,即可轻松解决,设置1个存储累加和的变量sum,并将其初始值设为0;设置1个控制循环的变量i,其值的变化过程就是级数的各个项的值1、2、…、n,循环的次数就是级数的项数,每循环1次,将循环变量i的当前值累加到和sum 中,循环结束后sum 中存放的就是级数的和。代码如下:   #include<stdio.h>    void main(void)    {   int i; /* 定义整型循环变量 */   float sum=0.0; /* 定义并初始化累加和 */   int n;   printf(n=? );   scanf(%d,n); /* 输入项数*/   for(i=1;i<=n;i++) /* 循环条件 */   {    sum = sum+i; /* 不断累加 */   }    printf(sum=%f\n ,sum); /* 输出累加和 */    }      (3) 计算级数的和:1 + 1/2 + 1/3 + 1/4 …… + 1/n   在解决了上一个问题后,及时地进行总结,以强化学分析此题,无非是将每一项i变为 1/i,即可解决,使用多媒体教学即可当堂修改程序,并运行程序,当学生看到程 序的结果(1)不正确时,及时地强化另一个概念,即类型问题,即1/i为整型,因此从第二项以后的结果为整型0,必须将其中的一个改为浮点型,如果将int i;改为float i;,则不利于循环,可将1/i改为1.0/i,即可解决,代码如下:   #include<stdio.h>    void main(void)    {   int i;/* 定义整型循环变量 */   float sum=0.0;/* 定义并初始化累加和 */   int n;   printf(n=? );   scanf(%d,n); /* 输入项数*/   for(i=1;i<=n;i++) /* 循环条件 */   {    sum = sum+1.0/i; /* 不断累加 */   }    printf(sum=%f\n ,sum);/* 输出累加和 */    }   (4) 计算级数的和:1 + 1/3 + 1/5 + 1/7 + …… + 1/n   解决了上一个问题后,再分析此题,无非是产生跳跃,即隔项累加,这也简单,将循环的步长设为2,即将循环的for(i=1;i<=n;i++)语句改为for(

文档评论(0)

heroliuguan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档