建构新型程序设计教学模式研究_第1页
建构新型程序设计教学模式研究_第2页
建构新型程序设计教学模式研究_第3页
建构新型程序设计教学模式研究_第4页
建构新型程序设计教学模式研究_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

建 构 新 型 程 序 设 计 教 学 模 式信息化环境下新型教学模式的探讨广州市贸易职业高级中学计算机科 房丽华中文摘要:很多老师在程序设计的教学中都感到困难,因为学习C语言需要较强的逻辑思维和严谨性,而现今职中的大多学生数学基础都比较差,因此教学效果都比较差,学生普遍反映程序设计太难学,没办法理解老师课堂上讲的内容。其实程序设计的入门阶段讲求的是思维模式,学生只要在老师的带领下成功越过思维的临界点,C语言乃至其它程序设计语言就会变成“纸老虎”了。教师就是要想办法帮助学生成功入门,使他们形成程序设计的思维。建构主义给我们提供了更符合学生认识规律的教学理念与方法。本文运用建构主义有关理论,结合C语言实际教学,就冒泡排序法的实现一课的教学设计的具体步骤及教学实施展开陈述。英文摘要:A lot of teachers feel difficulty in teaching program design, because it needs the stronger logical thinking and preciseness to study C language, And the most students of vocational middle schools are poorly prepared, so we cant get better results in teaching. Students generally reflect that it is too difficult to study program design, and cant understand what the teacher had taught in class. In fact program design bases on the ABC of stage, students only succeed in crossing the critical point of thinking under the leadership of teacher, C language and even other programming will be turned into the paper tiger . The teacher should try every possible means to help students to succeed elementarily, make them form the thinking of program design. Construct doctrine provides us the teaching idea and method which are more suitable for the students. This text applies the relevant theories of construct doctrine, combining actual teaching of C language, one lesson of teaching concrete step and teaching that are designed launch stating on emitting and steeping and arranging in an order the realization of the law . 关键词:建构主义情境创设信息资源共享协作学习作者简介:房丽华,女,2003年参加工作,广州市贸易职业高级中学计算机老师。连续两年辅导学生参加全国中小学生计算机作品比赛(广东赛区)的网页、动画高中组比赛,获得广州市二等奖1人次,市三等奖5人次;辅导学生参加广州市职中、中专类技能比赛网页组,获得广州市二等奖2人次。建构主义认为人的认识不是对于客观实在的被动的反映,而是主体以已有的知识经验为依托所进行的主动建构的过程。因而学习不是学习者被动地接受书本或教师所传授的现成的结论,而是学习者在一定的社会环境下,借助他人的帮助而实现的意义建构的过程。因此建构主义学习理念和建构主义学习环境相适应的教学模式则应该是以学生为中心,在整个教学过程中由教师起组织者、帮助者和促进者的作用,利用情境协作,会话等学习环境要素充分发挥学生的主动性、积极性和首创精神,转变学生的学习方式,最终达到使学生有效地实现对当前所学知识的意义建构的目的,真正强调了学生信息素养的培养。本人运用建构主义有关理论谈谈冒泡排序法的实现一课(两课时)的教学设计与具体实施。一、旧知识回顾,为知识迁移作准备 学生已基本掌握一维数组的概念、定义、数组元素的引用、数组元素之间的加减运算等知识,能够编写程序实现“用数组来处理求Fibonacci数列问题”。但学生的原有知识仅仅停留在对一维数组元素的简单引用,可以说,数组元素的顺序并没有发生变化。所以当老师提出问题:需要对一组数据进行递增/递减排序时(即改变数组原有的排列顺序),学生就显得无能力解决了。这样从悬念上吸引学生,使他们在巩固原有知识的基础上,迁移到新知识的学习作好准备。二、认知分析、确立主题建构主义强调学生是认知主体,是意义的主动建构者,但并不否定教师的指导作用,教师作为知识的先知者,自然清楚所学内容哪些是主要的,哪些是只需一般掌握的,如果脱离了这一点,学生有可能会不加区分地对所学内容完成意义建构,进而导致其知识主结构的无法确定。所以教师在进行教学设计的第一步还是要进行目标分析,指导学生确立主题。本次教学需用2个课时,安排在机房上课。课题是一道C语言编程题,题目如下:请用冒泡法对6个数排序(由小到大),这6个数分别是9,2,5,4,8,0。要求运用前段学习中学到的一维数组来解决问题。选择此题作为课例是因为它是作为一维数组的经典题,比较简单易懂,学生就是用心算都能够知道答案,自然容易提起兴趣学习。编程对大多数初学者是一个难题,有的学生对基本知识掌握得倒是不错,但一面对编程就感到束手无策,这就是所谓的没有编程思想,还没有“入门”,如果一旦入门,具备了编程思想,编程就不在话下。这两节课就是通过精解一题,以达到两个目的:1、强化一维数组部分的知识,学会“冒泡排序法”,能举一反三,触类旁通;2、帮助还未得要领的同学“入门”。进而让学生在原有知识基础上建构新的知识,形成一个更加系统的知识网络,也就是我们所说的意义建构。三、情境创设,充分利用课件情境创设,即创设与当前学习主题相关的,尽可能真实的情境。创设情境有利于学生对所学内容的意义建构。在对该题的精解上,首先要让学生明确题目的意思。在第一节课的开始就以一个简单的flash课件模拟一组学生上体育课集队,按由矮到高的顺序排列,并规定排队的规则:每次只能将相邻的两位同学进行比较,矮的排在前面。很多学生都没试过这种排队的方式,纷纷提起兴趣,按照课件游戏的规则,一步一步把队列排好。甚至有同学已经跃跃欲试,迫不及待地问老师如何用C语言程序解决排序问题。原本看似枯燥无味的C语言程序题,通过游戏的方式,一下子激活大多数学生的学习热情。学生对学习的内容有兴趣了,自然是个好的开端,但更重要的还是后面的实质性的学习。四、信息资源共享建构主义认为要让学生主动的建构知识,但并不意味着一切都要靠学生自己去解决,信息资源也并不只能让学生本人去寻找,本人认为可以来自现成的资源,如教材、辅导书,可以通过学生之间共享资源,也可以通过互联网等形式查找资料,在学生有困难的情况下,教师可以及时给以帮助。例如,在机房教师机的共享文件夹中,有老师上课的课件,自行编写的习题、作业题、考试题,网络共享软件C语言实例教程,网络共享习题经典C100等,可供学生自由查找,对不懂的知识点通过老师、同学们的帮助可以得到及时的解决。五、自主学习设计自主学习设计是整个教学设计的核心内容。学生通过自主学习以达到自身对知识的建构,教师的引导要一直贯穿于其中。在整个设计过程中,教师要想学生所想,想像学生在解决该题过程中有可能遇到的困难,老师应该怎样引导学生才能尽量避免这些困难。传统的教学方法,是由教师直接告诉学生现在应该遵循程序设计的六大步骤,第一步应该怎么做,第二步应该怎么做。建构主义不主张直接命令学生如何去做,而是在教师的引导下主动去想。要让学生知道程序设计的步骤是前人总结出来的科学的思维方法,是根据人们的正常思维活动而人为总结出来的,并不需要去死记硬背,而是在解决认知冲突过程获得知识,形成对知识的建构。“通过问题解决来学习”是建构主义教学的一条好的思路,该自主学习的方法运用于本例的步骤如下:在本课例中,要学生掌握原始数据的组成、用什么数据结构存放、算法的实现等知识。如何让学生能轻松地融入学习的气氛当中呢?首先我采用了竞赛抢答法,将学生按机位分成四组,以个人抢答的方式为小组抢分。问题1:有多少个数参加排序?组2有人抢答:有6个数,分别是9,2,5,4,8,0。(答对,组2得10分)问题2:数据确定之后,又如何存放这几个数据?组4有人抢答:使用数组。(老师:还有其他的答案吗?)组4有人补答:应该使用一维数组。(补答正确,组4得10分)问题3:这个数组的元素应定义多大?组1有人抢答:有6个数就定义6。(老师:还有其他的答案吗?)组2有人补答:我喜欢定义多大就多大,没有限制。(老师:还有其他的答案吗?)组3有人补答:其实只要定义的数值6就行了。课堂上讨论的气氛相当热烈,这时老师应该控制场面,解说正确的答案了。其实C语言规定:在定义数组时,其元素个数必须是常量;对于这道题,数组大小可以设定为6,因为有6个数;也可以设定大于6,其中数组只有前六位才参与排序,但会造成空间浪费;但绝对不能小于6,否则不能正常排序,得不到正确的答案。(组1得10分)问题4:请看书,算法的思路是什么?组3有人抢答:书本P78第三行,冒泡排序法的思路是:将相邻的两个数进行比较,把小的调到前面。(组3得10分)组2有人提问:老师,书本的例题我已经看完了,可是我还是不懂它在说什么,您可以全班解释一次整个算法步骤吗?老师:很好,下面我就详细地为大家解说这个“冒泡排序法”的算法步骤。1.冒泡排序法的思路是:将相邻的两个数进行比较,把小的调到前面。例一:9,2,5先比较9和2因为92,所以需要交换数列变成2-9-5接着比较9和5又因为95,所以需要交换数列变成2-5-9;例二:4,5,2先比较4和5因为4数列仍是4-5-2接着比较5和2因为52,所以需要交换数列变成4-2-5。总结:冒泡排序法的原理,一轮比较后,把最大的数“沉”到了最底部。2.算法的实现算法过程说明:在第一轮比较中,首先比较9和2(92),将9和2对调;第二次比较9和5(95),将9和5对调,如此共进行5次比较,得到2-5-4-8-0-9的顺序。可以看到:最大的数9已“沉底”,成为最下面的一个数,而小的数“上升”。最小的数0已向上“浮起”一个位置。在第二轮比较中,由于最大数9已经“沉底”,故只需对余下的前面5个数按上法进行比较,见图解(第二轮比较过程)。经过4次比较,得到次大的数8。第五轮比较中,由于已经把4,5,8,9四个较大数都“沉底”,故只需比较2和0两个数。将2和0对调后,得到最后结果,0-2-4-5-8-9。由以上步骤可以推知,6个数要比较5轮:在第一轮中要进行两两比较5次,即(6-1)次;在第二轮中要进行两两比较4次,即(6-2)次;在第五轮中要进行两两比较1次,即(6-5)次;总结:由该题的流程图可得知,必须使用两层循环进行编程: 若要对6个数进行排序,则共需要比较(6-1=5)轮; 即外层循环变量j,值的变化由05,因数组下标由0开始计算;写成语句则为:for(j=0;j6;j+) 在第j轮比较中,两两比较的次数应为6-j次; 即内层循环变量i,值的变化由0(6-j-1),因数组下标由0开始计算;写成语句则为:for(i=0;i6-j;i+)在程序教学上通过一系列的快速抢答法,让学生以竞赛的形式合作学习,让其主体参与,大大激发了学生的学习欲望。在初步理解“冒泡排序法”的算法后,不少同学纷纷表示要编程实现本课例。当然,以现阶段学生对程序的理解,要每一位同学都能完成编写程序是不可能的,因此,我使用“任务驱动法”,把一道题分拆成四个部分,要求每组发挥团体合作精神,完成一部分的程序段编写。图1.2任务驱动示意图教师根据知识的需要进行任务驱动,把大的复杂的知识点分成几个小点,通过提供一定的支持和引导,组织学生分组讨论,再由教师提炼、点评和概括,重新组合还原成复杂的知识点。这种教学模式使学习者所建构起来的知识更明确,更系统,整个过程学生都积极地进行了参与,不是简单地由老师灌输知识,而是在不断地思维活动中建构自己的知识经验,形成自己的见解。在整个的学习过程中,学生一直处于主动地位,让学生主动提出问题,思考问题,让学生主动去发现、去探索,从中找出解决问题的方法,教师只是从旁边加以点拨,起指导和促进的作用。六、协作环境设计设计协作学习环境的目的是为了在个人自主学习的基础上,通过小组讨论、协作,以进一步完善和深化对主题的意义建构。按照机房的四列机位,将学生分成四个小组,10人一组,每组设一组长,每组成员按第一节课的任务驱动进行讨论,将思考过程中出现的问题逐一解决,教师要询问、聆听讨论的进程,适当给学生以提示,在发现学生通过发问暴露出来的关于某个概念(或认识)的模糊或不正确之处时,应采用学生乐于接受的方式予以指出,切忌使用容易挫伤学生自尊心的词语,在此过程中,教师要善于发现每位学生发言中的积极因素(哪怕只是萌芽),并及时给以肯定和鼓励。每个组通过集体的智慧编写出程序,并在机上调试运行,如果有的组调试成功,可帮助其它组协助完成,体现组与组之间的协作精神,体现整个的互助精神。最后由组长代表组员对协作学习过程作出小结,小结的内容主要是编制程序及调试过程中遇到的问题及解决的办法。七、强化练习设计根据小组评价和自我评价的结果,应为学生设计出一套可供选择并有一定针对性的补充学习材料和强化练习。这类材料和练习应经过精心的挑选,即既要反映基本概念、基本原理又要能适应不同学生的要求,以便通过强化练习纠正原有的错误理解或片面认识,最终达到符合要求的意义建构。例如,在该堂课的例题基础上,修改题目: 请用冒泡排序法对6个数排序(由小到大),并逆序输出结果,这6个数分别是9,2,5,4,8,0。 请用冒泡排序法对6个数排序(由大到小

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论