教学做一体化在C语言教学中的应用研究

2016-07-05 12:13刘卫红
关键词:数组C语言程序设计

刘卫红,李 乔

(安徽工业大学 计算机科学与技术学院,安徽 马鞍山 243002)



教学做一体化在C语言教学中的应用研究

刘卫红,李 乔

(安徽工业大学 计算机科学与技术学院,安徽 马鞍山 243002)

采用教学做一体化教学模式,将C语言课程理论和实训融为一体,在授课内容的组织上不再区分讲授和上机。该教学模式激发了学生的学习兴趣,提高了学生的应用能力。

C语言;教学做一体化;教学模式

对于计算机相关专业的学生来说,C语言程序设计是一门必修的基础课及核心课程,学好C语言,可以掌握结构化程序设计的基本方法,建立严谨的程序设计思想,提高编写、调试程序的能力及分析问题和解决问题的能力,同时也为数据结构、操作系统及其他高级语言(如C++、Java)等后续专业课程打下坚实的基础,[1]因此,绝大多数高校均将C语言作为计算机入门语言。

由于是入门语言,学生毫无计算机编程的基础和思想,通过观察发现,有的学生学习了一个学期,还不知道学习C语言有什么用,能够解决什么实际问题。这是因为,C语言涉及的概念复杂,语法细节繁多,[2]传统的“教师讲,学生听”的教学模式容易使许多初学者只见树木不见森林,从而纠结于语法细节,而忽视了需要解决的问题、实现的目标。另外,这种传统的教学模式使理论教学和实践教学分离(通常理论课程在先,上机实践课在后),在教的过程中,由于学生不能得以及时练习,而一直处于被动接受状态,缺少成就感,学习兴趣不高。如何以实际问题为导向,让学生真正的“动起来”,提高学生的兴趣和主观能动性,是C语言教学中需要解决的问题之一。

为了解决这一问题,本课程组提出并实施教学做一体化的教学方法,将课堂从传统的教室迁移到机房,将理论教学和实践教学融为一体。学生在教中学、在学中做、在做中学,最终达到教、学、做合一。

一、教学做一体化的实施流程

由于传统教学采用的是理论课程和上机实践课程分开的方法,而一体化教学要求理论教学和实践教学融为一体,这种授课方式上的差异,必然导致教学过程的不同。因此,合理安排教学过程是实施一体化教学的第一步。

在前期,教师需要根据学时划分每节课的授课内容,并制定每节课的教案。教案中包括:本节课讲授的知识点,需要讲解的案例,提供给学生练习的操作项目或题目,每个项目或题目留给学生的练习时间是多少等。

具体到每节课,其教学过程如图1所示,核心思想是以问题为导向,让学生清楚要解决的问题是什么,然后围绕该问题介绍知识点,并指导学生上机练习。具体来说,主要分为三个阶段:第一个阶段,由教师提出问题,并讲解该问题的解决思路,及用到的知识点,必要时演示操作;第二个阶段,由学生操作练习,教师检查指导;最后针对学生在做的过程中出现的典型错误进行详细讲解。这个过程是重复执行的,直到本节课结束。最后对本节课进行归纳总结。

图1 每节课的实施过程

二、教学做一体化的实施条件

为了开展教学做一体化教学,本课程组编写了教学做一体化教学模式的教材,[3]并将课堂迁移到机房,即在机房上C语言课程。机房安装了投影仪及音响等设备,在教师讲解时,和一般的多媒体教室没有区别,但在教师提出某个问题、讲完某些知识点后,教学做一体化教学模式的优点就体现出来了:学生可以立即展开练习,进行验证。若在练习过程中学生发现问题,则可以通过调试程序,改错来解决问题,通过解决问题,学生的成就感得以提升,对知识点的掌握和理解进一步加强,编程能力得到提高。与传统教学中听会的知识相比,实践出来的知识掌握更牢固,记忆时间更长久。为了避免学生在机房上课时玩游戏、上网,机房的计算机还装有相关的管理软件,教师可以通过该软件控制学生的用机,还可以给学生发送文件,学生也可以通过该软件提交课堂练习等。

通过近几年的实践发现,一体化教学模式的开展,需要满足以下几个条件:一是硬件上需要投影仪及能够进行多媒体授课的实训室,方便在教师提出问题及解决思路后学生能够及时操作练习。二是需要教师有过硬的业务知识和灵活应变的能力。这是因为,一体化教学,不论是授课内容上还是授课方式上都有较大改变,教师集理论教学和实践教学任务于一身,学生在做的过程中会发现各种各样的问题,教师应该能够及时解决这些问题。三是需要能够满足教学做一体化教学的教材,一方面方便学生在课下预习和复习,另一方面也可以让学生在课堂上有章可循。四是最好有一套能够管理学生用机的软件。这是因为在机房上课,自控能力差的学生很可能会上网、打游戏,如果有一套能够控制学生用机的软件,可以约束那些自觉性比较差的学生,教学效果会更好。

三、教学做一体化的授课内容组织

