《C语言程序设计》教学改革实践与探索

2012-04-07 14:38李龙淼
海南开放大学学报 2012年2期
关键词:C语言程序设计上机C语言

李龙淼

(海南工商职业学院信息工程系,海南海口 570203)

《C语言程序设计》教学改革实践与探索

李龙淼

(海南工商职业学院信息工程系,海南海口 570203)

《C语言程序设计》是目前各高校信息工程类专业普遍开设的一门课程,它具有内容多、理论与实践结合紧密的特点,是一门难教且难学的基础课程。通过教学现状和学情分析,从教学模式、教学方法、教学手段等方面进行了改革实践,在教学实施过程中收到了良好效果,为C语言教学改革提供了有益经验。

C语言;教学改革;教学模式;教学手段

《C语言程序设计》课程是目前各高校信息工程类专业普遍开设的一门课程,是学生进校后接触的第一门程序设计编程课。该课程的特点是概念抽象复杂,语句多、规则多,运行容易出错,是教师感到难教、学生感到难学的一门课程。

一 C语言教学存在的突出问题

(一)入门难 C语言是一种结构化语言,有9种控制语句、34个运算符,数据类型多样;C语言中的指针、数组、地址传递、参数值传递、变量作用域等概念,既抽象又繁杂,不易理解,初学者尤其是刚刚进入大学的高职学生,学起来感到费劲,因此产生不同程度的畏难情绪。

(二)学生学习兴趣不大《C语言程序设计》这门课,概念抽象,语法繁多,又要动手编程,还要上机调试运行;学习方式和思维方式须有较大改变,如果采用以往“老师讲、学生听”的教学方法,学生普遍感到难学,不知道学习方法,更没有学习兴趣,因此相当一部分学生放弃了这门课的学习。

(三)注重理论知识学习 不适合高职高专教学。以往《C语言程序设计》教学注重传授陈述性知识,按照“提出概念-解释概念-举例说明”模式进行教学,这是一种侧重理论知识的学习方法,不适合高职高专教学;高职高专的学生也不善于学习抽象理论,致使《C语言程序设计》课程结束时,学生仅了解几个C语言语句,并不具备用C语言编写程序和设计程序的能力。

综上,《C语言程序设计》课程改革势在必行。近年来我们对这门课程的教学不断进行改革,做了一些工作。

二 我们做的C语言教学改革工作

(一)明确课程改革目标,制定课程改革方案。

在调查研究基础上,经过分析论证,并学习其他高校相关课程改革经验,总结以往教改成果,我们首先明确课程改革目标,制定了可行的课程改革方案。

《C语言程序设计》课程要求学生掌握结构化程序设计方法和步骤,具有阅读和编写一般应用程序能力,具有完成上机调试、运行程序能力,为Windows环境下各种软件的开发使用奠定基础。为此,必须按照建构主义教学理念,以学生为主体、教师为导向,利用现代化教学手段,改革《C语言程序设计》课程教学模式;同时以就业为导向,以职业培训为标准,制定合理的教学大纲和教学计划,形成一套科学的课程教学体系。近年来在教学模式、教学方法、教学手段等方面的改革,使C语言课程教学效果显著提高。

(二)教学模式和方法的改革

1.教学模式改革以程序设计为主线,编程案例为驱动

高职高专培养的是高素质技能型专门人才,注重应用方法和操作技能培养,侧重于应用学习。高职学生学习过程遵循从实际到理论,从具体到一般,边做边学,把抽象理论融入到实践中加以理解,更符合高职学生“从特殊到一般”的认知规律。因此在C语言教学中,我们贯穿了以程序设计为主线,编程案例为驱动,“教、学、做”一体化教学模式。我们选用了高职高专计算机任务驱动模式教材《C语言程序设计实用教程》(清华大学出版社出版)。本书以案例驱动为核心、程序设计为主线、技能培养为目标,围绕开发案例项目对用到的知识点进行讲解。全书以完成“学生成绩管理系统”为主线,设立了8个案例项目,具体包括:学生成绩总分与平均分计算、输入学生成绩转化为等级、学生成绩分组汇总、多个学生成绩的排序、根据条件进行成绩汇总、用指针优化学生成绩排名、学生成绩单制作、学生成绩文件管理。

