浅谈高职计算机语言的项目式教学

2008-07-14 10:05游小荣
电脑知识与技术 2008年18期
关键词:C语言调试计算机

摘要:本文介绍了“项目式教学”法在计算机语言教学中的应用,并以C语言程序课程教学为例,分析如何进行项目式教学。教学结果表明,“项目式教学”法在计算机语言课程中具有很好的教学效果。

关键词:项目式教学 计算机语言

中图分类号:G642文献标识码:A文章编号:1009-3044(2008)17-21ppp-0c

The Study of Project Teaching in the Computer Language for Higher Training College

YOU Xiao-rong

(Department of Info. and Tech., Changzhou Textile Garment Institute,Changzhou 213164, China)

Abstract: This paper introduces the way of "project teaching" in the application of computer language teaching, and takes the C language teaching as an example, and analyzes how to carry on the project teaching. The result indicated that the way of project teaching has the very good teaching effect in the computer language curriculum.

Key words: Project teaching; Computer language

1 引言

随着我国改革开放的进一步深入以及经济的快速发展,培养具有素质高、能直接工作在技术、研发和服务等第一线的应用型、技能型高级人才是高职教育的新课题。随着我国经济的腾飞和IT技术的快速发展,许多教学模式以及部分知识结构已经不能满足现在社会人才培养需求,导致了高职学生在就业的时候出现了“学过的不能直接上手,没有学过的更加无从入手”的困境。对于学习计算机专业的学生而言,计算机程序设计对于他们来说又是重中之重。所以,为了培养学生良好的就业技能,提高学生的岗位适应能力的角度出发,以职业需求为目标,本文着重介绍“项目式教学”法在计算机语言教学中的应用。

“项目式教学”法的原理是:学生的学习活动与大的任务或问题相结合,以探索问题来引导和维持学生的学习兴趣和动机;创建真实的教学环境,让学生带着真实的任务去学习。在这个过程中,学生拥有学习的主动权,教师不断地挑战和激励学生前进,从而使学生真正掌握所学内容,并通过此任务举一反三,得到更好的学习效果[1]。

2 计算机语言的项目式教学

由于计算机程序种类很多,这里就主要以C语言程序设计为例。下面从以下几个方面来介绍计算机语言的项目式教

学。

2.1 各种计算机语言应用领域

在计算机语言教学过程中,经常有学生存在这样的疑问,比如现在都在流行.net,为什么我们还要学习C语言,.net不是更加的实用么。在讲解计算机语言分类的时候,又有的学生问,既然用高级语言编写程序比低级语言简单,为什么还要学低级语言。为了回答学生的这些问题,我们应该首先介绍这门计算机语言在整个IT领域所处的地位或者应用范围。

比如说汇编语言一般用于直接和硬件打交道的地方,如编写驱动程序等;此外,汇编语言还用于家电的控制器编程。再比如C语言,包括黑色家电(如大屏幕电视机)、路由器、交换机等产品,这些产品的开发大都涉及到C语言编程,但如界面、Web等方面的产品开发就用的非常少。

2.2 计算机语言的开发环境

在C语言教学过程中,许多学校仍然以Turbo C作为编译环境。当学生走出学校走向工作岗位的时候发现,虽然自己过了国家二级,但是在企业却发现没有一个使用Turbo C作为C语言编译环境的,而且企业里的程序代码大多很长,如何去看程序都成问题,更不要说开发。这时候,许多企业和学生都会说,怎么学校教的内容一点实用性都没有。所以说,老师有必要对学生详细的讲述这门计算机语言当前流行的编译及开发环境。此外,软件行业流传着一句话,那就是“程序是调出来的不是看出来的”。如果学生对编译环境都不熟悉,那么谈如何精通一门计算机语言是无从谈起的。

下面以C语言为例,除了Turbo C以外,企业非常流行的编译器包括:Windows环境下有微软公司的Visual C++、.NET,Linux/Unix环境下有Gcc编译器。这些软件的一个显著特点是调试功能非常的强,项目管理方便,所以这些软件在企业得到广泛的应用。对于学生而言,他们学会的不仅仅是一种编译调试工具,而是编写软件所必须的调试技能。

2.3 项目式教学的实施

下面以C语言程序设计课程为例,介绍如何实施计算机语言的项目式教学。

2.3.1 提炼课程内容

C语言程序设计这门课的内容主要包括:常量与变量;本数据类型;表达式与运算符;程序的基本结构;输人输出;IF语句;swith语句;while语句;for语句;数组;常用算法;函数;指针;结构体;共用体。

2.3.2 项目选取

项目的选取对于项目式教学的成功与否取到决定性的作用,因此,老师必须精心设计项目。设计原则包括:

1) 项目源程序代码量适中,几千行即可。目前,开源项目在Internet上广为流程,为我们选择项目提供非常大的帮助。我们不能选择太大的项目,如LINUX操作系统的源代码。这里,本人选择Libmpeg2开源项目,项目网址为http:// libmpeg2.sourceforge.net/。

2) 项目源程序包含尽量多的知识点。我们不必去寻找具有上述15个知识点的项目,但要求尽可能的多。对于没有的,老师可以自己根据需要编写代码并加入到源程序中。

3) 项目源程序可读性强。对于选择或者自己编写的项目源程序要清晰,可读性强。