我校计算机相关专业所开设的C语言程序设计总共有96学时,以往的传统教学是这样安排学时的:讲授50学时,上机46学时,分两学期授课。近几年采用教学做一体化教学的模式,将理论和实训融为一体,在授课内容的组织上不再区分讲授和上机。由于篇幅所限,下面仅以一次课(2课时)为例,说明每节课是如何组织授课内容的。

学生已有知识:已学习过三种基本结构。

教学阶段:数组章节。

教学目标:让学生掌握一维数组、二维数组的定义和应用,理解它们在内存中的存放形式,掌握使用三种基本结构,尤其是循环结构对这两类数组进行操作的方法。

教学过程:

(1)教师提出问题:如何判断三个整数中的最大值?并通过日常生活中找最大值的过程来介绍使用计算机找最大值的几种思路。

(2)给学生10分钟的时间写程序,要求学生至少编程实现上述思路中的两种。

(3)教师检查指导学生的程序,将学生的程序进行汇总,然后,从可扩展性和操作步骤的多少两个角度来分析、比较这些方法的优劣,并从中选择一种最好的方法。

(4)教师提出问题:使用刚刚选择的最优方法,如何判断十个整数中的最大值?如何判断100个整数中的最大值?并介绍一维数组的概念、定义和引用方法。

(5)给学生5分钟的时间写程序,可以在前面的程序上修改。

(6)教师检查指导学生的程序,对发现的典型错误进行重点讲解。在此基础上,讲解一维数组在内存中的存放形式,帮助学生理解通过下标读取数组元素的本质。

(7)教师提出问题:给出一个数学上的矩阵,如何在计算机中使用一位数组存储这个矩阵中的数据,并按原样输出?

(8)给学生5分钟的时间写程序。

(9)教师检查指导学生的程序,对发现的典型错误进行重点讲解。

(10)教师提出问题:上述矩阵,能否使用二维数组来存储?同时,介绍二维数组的概念、定义和引用方法,并介绍使用二维数组输出矩阵的方法。

(11)给学生5分钟的时间写程序。

(12)教师检查指导学生的程序,介绍二维数组在内存中的存放形式,帮助学生比较分析一维数组和二维数组输出矩阵的异同。

(13)最后总结一维数组和二维数组的定义和引用、以及使用循环对这两类数组操作的特点。

需要说明的是,在学生思考问题或动手练习的过程中,有时可能无从下手,这时,需要教师加以引导。同时,可以通过提问、上台演示等方式增加与学生的互动,进一步调动学生的积极性和主动性,让学生真正的参与到课堂中来。

四、教学做一体化教学的效果

为了调查学生对授课方式是否满意,我们对任课班级进行了问卷调查。通过调查发现,86.5%的学生对授课方式是比较满意的,而不满意的学生仅占13.5%。另外,教务处网站上的网上评价显示,每年的评分均在90分以上,这从另一个方面说明,绝大部分学生对授课方式是比较满意的。

除了问卷调查,我们还对考试成绩进行了对比。对比的对象是同一个授课教师任课的班级,试卷的难易程度也是一样的。2015级学生(采用教学做一体化教学模式授课)相比2013级学生(未采用教学做一体化教学模式授课),平均分有了大幅度提高,80分以上的学生人数明显增多,这些数据都说明,对于C语言程序设计课程而言,教学做一体化教学模式在教学效果上比传统教学有较明显的提升,更加令人满意。

总之,“教学做”一体化的教学模式,为C语言程序设计课程的改革提供了新思路。从教学效果来看,该教学模式激发了学生的学习兴趣,提高了学生的应用能力。

[1]张波,雷东升. 模块化案例教学在“C语言程序设计”课程中的应用[J]. 计算机教育,2009(21):62-65.

[2]于清,吐尔根·依布拉音,阿里莆·库尔班. 算法为先的C语言教学模式探讨[J]. 计算机教育,2009(20):106-108.

[3]陈学进,王小林. C语言程序设计[M]. 北京:人民邮电出版社,2014.

(责任编辑 文双全)

Application of Integration of Teaching, Studying and Practicing in C Language Teaching

LIU Wei-hong, LI Qiao

(School of Computer Science and Technology, Anhui University of Technology, Ma'anshan 243002, Anhui, China)

Taking the integrated teaching model of teaching, studying and practicing, teachers can combine theory with practice. In detail, theory teaching and computer practice will not be distinguished in class organization. This teaching model has stimulated students’ interest in learning and improved students’ application ability.

C language; integration of teaching, studying and practicing; teaching model

2016-03-30

安徽省高等教育振兴计划重大教学改革研究项目(2013ZDJY073)

刘卫红(1980-),女,河南周口人,安徽工业大学计算机科学与技术学院讲师,硕士。

G642.0

A

1671-9247(2016)04-0060-02

猜你喜欢
数组C语言程序设计
JAVA稀疏矩阵算法
基于Visual Studio Code的C语言程序设计实践教学探索
JAVA玩转数学之二维数组排序
51单片机C语言入门方法
从细节入手,谈PLC程序设计技巧
基于C语言的计算机软件编程
Excel数组公式在林业多条件求和中的应用
高职高专院校C语言程序设计教学改革探索
寻找勾股数组的历程
PLC梯形图程序设计技巧及应用