这8个案例项目按照先易后难、先单一后全面原则,把C语言所包含的知识点融入到程序设计中,把枯燥的概念融入到实际案例项目中,以案例项目带动知识点学习。每次课堂教学都以编程案例为驱动。首先提出问题,教师重点进行案例分析,讲解编写程序的思想和方法,确定编写程序方案;然后引导学生讨论学习,并按照方案具体编写程序;最后指导学生上机调试、正确运行程序,上机调试中出现的问题,由教师统一进行讲解。进行案例分析时,教师不需要告诉学生答案,只讲解要点和解决问题的方法,让学生去讨论制定具体编程,并在计算机上实施与验证。教师每一次授课的案例项目教学内容、编程实例、教学方法都要经过精心设计、认真分析和研讨,力争推理明确清晰,概念准确,重点突出,难点分散,有助于学生对知识的消化理解,并能启发学生思维。这就是“教、学、做”一体化教学。

在以程序设计为主线,编程案例为驱动的主导思想下,我们编写了C语言案例教学大纲和实验指导书、C语言案例教学多媒体电子课件和教案,将教学方式由以教师为中心转变为以学生为中心,实行讲课与课堂讨论及学生自学思考相结合的双向教学,注重师生间互动,引导学生积极思考,激发学生学习积极性和主动性。

在案例教学中,案例往往包含几个任务。例如,案例一要求录入学生成绩和计算成绩平均分与总分。案例中把它分成两个任务,任务1是学生成绩的输入和输出;任务2是总分及平均分计算。在任务中融入相关知识点,学生通过具体编程,加深对概念的理解、对语句的运用,在对各知识点融会贯通基础上,掌握编写程序和上机调试能力。课程初期,往往进行案例小程序编程练习,重在了解数据类型、语句和程序结构。这些小程序又为今后编写大案例的综合程序做准备。在进行数组、函数、指针、编译预处理教学,进行综合实训项目编程设计时,只需把前面小案例的程序链接起来进行综合调测即可完成大案例编程任务。

案例教学法注重对学生程序设计思想和方法的培养,注重对学生将实际问题转化为C语言程序能力的训练。例如循环语句是C语言教学中的重点,把这一知识点设计为一个具体案例项目中的任务:1+2+3….+100=?提出任务后,教师引导学生一步步用循环语句解决问题,编出程序;再近一步讨论数学家高斯是怎样解决这一个问题,而计算机这个“大脑”又是如何用“C语言”写出“循环语句”去解决问题的,从中体会计算机编程的思想和思路,找出今后编写程序的过程;最后得出编写程序的过程是:用计算机的大脑分析问题,找出解决问题的步骤,写出流程图,再翻译成C语言程序,编写出程序。经过多次编程项目实际练习,逐步培养学生程序设计思想和方法。当遇到一个实际编程项目后,学生首先在头脑中形成相应的程序结构;在明确了程序的基本框架后,具体的编程语句就容易解决了。

2.注重程序设计实践能力的培养

C语言功能强大,应用广泛,实践性极强。因此,C语言教学需要特别重视实验实践教学环节。作为编程的入门课程,要求学生具备编写一般简单程序、正确上机运行程序和阅读简单程序的能力。为使学生具备实际编程能力和熟练的上机操作技能,我们根据教育部指示精神,改革实验教学内容,加强实践教学环节,增加实验、实践、实训时间和内容,减少演示性、验证性实验,增加设计性综合性实验。同时把实验教学分成课堂实验、综合实训和课程设计三类。课堂实验与课堂讲授同时进行,每次课堂教学后都安排集中上机练习,使学生理解、当场消化本次课堂教学内容;综合实训是每上完一章理论课,随之有相配套的上机综合实训,是本章内容或多个知识点的综合应用,学生需要提交实训报告;课程设计在本课程结束后进行,学生要针对具体适用项目进行编程,学会利用C语言解决一般应用问题。

