许金兰 徐岗
摘要:“C语言程序设计”是诸多高校学生接触编程的入门课程,该课程的教学效果对学生后续编程语言学习兴趣的培养起着重要作用,同时也为学生编程思想的培养打下了根基。本文对C语言教学中出现的一些问题进行了分析,提出了兴趣驱动教学,并采用案例讲解知识点的教学模式,提高了学生的学习兴趣和教学效率。
关键词:C语言;兴趣驱动;案例教学;编程思想
中图分类号:G434 文献标识码:A 论文编号:1674-2117(2018)06-0106-02
随着科技的进步和计算机的普及,社会对复合型人才的需求日益增加。在诸多高校中,计算机语言的入门课程“C语言程序设计”是专门为大一新生开设的基础课程,它对学生编程思想和编程兴趣的培养起着重要的作用,但初学者对C语言中包含的很多概念及语法结构很难理解,当然也就谈不上将所学知识应用到实践中。因此,很多学生对C语言的掌握只停留在知识表层,且对后续程序语言的学习兴趣不大,这影响了对其编程思想的整体培养。通过实践,笔者认为在C语言的教学中通过抓取学生的兴趣点驱动教学,采用相关的案例来进行知识点讲解是提高C语言教学效率的关键,同时也能够引导学生建立利用计算机解决实际问题的新思维。
近几年,随着信息技术的不断发展,单纯的被动灌输的教学模式也不断改革,越来越多的教师积极采用案例式教学方法来提高学生的学习兴趣[1,2,3],也就是让学生对案例进行自主分析,并分步解决问题。案例式教学方法在一定程度上提高了教学效率,培养了学生分析问题和解决问题的能力。然而,在为学生选择案例时,教师通常会根据自己的理解选取一些简单易懂的案例,如果这些案例和学生的兴趣点不匹配,就无法提高学生的兴趣。因此,为了取得更加显著的教学效果,教师应先对学生的兴趣展开调查,并在案例教学中将这些兴趣点融入到实际问题中,进而转化成能够采用相应C语言知识来完成的教学案例,从而在课堂教学中激发学生的学习兴趣。
目前,随着信息技术的不断发展,各种有趣的APP软件使众多学生成为手机的奴隶。那么,在C语言课堂上,如何才能让学生从手机中解放出来,更好地学习相关知识呢?笔者建议,教师可以从学生感兴趣的软件入手,对软件功能进行剖析,并嵌入C语言的相关知识点。
近期非常流行的一款手机游戏《王者荣耀》,使很多人沉迷其中,可以肯定地说,对很多学生来说,如果能自己设计一款游戏,那将是一件非常值得骄傲的事情。因此,笔者对这款游戏进行了分析,其界面上的一些操作可以采用C语言的控制语句来实现,这部分就可以用来讲解控制结构的相关知识,其进入游戏后的界面如图1所示。
用户点击不同模块封面,会进入不同的模塊中,采用“if…else”语句可以表示为:
if(click_1)
进入对战模式;
else if(click_2)
进入排位赛;
else if(click_3)
进入赏金联赛;
else if(click_4)
进入冒险模式;
其中click_i, i=1,…,4表示不同模块。如果用户进入了对战模式(如图2),同样可以选择进入对战模式后的不同模块,这时学生就会知道在C语言中可以使用if…else语句来完成这一步操作。对于这种选项有限的选择语句,教师可以引入switch…case来实现相关操作,至此学生就可以比较容易地理解选择语句的应用,并通过这两步操作将知识点简化成简单的符号选择,让学生完成相关代码,进而实现语法的教授。
游戏继续进行,会遇到游戏角色的选取,不同的角色拥有不同的技能和属性:在C语言中每一种角色类型都可以用结构体来描述,而角色的技能和属性可以表现为结构体类型的结构成员,如下面的结构体定义了一个简单的“安琪拉”角色,她是一位女性,拥有10级技能,武器是一把剑。
struct Angela
{
char sex = ‘F;
int skill = 10;
char tool[50]=”sword”;
};
通过这种方法,学生能够对相关知识快速地理解和消化,并且知识的应用领域也容易举一反三,进而产生浓厚的学习兴趣。
不同的软件包含了不同的C语言知识点,教师只要掌握了学生的兴趣所在,将其应用在C语言教学中来,就会产生很大的改变,从而显著地提高教学效率。
传统的从语法到应用的C语言教学方法会让学生感到知识点晦涩难懂,甚至有些学生会通过死记硬背编程案例的方法来记忆知识点,这不利于对学习兴趣的培养。通过实践笔者得出,通过学生兴趣来驱动对C语言知识点的理解,也就是选取学生感兴趣的案例,进行从应用到语法的逆过程讲解,会让学生对C语言学习产生浓厚的兴趣,进而取得较好的教学效果。