高校非计算机专业C语言课程教学方法研究

时间:2022-10-22 07:27:28

高校非计算机专业C语言课程教学方法研究

摘 要:针对非计算机专业C语言程序设计课程的学生认知特点,结合C语言知识点多、杂、抽象等教学中遇到的问题,提出采用科学有效的教学方法调动学生学习积极性,重点论述案例驱动理论及实验教学、全方位立体化教学手段的应用及科学考核体系等几个方面的问题。

关键词:高等学校;非计算机专业;C语言;实例递进式教学

高等学校非计算机专业计算机程序设计课程是国家高等教育发展规划的必修课程,计算机程序设计的教学对于提高非计算机专业学生的计算机综合应用能力有着至关重要的作用。在计算机程序设计中,以C语言教学最为基础。C语言的知识结构体系合理、教法灵活,实用性强,这些特点都使其成为高等学校选择的课程之一。面向非计算机专业的C语言教学过程要充分发挥教师组织课程、授课方法、精品实践的积极作用,为非计算机专业学生学习C语言,培养程序设计的基本思想提供优良的方法指导,使其建立良好的程序设计习惯。

笔者以近10年的面向非计算机专业的C语言教育教学为基础,总结非计算机专业学习C语言程序设计的特点,并提出行之有效的教学方法,从而提高非计算机专业C语言教学的教学质量。

1 讲好第一堂课

许多老师都认为第一堂课最好讲,讲讲概述、讲讲课程安排,然后,开始讲课程内容。其实不然,第一堂课非常重要,它决定你是否能够与学生建立起相互信任,是否能够达成学习目标的共识,它直接决定教学质量的高低。因此,在第一节课我们要解决如下问题:第一,为什么要学习C语言?第二,C语言能教会大家什么?第三,如何学习C语言。正是这三个问题,要求任课老师精心组织好教学内容,深入了解授课对象的能力基础,做到有的放矢、准确定位。如果教师能够把每一堂课都当成第一堂课,认真组织备课,仔细琢磨实例,详细调查学生掌握情况,那么,C语言的教学环节一定会取得不错的成绩。

2 培养兴趣是第一要务

兴趣是最好的老师,尤其是面向非计算机专业的C语言教学,学生的兴趣是决定教学质量的关键。

C语言是一门成熟的、在国内外广泛使用的计算机语言。自20世纪90年代以来,C语言在我国迅速普及。作为计算机基础教育的重要课程,C语言已经形成完整的理论体系结构。但是,如果刻板地按照传统理论体系进行授课,那么,学生很难理解和接受多余知识点的教授内容,因为,学生接触到的都是一些抽象的概念、术语。大量晦涩的概念和理论会使学生失去对这门课程兴趣。因此,科学地改进教师的教学方法,从而提高学生对C语言课程的学习兴趣就成为C语言课程教学中至关重要的问题。笔者总结多年的教学经验,总结了以下3种教学方法,以便帮助学生更好的接受教学知识点,从而调动学生的学习兴趣和积极性。

第一,抽象的概念,形象地说。教师要认真研究授课对象的认知规律,采用学生容易理解的方法,深入浅出、通俗易懂地讲解基本概念[1]。例如,解释变量这一重要概念时,可以将变量比喻成一个盒

基金项目:辽宁省教育厅项目(2009A085);大连工业大学校级重点教学改革项目(JGLX1003)。

作者简介:房媛,女,讲师,研究方向为计算机科学、无线通信与网络。

子。至于这个盒子的形状和大小是由数据类型决定的,即可以存放什么数据、占用多大空间,放在什么区域是由存储类型决定的。每个盒子只可以存放一个数据,这样如果需要N个数据,则需要N个盒子。配合课件的动态演示,则能够起到是事半功倍的效果。

第二,难懂的内容,简单地说。非计算机专业的C语言的教学过程中,一定要重点突出,难点易化。教师要善于把复杂的问题简单化。例如,指针问题是本课程学习的重点和难点。可以简单地讲述:指针也是变量,里面只能存放地址。并且在具体的应用实例中不断地重复这一概念,逐步加深指针概念的理解。图形化、分层次描述问题难点也是一种十分有效的教学方法。例如,循环这部分内容,是比较抽象难于理解的内容,如for循环的执行过程,如果是for循环的嵌套就更难理解了。在教学过程中,笔者使用了非常简洁的图形化方法,如下。

一重循环图示如图1,而双重循环如图2所示,学生很容易记忆并理解,解决了原有的传统教学时学生对于流程图的记忆和理解不是十分深刻的问题。

图1 一重for循环图示 图2 双重for循环图示

第三,零散的理论,系统地说。教师要根据应用的需要,合理取舍,精选内容。让零散的知识点归纳整理成“块”。例如,常量分为整型常量,实型常量和字符型常量。这部分内容的讲述最好是放在一起,不要分开。再例如,C语言中的运算符,要尽可能的归类讲授,比较介绍各运算符的个性和通性。这样可以让学生有一个完整的、系统的知识体系,便于理解和记忆。

3 实例引导教学,任务驱动实践