在课堂教学中,首先以讲清概念、强化应用为重点,理论教学以应用为目的,因此每次课都采取了1:1时间分配的理论教学与实践练习,做到学、思、练相结合,通过项目或任务实践,增强学生编程能力。在实践中我们的指导思想是,让学生在练习中学习,多练习、多实践,即使暂时没有理解概念,也能够做出练习。先让学生会做,然后让学生学懂,即使学生不懂,也要完成练习或作业。各知识点让学生在练习中理解,在实践中掌握。因此我们重点强调上机实践这一教学环节,如果课堂上机练习时间不充裕,课下一定要保证上机操作时间。

在课堂实验初始阶段,教师带领学生进行操作,边操作边讲解,并注意对基础薄弱的学生给予辅导,不能落下一个学生。在其后的典型案例和综合案例学习时,教师讲解分析要点之后,组织学生讨论练习,三人一组,在讨论中解决具体问题,其中一个学生写程序,一个写出算法实现代码,另一个在计算机上敲出代码并且试运行,三人共同协商完成任务。学生在相互协商、相互讨论中,既培养了团队精神,也提高了解决问题能力。

在动手能力方面,除了在进行基本技能培训的时候严格要求学生外,还要切实为学生进行一些程序设计技能讲解,即给出一些典型程序设计例子进行分析,学生接触C语言实际编程例子多了,也就逐步理解程序设计的思想和方法,学会利用程序设计语言解决一般应用问题,实际动手能力就得到了提高。还要尽可能为学生提供多一些上机机会,比如开放实验室,让学生有更多上机动手时间。教师有科研课题尽量让学生参与,使学生有一些真实体会。还可以实行导师制,针对学生不同情况,加以专门辅导,切实解决学生程序设计中存在问题。

在综合实训和课程设计中,本着以就业为导向,以职业为载体全面发展的教学思想,紧密结合就业方向、职业要求精心制定实训内容和课程设计题目,强化实践应用能力训练,使职业训导和实践教学相结合,注重能力培养。一般在综合实训和课程设计之后,学生的编程能力和实际操作能力都有所提高,适应了培养社会需要全面发展高素质人才的需要。

3.更新教育教学理念,投入感情,培养学生兴趣

我们的学生虽然不喜欢、不善于抽象理论学习,但他们活跃,接受新事物快,动手能力强。而教学过程不仅是知识和技能传授过程,更是情感沟通过程。因此教师要关爱学生,通过教学活动沟通师生情感和心灵,实现真正的“教”与“学”互动。上课时,教师可以精心设计一些问题让学生回答或者讨论,对表现积极的,在其他学生面前加以表扬,并给予平时成绩加分等奖励,提升他们的学习热情和兴趣。对学习上暂时落后的学生,可指出他们需要改进的地方,并帮助他们找出解决问题的方法,树立其学习信心。

(三)教学手段的改革

在教学手段上,除了采用多媒体课堂教学和机房实训结合、多媒体教学课件和板书设计结合的方式外,最主要是构建C语言网络教学平台,借助因特网发挥信息现代化强大优势,使其成为C语言辅助教学有力工具。

从教育学角度出发,教学过程就是一个信息传递过程。而网络平台教育方式将单向的Shannon-Weaver模式改变为双向的Osgood-Schramm模式,因而在近年教学改革中得到了极大倡导和施行。C语言网络教学平台充分利用网络平台的开放性、共享性和协作性等特点和优势,对《程序设计基础》课程重新进行规划和组织,为学生创造一个集知识和趣味于一体的、包括个别化学习环境和协作式学习环境的开放性网络教学平台。

《程序设计基础》课程网络教学平台构建主要包括了三个方面:1.利用多媒体手段系统演示、分析、讲解教学内容;2.与课程学习直接有关的练习题、答疑系统、课程学习讨论系统等;3.具有初步的、较丰富的题库内容,用于学生学后练习、自测和自我评价。整个平台系统既包括了教学支持平台的架构设计,也包括了教学内容设计。

