设为首页收藏本站优领域

优领域

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
优领域 优领域 IT领域 编程开发 C语言 查看内容

《C 语言程序设计》教学模式 的研究与探索

2015-3-19 16:22| 发布者: dzly| 查看: 656| 评论: 0

摘要: C 程序设计是一门具有很强的实 践性的课程,为了提高学生的动手能 力,增进学习的效果,本文提出了案 例教学法、任务驱动教学法两种比较 先进并且适用于C 语言这样的偏向于 实践的课程。文中分别介绍了两种教 学模式、对二者进行了比较,并详细 说明了如何实施,这将在程序设计实 践中取得良好的效果。
  《C 语言程序设计》是一门工科院校的基础编程课,也是一门具有很强的实践性的课程,而学这门课的目的,一方面在于为计算机专业学生学习后序的高级编程语言打基础,另一方面让非计算机专业的工科生通过C 程序编程增强逻辑思维能力。要想很好的掌握这门课程,只有通过实践教学才能把所学的理论知识理解掌握,从中体会程序设计编程规律,并形成自身的编程习惯。学生在大学最重要的不是获得学历,而是能力的培养,如何把能力最大化,对教师而言,需要采用先进且适合的教学模式和教学手段来实现。而案例教学法和任务驱动法是近几年教学探索的热点,相对也更适用于编程类的课程。
  1 案例教学法与任务驱动法简介
  1.1 案例教学法简介
  案例教学法是指根据所学的知识点,以教学目标和教学内容的要求为指导,编写真实的案例。然后以案例为依托,教师组织学生进行思考、分析、讨论和总结等活动,从而让学生深刻理解课堂的教学内容,提高发现问题、分析问题和解决问题的能力。
  1.2 任务驱动法简介
  任务驱动教学法是一种建立在建构主义学习理论基础上的教学法,它转变了传统的灌输式教学,以一个个的任务为教学载体呈现给学生来实践,更具有协作性、互动性。在这种教学模式下,学生更容易积极的参与学习,这种学习一种对理论学习的验证,更是对理论转化为实践的探索。针对教师下达的任务,任何一名学生都可以通过思考,根据自身的理解来解决问题。而任务驱动法是把任务当作传授知识的主线,教师在这个过程中是作为主导者,学生是参与的主体。
  2 案例教学法与任务驱动教学法的异
  同2.1 共同之处
  学生为主要参与者:案例教学法和任务驱动教学法都是以学生为主体的,无论是对案例的分析讨论总结,还是把任务细分一一完成,学生始终处于主体地位。而教师主要是案例和任务的设计者,完成过程的组织者、指导者和激励者,还有最后完成结束后的评价者。在这两种教学方式中,学生要独立的思考、探索、创新,提高了学生自主学习的能力。
  一致的主动性:无论是案例教学还是任务驱动教学法,都避免了传统教学中教师扮演着很有学问的人,把知识灌输给学生,而学生依靠临摹来学习,在这两种模式下都需要激励他们积极性,而学习也变为探究性的学习,不再是一种知识由外到内的传递和转移的过程,学生们完全独立的来进行思考分析问题和实现创新。比起传统教学,这两种教学模式更容易激发学生的学习热情,提高学生学习的自主性。
  需要协作完成:在两种教学模式中,都需要人和人之间的相互协作。无论是教师和学生之间,还是学生们相互之间都需沟通合作、讨论分析。在案例式教学中,同学们需要讨论,达成共识,再独立完成,最后通过总结找到不足,获取经验。在任务驱动教学法中,有时候需要分组完成,就需要组员之间的协作,而要分析任务的过程中也需要大家积极互动来共同解决问题。这个过程同时也能培养同学们的团队合作的意识,增进同学之间的了解。
  2.2 异同之处
  不同的媒介:案例教学是根据知识点来设计,且符合教学目标,以具体的案例为媒介来开展教学。也就是把所学的知识点融入到案例中展示给学生,让学生去分析讨论,从而解决问题,加深对理论知识的理解和掌握。任务驱动教学法是以“任务”为媒介展开教学,它是把教学内容和教学目标设计融入综合性的任务中,让学生通过完成任务解决问题达到巩固知识和提高实践能力的目标。
  不同的侧重点:案例教学遵循案例的呈现和展示→案例的分析和讨论→案例的总结和拓展→案例教学的学习评价的过程,而案例呈现一般要一到两周后才让同学们开展讨论,同学们有自我消化的时间,偏重于独立思考和创新。而任务驱动教学法在给出任务时,更偏重于让同学们表达自身见解、聆听他人意见的沟通协作过程。另外案例教学偏重知识点和案例的对应,而任务驱动教学法不能只考虑一个单一的环节,它的任务一般是综合性的任务,完成任务时需要对任务进行分解。
  3 案例教学法与任务驱动教学法的具
  体实施3.1 案例教学法具体实施
  (1)选取和呈现案例在学习完循环语句的使用后,可以设计一个应用型的案例:输出一行文字,输出过程中变换颜色,对应的程序如下。