4) 项目源程序编写要规范。源程序的编写要复合软件开发通常的规范,这对学生以后养成良好的编写代码的习惯具有很大的帮助。

2.3.3 项目教学组织

1) 介绍项目。该项目功能主要完成MPEG1/MPEG2中ES、PS及TS流的解码、显示功能。其中ES流指的是经过压缩但未和其它数据格式进行集成的数据流,如视频ES流指的就是经过压缩的视频数据流,但不包含音频流;PS流指的是节目流,VCD中的DAT文件及DVD中的VOB文件都属于节目流;TS流主要用于有线电视、卫星等实时视频节目的传输。

2) 分析项目。让同学们熟悉整个项目源代码的内容及结构,了解整个项目的开发过程。很多同学在就业时经常遇到这样的困境,碰到几百万行的源代码时无从入手。这里推荐一款非常实用的源代码查看工具Source Insight,这款软件广泛的应用于各大公司,可用于源程序的查看、分析,功能非常强大。

3) 学会使用帮助。同学们在学习C语言的时候经常遇到很多函数,有些函数他们不知道是什么含义,更不知道如何去用它。例如strcat等函数,有些课本讲的不是很详细,这时候怎么办呢?其实,在实际项目开发过程中,遇到不会用或者不熟悉的函数,大多数软件工程师就会使用微软公司的MSDN或者Linux操作系统下面的man工具。例如:strcat函数在MSDN解释如下:

strcat函数Required Header

char *strcat(char *strDestination, const char *strSource);

Example:

……

char string[80];

strcpy( string, "Hello world from " );

strcat( string, "strcpy " );

strcat( string, "and " );

strcat( string, "strcat!" );

printf( "String = %s ", string );}

Output: String = Hello world from strcpy and strcat!

有上述如此详细的函数介绍,相信同学们对函数的掌握肯定易如反掌。因此,让同学们掌握并习惯使用帮助工具是非常有必要的。

4) 调试项目。同学们在编完代码之后,有些编译通不过,有些编译通过了但却得不到正确的结果。对于编译通不过的情况,那主要是语法出错了,例如有些变量未声明就使用,对于这种情况,一般看错在哪一行就知道如何改正了。而对于编译通过了但结果不正确的情况却在实际的开发过程中经常遇到,这时候就需要学会编译器的调试工具,比如设置断点、单步调试等。通过这一环节,可以很好的提高学生的软件调试能力。

5) 讲解知识点。对于上述提到的C语言课程中的15个知识点,老师们首先可以在该项目中逐个找到相对应的知识点,对于找不到的,老师可以自己去修改源代码,将相应的知识点添加到项目中去;然后结合项目来讲解各个知识点,让同学们掌握。通过实际的项目环境,使得同学们可以在项目中学习知识,然后又可以将学到的知识点应用到项目中去检验。具体每个知识点安排多少时间可根据每个学校课时量多少来定,最好采取“集中连续式”的教学方法,这样可以防止前学后忘的现象发生。

6) 布置小项目。在课堂以外的时间,可以布置一些作业,如添加一些新的功能或者改进项目,让同学们自己动手解决问题。当然,如果时间允许的话,老师可以布置一些小的项目,三四个人一组,去完成一个小项目的开发。

7) 项目总结。在课程讲解完之后,要求学生完成项目总结,其目的是让同学们学会如何编写软件开发的文档。

3 结束语

通过本次教学改革,我们体会到以下优点:项目式教学能极大的激发学生的兴趣,使学生更容易掌握计算机语言;同学们参与到项目中,可以较好的培养学生的主动参与意识,提高学生终身学习的能力;让同学们学会调试、寻求帮助等方法,可以培养学生善于发现问题、解决问题和综合运用知识的能力; 通过实际项目的开发,可以培养学生的创新意识,提高学生的动手能力;“项目式”教学可以给学生的一个宽松的学习环境,有利于培养学生的创新意识,建立浓厚的师生感情。

通过一年的实践证明,项目式教学方法在计算机语言课程中的应用,可以取得良好的教学效果,对提高学生将来就业的适应能力具有很大的帮助。

参考文献:

[1] 易海胜. 项目式教学法在《C语言程序设计》课程中的实践[J]. 武汉科技学院学报, 2006, (9):92-94.

[2] 杨旭东. 项目式教学在程序设计课程中的应用[J]. 科技信息(学术版), 2006, (9):150-151.

[3] 文平耿. 对高职计算机教学模式的探索与思考[J]. 电脑知识与技术(学术交流), 2007, (7):291-292.

[4] 全国高职高专校长联席会. 教学相长[M]. 北京:高等教育出版社, 2004.

作者简介:游小荣(1981-),男,江西临川人,工学硕士,教师,研究方向为:网络视频传输与多媒体技术。

猜你喜欢
C语言调试计算机
计算机操作系统
基于Visual Studio Code的C语言程序设计实践教学探索
基于计算机自然语言处理的机器翻译技术应用与简介
基于C语言的计算机软件编程
基于航拍无人机的设计与调试
FOCAS功能在机床调试中的开发与应用
信息系统审计中计算机审计的应用
无线通信中频线路窄带临界调试法及其应用
高职高专院校C语言程序设计教学改革探索
调压柜的调试与试运行探讨