建成的《C语言程序设计》课程网络教学平台,内容丰富,页面生动活泼,操作方便,能吸引学生。网络教学平台内容有课程简介、教学大纲、教学课件、电子教案、实验指导书、实验报告、课程作业及答案、章节自测、趣味C语言程序、C语言程序解决现实生活实例、全国计算机等级考试二级题目及上机典型题目、模拟考试等。

学生在网络教学平台上可以构建个别化学习环境,利用图像、动画和视频等多媒体手段,将在课堂中侧重于逻辑讲解的知识体系从新的角度加以呈现。这样的讲解方式有助于加强学生对课堂讲授内容的理解,亦有利于提升学生对所学知识的兴趣。此外,个别化学习环境还体现在提供自我评价体系,方便学生随时随地了解自己的学习状态,清晰认识自己知识体系中的欠缺,更有针对性地调节个人学习方案,间接促进学习效率的提高和自我知识水平的提升。

在网络教学平台上还可以构建协作式学习环境,主要构建学生和教师、学生与学生之间的交流渠道,以便参与者之间进行交流、协作和讨论。这样的方式不仅提升学生学习主动性和能动性,更能潜移默化优化学生个人习惯,提升其与他人沟通、合作的能力。协作式学习环境的创建可利用多种技术加以实现,如电子邮件、公告板、讨论区、网上传呼等;学生可提交作业、提出问题并参与讨论。教师通过网络平台可上传各类教学资源、批改作业、网上答疑等。

网络学习需要教师参与指导,需要制度措施的保证。《C语言程序设计》课程要求学生每次课后到网络教学平台上复习课程内容,熟悉课堂练习,并完成作业。教师在规定辅导答疑时间,检查督促学生在网络平台学习,并给予指导帮助。网络内容丰富多彩,学生上网经常是打游戏看电影QQ聊天,怎样让学生进入网络平台学习,需要一定的制度保证。为提高学生学习C语言积极性,培养学习习惯,引导其喜欢学习、学会学习,本课程规定课后学生必须在网络平台上复习,完成并提交作业,多次不交作业会影响课程成绩。从授课教师和学生的反馈意见可以看出,《C语言程序设计》课程网络教学平台的使用已取得预期教学效果。尤其教学平台界面良好的设计、灵活的演示、高效的互动这些特点都受到了学生的欢迎、认同与肯定。

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

[2]周雅静.C语言程序设计实用教程[M].北京:清华大学出版社,2009.

[3]蒋然.高职院校C语言程序设计教学改革探讨[J].福建电脑,2010(10).

[4]马新.C语言程序设计课程教学方法与手段的改革与实践[J].高校讲坛,2010(33).

Exploration on the Teaching Reform and Practice of C Fundamentals of Programming

LI Long-miao

(Department of Information Engineering,Hainan Technology and Business College,Haikou 570203,China)

C Fundamentals of Programming is one of the basic courses of Information Engineering Major for all colleges.The teaching requires a combination of theory study and computer operation.Our reform on its teaching modes,methods and techniques has resulted in good effect.This paper is a summarization of our reform practice which we hope that will be useful for reference.

C language;Transformation of education;Teaching mode;Teaching means

TP312.1-4;G642

A

1009-9743(2012)02-0138-05

2012-04-19

李龙淼(1946-),女,汉族,北京市人。海南工商职业技术学院信息工程系副教授。主要研究方向:程控交换技术。

(责任编辑:张玉秀)

猜你喜欢
C语言程序设计上机C语言
周金应
标准化护理程序对体外膜肺氧合术患者上机各阶段用时的影响
基于Visual Studio Code的C语言程序设计实践教学探索
上机数控“可疑”的高毛利率
基于C语言的计算机软件编程
高职高专院校C语言程序设计教学改革探索
以“学生为中心”的《C语言程序设计》教学设计探究
基于翻转课堂的《C语言程序设计》课程教学系统的实现与研究
浅谈《C语言程序设计》课程的教学改革
《C语言程序设计》课程的教学改革与实践