#include<conio.h>
void main()
{
int color;
for (color=1;color<16;color++)
{
void textcolor(int color);
cprintf("This is color %d\r\n",color);
}
textcolor(128+15);
cprintf("This is blinking\r\n");
}(2)分析和讨论案例通过案例让学生学会提出问题、思考问题、分析问题、解决问题,教师在这个过程中要引导学生,并控制整个讨论的节奏,通过讨论,这个案例主要是实现输出文字并实现文字颜色的变换,输出文字比较容易,要让文字变换颜色需要同学们拿到案例后思考并找到合适的方法,这里要用到for 语句来实现,并调用textcolor函数。在最后,可以给同学们提出的问题,textcolor 是TC 下的老函数,如果要用vc++ 或vs 平台,如何来实现,在掌握的基础上提出新的要求,让同学们能够举一反三,体会学无止境。
  (3)对案例进行总结这是选取的一个小例子,比较经典的例子有很多,目的是通过案例让同学们掌握所学的知识点,并对其进行拓展。通过选取输出文字颜色变换的例子,可以让同学们回顾循环语句中for 语句的用法,让同学们知道有一部分函数可以由自己定义,有一部分函数是系统封装好的,可以直接调用;还要让同学们知道,我们可以用不同的环境来实现,但是由于操作环境的不同,可能要做出一些小的改动,所以调试是很重要的一个环节。
  3.2 任务驱动教学法具体实施
  (1)设计任务假如让同学们设计一个柜台收银的程序,这个任务相对是一个接近生活的,真实的创设环境,这样同学们可以根据日常的了解,或者可以通过调查以后可以明确这个真实任务的执行过程,从而有所根据的编写程序。通过这种根据实际生活来编写程序,从而提高同学们的学习兴趣,可以积极主动的投入实践学习。在设计时可以根据实际情况要求同学们进行开放型或者封闭型的任务,如果较难可由几个人组成一个小组,即开放型;较容易的一般由个人独立完成。这样,不仅可以验证同学们对上课所学理论知识的掌握情况,也可以查看同学们有没有灵活运用知识、举一反三的能力。
  (2)分析任务设计并布置任务之后,可以让学生自己思考,或者通过同学们之间互相讨论,对任务进行分析,了解任务的执行顺序,各个环节之间的相互关联,从而提出解决问题的方法和策略,在任务分析的这一环节,主要是确定各个环节要素之间的关联。在分析任务的环节,也许一些关键点会漏掉,这都是正常的,就像我们列提纲一样,列出大体的,但是可能不是太全面,在操作的过程中发现后,及时补充更正即可。同时也可能会碰到从没见过的问题,这就需要老师在指导的过程中引导同学们,从而让问题得以解答。
  在柜台收银这个任务中,我们分析首先要进行密码的设置,注册登录;其次需要对商品的编号(number)和商品的价格(price)进行设置;再次只有商品的编号和价格一致时结束循环,否则一直循环下去。在这里要用到结构体、选择结构、循环结构等。
  (3)完成任务学生在做任务时,可以把总任务细化。比如在柜台收银这个程序,首先设置第一个任务:确定密码设置、商品价格、商品编号、商品数量;第二个任务:如何用编程表达商品编号与价格之间的关系,一个商品编号对应一个价格,两者对应的话又该如何处理;任务三:分组讨论。在这个任务中,教师可以给出一些建议:比如会员信息、商品信息可以设置结构体,如下所示。
typedef struct vm // 会员信息
{char id[20];// 会员账号
char key[20];// 会员密码
int sum;// 会员积分
struct vm *next;} member;struct gm// 商品信息
{int id;// 商品编号
char name[50];// 商品名称
int stock;// 商品库存
} goods[1000];登录时需密码,可以通过指针比较登录id 和密码是否和注册的一致。
  while(p){if(strcmp(p->id, id)==0 && strcmp(p-
>key, key)==0) break;else p=p->next;}
(4)评价任务评价任务的作用主要是检验完成任务的情况,并让同学们通过任务的评价,意识到自己的不足。教师应该对学生完成的任务及时的做出反馈,并且根据同学们在实践过程中出现的问题在上理论课的时候全面的指导,这样才能让同学们根据评价及指导得到进步。评价任务时可以通过学生上课的态度、完成任务的效果来进行评价,比如迟到早退、语句是否正确、语法是否规范、布局合理、思路清晰,最终是否能正常运行。
  4 总结
  案例教学法和任务驱动教学法是近年来的一个研究热点,但在国内并不成熟。对于C 程序设计这样的偏重实践的编程课,这两种教学方法都不失为比较好的方法,值得研究和借鉴。总之,要学好C程序设计,必须要实践再实践,把理论应用到实践中,才真正能体现学这门课的意义。
  【参考文献】
  [1] 石俊萍, 李必云, 刘守珍. 案例教学在C 语言课程中的实践[J],福建电脑,2014(2),207-208.
  [2] 唐方,案例教学法与任务驱动教学法的比较[J], 顺德职业技术学院学报,2011,9(4),36-37.
  [3] 丁海燕, 袁国武, 周小兵, 白孟尧. 高级语言程序设计案例教学模式的探讨[J], 计算机教育,2011(8),65-68.
  [4] 邱桂华, 袁丽. 案例教学在C++面向对象程序设计中的实现[J], 江西蓝天学院学报,2008,3(4),51-52.【作者简介】李丽亚(1981-), 女,山西阳城人,助教. 研究方向: 图形图像.__
    

网站统计|优领域|优领域 ( 粤ICP备12011853号-1 )  

GMT+8, 2019-1-17 19:12 , Processed in 0.089603 second(s), 12 queries .

Copyright © 2008-2014 优领域

回顶部