1) 实例引导教学。

学生最关心的是学完C语言以后可以做什么实际的应用,这就要求教师在教学内容的设计上要精炼、要重点突出。不能只讲解这是什么,还需要讲解这能做什么,应重点培养学生利用计算机编写程序的能力和方法,而不是只注重这是数组那是指针等语法的问题。当然,如果没有一个好的C语言语法的积累,会使学生对编写程序,实现算法缺失信心,这时,教师要鼓励学生记住该记住的内容,并且在课堂上有针对性的进行强化复习与训练。

例如,在讲述printf函数的使用问题时,笔者使用了如下的实例层次递进表来控制教学内容的讲授。

表1 实例递进层次表

层次 目标 主要程序代码 主要知识点

1 打印

一排* printf(“*******”); printf函数的基本使用

2 打印两排* printf(“*******”);

printf(“*******”); printf语句不因为语句条数而对内容进行分行显示,那么应该怎么办?引出转义字符\n的用法,以及其他转义字符的使用。

3 打印

两排* printf(“*******\n”);

printf(“*******\n”); 提出新问题,能否用一个printf语句表示呢?回答可以。

4 打印

两排* printf(“*******\n*******”); 下一个问题,打印平行四边形。

通过循序渐进的实例引导,将教学的内容逐渐深入,在不断巩固基础知识的同时,也通过新的问题的提出、思考、解答来引入新的知识点。这样的教学环节设计,不仅课堂气氛活跃,学生能够积极参与,而且也使得这些被逐渐引入的新的知识点深刻烙印在学生的记忆中。逐渐的,这种模式就会被学生接受并喜欢,提高学生学习的积极性,从而能够提升非计算机专业对计算机程序课程的基本认识,并在这个过程中锻炼了学生勤于思考,主动解决问题的能力。当然,最重要的是给学生逐步的建立信心,逐步建立知识层次结构,让学生喜欢上计算及程序设计。

2) 任务驱动实践[3] 。

在实践课程的内容选择上,要精而准,切忌多而杂。实验课上,教师首先要明确实验目的,并根据实验目的要求设计出科学有效的实验任务,每节实验课都必须给出具体的任务、目标、验收标准等。学生在具体任务的驱动下,能够最大限度地利用上机实践时间,高效地完成任务。在不断完成任务的过程中,学生可以积累信心与兴趣,更重要的是积累知识与能力。

4 全方位多角度的课堂教学手段

教育教学信息化的时代已经来临,很多优秀的多媒体课件也在教学过程中起到非常重要的作用。但是在C语言的教学过程中,笔者认为,多媒体课件+程序窗口+板书+课堂提问+网络讨论+课后趣味题或专业小工具的设计,这种全方位多角度的课堂教学手段更实用、更高效。多媒体课件呈现主要的理论知识点,程序窗口主要是验证手段,也是非常重要的互动手段,而板书是教师和学生共同的思考过程。这三者综合在一起,学生能够从视觉、听

觉、感觉上得到共鸣,使学习的内容不易遗忘。

5 科学合理的考核体系

目前,大多数高校都已经使用了不同的上机考试系统。上机考试系统即满足了理论知识的考核又满足了实践能力的考核,对于本门课程的教学质量的提高有着重要的推动作用。但是,我们又不能完全依赖上机考试系统。在平时的教学过程中,应辅以课堂提问、布置作业和抓好上机实践等多种教学检测手动,不断地在平时的考核中发现学生存在的问题并及时解决。

6 结语

多年的教学实践,使我们认识到C语言程序设计是一种知识点多、杂的计算机程序设计语言,晦涩难懂,但它又是学习计算机编程的基础。鉴于这门课程对非计算机专业的学生来说,学习起来有一定的难度,我们更需要在C语言教学过程中不断改进教学方法来应对教学过程中出现的问题,降低非计算机专业学生学习的难度,培养学生的学习兴趣。通过实施教学改革,我们已在这方面取得了良好的教学效果与教学质量。

参考文献:

[1] 谭浩强. C程序设计教程[M]. 北京:清华大学出版社,2007:2-10.

[2] 张菁,于晓强. C语言程序设计[M]. 北京:中国铁道出版社,2010:78.

[3] 刘明军,韩玫瑰. C语言程序设计[M]. 北京:电子工业出版社,2007.

Research on C Programming Teaching Methods of the Non-computer Professional in University

FANG Yuan, ZHAO Xiuyan, LIU Jian, WANG Zhisen

(School of Information Science and Engineering, Dalian Polytechnic University, Dalian 116034, China)

Abstract: According to the cognitive characteristics of the non-computer professional students’ and there are many, miscellaneous and abstract knowledge points in C programming, this paper discusses the scientific and effective teaching methods to improve students’ study positivity. As key points, this paper discusses how to use cases drive theory and experiment, use all-round three-dimensional teaching methods and scientific examine system and so on.

Key words: university; non-computer professional; C programming; cases drive teaching

上一篇:学习理论指导下的操作系统原理教学 下一篇:基于项目实训的操作系统实验课