欢迎访问发表云网!为您提供杂志订阅、期刊投稿咨询服务!

c语言程序设计大全11篇

时间:2023-03-15 15:01:26

c语言程序设计

c语言程序设计篇(1)

关键词:

计算思维;C语言程序设计;MOOC;

黑龙江省教学改革项目《高等院校计算机基础程序设计类课程综合研究性教学改革与实践》项目编号:JG2014010854

1教学内容与模式存在问题

1)先理论后实验

C语言程序设计课程在传统的教学中,理论部分采用课堂讲授的模式,边讲知识点边进行编程,实验课则是在理论课城讲完之后,单独进行实验教学,单人单组,这种教学模式容易出现理论与实践脱轨,接连不上,理解不透彻等问题。

2)创新性实验不足

一般教学模式下,设计性实验和创新性实验占的比例在20%以下,创新性项目不足。这种模式下,学生在课堂上的学习积极性大部分依靠于教师的授课技巧或个人魅力来吸引学生,教师把知识点讲授得清楚明白,但是学生自己动脑思考相应问题的时间短,并且大部分学生课前预习基本没有,不能真正发挥学生主观能动性和自主学习能力。

3)直接灌输

大多数学生对与课前预习做的并不出色,可能大部分学生是完全没有课前预习的。学生在头脑中并没有带着问题听课,而是老师直接灌输C语言定的设计结构、数组、指针等复杂内容。学生没有预习,没有思考,只有类似直接灌输式的教学模式。

2从教学模式改良教学内容

1)将计算思维能力培养融入课程中

程序设计类课程的教学方法要注重将“不可见”变为“可见”,变“无关”为“相关”,把大问题碎片化,把复杂问题进行分离与分层处理。例如,将C语言中的语法有融合到程序设计中,在程序中讲语法,又在学语法的同时练习训练了编程,这样就避免了枯燥乏味的讲述语法,将语法融合入程序设计中。

2)在C语言程序课程中扩展计算机思维的改革模式

①改进教学方法。不将C语言程序设计课程的教学内容做大量调整,而是通过改进教学方法来启发引导学生认知知识点背后蕴含的联系与规律,比如设置问题导引,问题讨论,追溯反思,新建构架等等方式来潜移默化的渗透计算思维,使计算思维模式逐步走进学生的思维方式中。②重新构架体系结构。并不对课程教学的知识点做大量更改与替换,而是以计算思维模式为主干重新构建知识体系,只是课程内容授课顺序和结构有较大复读调整。例如容易基本的数学问题,生活常识问题,即由C语言外而进入C语言内的知识体系的调整。③更新大量陈旧项目。以往的教学内容包含一些生硬死板的程序项目,其目的只是为了说教语法和结构。取而代之的融入计算思维的程序项目则更加新颖,更加联系实际,更加突出对计算思维的训练,例如,爱因斯坦天国的阶梯;生肖属相轮回等项目,不仅生动、引人入胜,更能训练思维。

3)依据计算思维融合传统科目内容

我们可以将一部分学生选出来进行试验性教学,打破传统的几门课程包括C语言、数据结构、算法分析、VC程序设计,等系列课程的教学方式,采用根据不同专业设定的包含基础数学、程序设计技巧、算法分析的一体化教学内容,打破传统的教学内容,该体系能够更充分利用学生的自主能动性,课下的工作量比课上的工作量要大得多,学生在课前要进行大量的准备工作。

4)加大课前预习量

打破传统的理论教学与实验教学分开的模式,在理论教学中同样需要学生进行大量的课前准备,然后在课堂上进行分组讨论老师提出的问题,根据每组学生的讨论内容,讨论结果设置而在实验教学方面,可运用本校的网络教学平台,提前发放讨论内容及作业题,在实验课中以项目提交的方式来完成实验教学。

3对接MOOC网络教学

1)MOOC兴起

网络技术的不断发展,人们更愿意使用电子产品依托网络进行学习。MOOC大规模网络公开课程(MassiveOpenOnlineCourse,MOOC)[1]是2012年在美国兴起,它作为一种大型的开放式网络课程,为学生提供免费的学习平台。随后全球的各大知名大学逐步开设MOOC课程,纷纷涌入到MOOC的浪潮中。在中国的很多知名高校也加入其中,纷纷开设MOOC网络课程,当前的coursera、udacity和edx的火热应用,实施了翻转课堂进行教学。

2)登陆MOOC

C语言程序设计的授课,为了适应新时期的教学发展趋势和教学需求,要将传统教学与在线教学平台融合,更好地使二者相互补充和促进。MOOC也将教育推上了全球化的舞台,这种变化带来的好处显而易见,最明显的一个特征是打破了教育壁垒,令教育资源平等化[2]。

3)重组设计课程内容

C语言课程登陆到MOOC,并不能简单的将课堂的内容简单,直接的传送到MOOC平台上,而是应该结合C语言程序设计课程的特点,和MOOC平台的优点,进行课程内容的整体策划,重新设计设计整门课程的体系结构。

4总结

我们要通过分析教学中存在的问题,教学模式和教学内容进行多管齐下的相关改革。改革并不能与从前的单一模式相同,要针对课程的特性,改革教学内容与计算思维相对接,改革教学模式与MOOC相对接,实现多管齐下,真正达到教育教学目的,让学习者能真正学以致用,转换思维模式,无论在哪一方面都收获良好的教育教学效果。

作者:逯柳 陈刚 孙毅 耿姝 王树芬 单位:哈尔滨石油学院信息工程与计算机技术系

c语言程序设计篇(2)

参考文献:

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

[2] 王平,朱艳辉. 计算机程序设计教学中的教学方法研究[J]. 电脑知识与技术,2005(21):93-95.

[3] 杨其宇,张霞.“C语言程序设计”课程教学探讨[J]. 广东工业大学学报:社会科学版,2006(增刊1):94-95.

[4]Merseth, K. K. The early history of case-based instruction: Insights for teacher education today[J]. Journal of Teacher Education,1991,42(4):2433-2439.

[5] 王平. 利用概念图拓展思维空间[J]. 科学课,2006(8):13-14.

[6] 湖南工业大学. 课程录像[EB/OL]. [2011-03-01]. 218.75.216.182/VC/850839.

One Lesson’s Content Design of C Programming Language

WANG Ping, LIU Qiang, ZHANG Amin

c语言程序设计篇(3)

关键词:C语言程序设计;课程建设;教学质量;教学团队

中图分类号:G642

文献标识码:B

“C语言程序设计”是计算机专业的必修课和其他理工科学生的重要基础课程,由于覆盖面广、应用广泛,对于学生的基本编程素质的培养有较大的影响而备受重视。对其掌握的程度如何,直接影响到后继相关课程的学习和掌握,甚至是整个专业的后继发展。“C语言程序设计”的教学目标是培养学生的编程思想和实际编程能力,因此教学、实验、课程设计和考核等都要围绕此目标进行[1~3]。在教学过程中,有相当数量的学生反映学习起来比较困难。如何构建课程体系,如何组织教学,如何创新改革,如何进行教材建设和形成教学团队等都是值得研究和思考的课题[4,5]。为了整体提高“C语言程序设计”课程的教学质量,几年来,以培养提高学生的实际编程能力为目标,进行了C语言课程建设。经过多年不懈努力,使“C语言程序设计”课程整体教学质量和教学水平有了较大的提高。

1构建新的课程体系

1.1变单一教学目标为多元化教学目标

根据分层次、分类别组织教学的思想,进行教学目标的调整。根据学生层次的不同、根据计算机专业和非计算机专业性质的不同、根据学生学习能力的不同、根据学生自主学习自觉性的差异等,重新制定和修订理论教学大纲、实验教学大纲以及课程设计要求等。不同的层次、不同的类别要有不同的要求,体现出教学目标的多元化。这样的新体系才能更加适合办学特点和师生具体实际,在对教师教学和学生学习情况的评价上也将更加客观,可行性和可操作性增强。

1.2变知识灌输为突出实际编程能力的培养

以程序设计方法为主线、语法和结构为核心,能力培养和提高学习兴趣为目标,变应试为应用。本着面向未来的精神,把C语言作为一种实践工具,不再局限于单纯介绍C语言基本语法,而注重培养学生解决实际问题的编程能力,介绍程序设计的基本思想,让学生从多角度、以多方式掌握程序设计的精髓,培养学生无论以后使用什么语言编程,都能灵活应用这些思想和方法的能力。

1.3变传统考试模式为新体系下的评价方式

加大对“C语言程序设计”课程教学的质量监控力度,提出对不同专业、不同层次的学生在教学中可以因材施教,实行分层次教学,但最基本的要求是做到“五个统一”(即学大纲、统一课程教学方案、材、统一课时、统一考试),要求所有开设C语言课程的班级都参加全国计算机水平考试或统一命题,从而完全实现教考分离。并要求加强各种听课、评学评教活动,构建新体系下的课程评价标准。

1.4变课堂教学为主的教学形式为多样化教学组织形式

突破课堂教学的限制,建立课程学习网站。网络环境下分类指导、分层教学的教学模式,以提高编程能力为主要目标的各种学习模块,采取基于学习活动的人机交互、师生交互的互动学习模式,通过建设多种模式和多种学习渠道,构建立体化的学习环境,实现教学中“基础加专业、实践加知识、自学加讲解、素质加综合”的有机结合,在客观上满足人才培养多样化、多层次的需求,为学生对课程的学习实践创造良好的环境,也为教师积极参与课程教学的创新实践提供广阔的空间,使优秀教学资源的共享得以实现。

1.5变教师为中心为自主性学习为中心

课程网站内容体系以学习的自主性为基础,将知识、能力、任务、策略和素质的培养融为一体,确立教师作用的指导性和教学方式的实践性;以学生为主体,在照顾群体目标的同时,重视个体差异,使学生的个性得以充分发挥;允许水平不同、专业背景不同的学生根据需要达到相应的标准,对学生知识结构的合理构建、综合运用能力的加强和整体水平的提高将起到良好的推进作用。

1.6变单一课程教学为后继多课程的基础教学

由于计算机编程语言的发展,出于为后继课程,如数据结构和面向对象程序设计等课程提供基础的考虑,在教学体系中应加强指针和结构体部分的内容。

2从提高学生的实际编程能力出发,规范整个教学过程

2.1规范整个教学过程

对教学内容进行建设。根据新课程体系的要求对教学内容(理论和实验)进行整理,规范整个教学过程。编写完整的课堂教学教案;制作完整的教学用PPT,以规范教师基本教学行为;精选大量典型的、针对性强的例题,减少教师教学过程中选择例题的盲目性,也帮助学生根据自己的情况自行提高;每次实验内容要有针对性,提高实验课的效率;对课程设计提出要求,给出样例和参考课题,规范整个课程设计环节。

精心制作课程教学网站。课程教学网站是对课堂教学进行补充,应该内容丰富、完整,针对性强,可用性好,力求做出自己的特色。除了相关教学内容以外,应制作完整的课程网络课件,以方便学生复习和自学;应解析学生学习过程中可能遇到的问题,针对考试的考核要点进行分析,整理出若干套有针对性的模拟试题。网上丰富的资源,不仅为学生的自主学习提供保障,而且会使课程建设成果的推广应用越来越广阔,师生的利用率也会越来越高。

实时进行教学质量监控。在课程建设过程中,要实时对本课程的教学情况进行教学质量监控。采用集体备课、听课、评课、说课,开学生座谈会,与学生个别交谈,发放问卷调查、听取教学督导的意见和分析考试成绩走向等方式,对本课程的教学情况、学习情况进行跟踪调查。

2.2加强实践教学环节

重视实践教学,提高实践教学效果。实践教学是学习“C语言程序设计”的重要教学环节。实践教学由基础实验和课程设计两部分组成。

(1) 基础实验

基础实验紧密结合课堂教学,其教学目标是加深和巩固重点概念的理解和简单应用,掌握程序调试的基本方法,提高调试能力。基础实验内容分模仿型、测试型和设计型三类,以设计型为主,实验内容一般难度不大,规模较小。根据教学要求设计基础实验,对比较重要的章节应设置两个基础实验(如数组、指针、结构体与共用体类型等),以加强学生对重要内容的掌握程度。

(2) 课程设计

课程设计是对学生的一种全面综合训练,是不可缺少的教学环节。通常,课程设计中的问题比平时的习题复杂得多,也更接近实际。课程设计着眼于原理与应用的结合点,使学生学会如何把书上学到的知识用于解决实际问题,培养软件工作所需要的动手能力;另一方面,能使书上的知识变“活”,起到深化理解和灵活掌握教学内容的目的。平时的习题较偏重于如何编写功能单一的“小”算法,局限于一个或两个知识点,而课程设计题是软件设计的综合训练,包括问题分析,总体结构设计,用户界面设计、程序设计基本技能和技巧,多人合作,以至一整套软件工作规范的训练和科学作风的培养。此外,还有很重要的一点是:计算机是比任何教师更严厉的检查者。

为达到上述目的,使学生更好地掌握面向过程程序设计的基本方法和C语言的应用,应给出课程设计样例和参考课题,引导学生应用结构化程序设计方法, 逐步掌握开发规模较大的C程序的系统方法。每个课题采取统一的格式,由问题描述、基本要求和选做内容等部分组成。问题描述旨在为学生建立问题提出的背景,指明问题“是什么”。基本要求则对问题进一步求精,划出问题的边界,指出具体的参量或前提条件,并规定该题的最低限度要求。选做部分向那些尚有余力的学生提出更高的要求,同时也能开拓其他学生的思路,在完成基本要求时就力求避免就事论事的不良思想方法,尽可能寻求具有普遍意义的解法,使得程序结构合理,容易修改、扩充和重用。

3积极开展教学研究,推动教学改革,在创新中提高教学质量

3.1因材施教,实行分层次教学

为了更好调动学生的学习积极性、主动性,达到因材施教的效果,可以将“C语言程序设计”的教学对象分成A、B、C三个层次组织教学。A层次由计算机本科专业学生组成,教学要求更高一些,在传授知识的同时,加强拓宽基础,适当加强应用,注重传授编程思想和培养学生创新思维,着重提高学生的算法设计素养和能力,使他们的个人特长得到发挥。B层次为理工科非计算机专业本科生和计算机专业三年制大专生,按照传授知识、培养能力、提高素质的要求组织教学;而C层次主要是面对两年制计算机专业学生,这部分学生因为基础较差,学习比较困难,在教学要求方面更强调基本概念、基本知识、基本方法的训练,加强课外辅导,指导学习方法,调动主观能动性,提高效果,以达到课程教学要求。

在分层次教学中,除了课堂教学更注重因材施教,加强各个教学环节之外,还要利用课程网站提供师生互动平台,加强课外答疑辅导;强化实践环节,设计好整个实验教学的内容;加强课程的总结,帮助学生对每章节内容进行总结、归纳,重点难点分析,典型例题分析及解题能力训练,提供网上学习环境,供学生课外自学使用。

采用分层次教学形式,将激发和调动学生学习积极性、主动性、自觉性、自信心以及奋发向上的精神,有利于学生的个性发展,营造良好的学风。

3.2教学研究应不断深入

提高教学质量和水平,是课程建设的永恒主题,也是一个不断研究、不断实践的课题。重视教学研究是高校适应社会发展需求的必然选择,是学校立足实际,走内涵式发展的必由之路,是学校不断提高教学质量、实现可持续发展的强大内驱力。因此,教学研究已成为课程建设教师的自觉行动。

(1) 整体把握C语言的课程体系,在教学过程中让学生理解相关的结构性概念的作用和意义。如在编程语言中为什么会有数组的概念,没有数组能不能编程,数组的本质是什么,在学习数组内容时重难点在哪里;为什么要有指针一章,没有指针可以不可以,指针的作用是什么,学习指针的方法应怎样;为什么要有结构体,没有这个概念行不行,如果没有应该怎么做,有什么不方便等,在教学过程中要讲透重点和难点。在讲解某个具体的典型程序时,讲清楚为什么要这样设计,为什么要定义这么多相关的变量,所使用的算法思想及其实现等。总之要有针对性地按照提高其编程能力的目标进行教学。

(2) 注重对典型程序的学习和掌握,提出四个阶段的学习方法。每一个典型程序的学习过程应分为四个阶段:听懂到看懂、理解到熟悉、基本掌握到掌握、完全掌握。如果通过学习能够“完全掌握”课程中的十几个典型程序,应该说教学是成功的。

教学方法是众多长期从事C语言教学工作的一线教师经验的总结,新的教学方法和教学手段将会调动学生主动学习的积极性,只有这样学生程序设计水平和程序调试能力才能有显著提高。

(3) 注重课程体系结构的合理性。从提高学生的实际编程能力出发,合理安排各章节的教学内容,突出重点和难点;注重C语言对后继课程的基础作用。通过学习不仅使学生掌握C语言的基本语法和规则,还能够领会结构化程序设计的思想和方法。

4加强教材建设

教材建设是课程建设的重要内容之一,除选用全国优秀教材外,应加强自编教材及辅助配套教材的编写和课件研制。教材是教学活动双主体之间沟通的桥梁和工具,是教学改革成果的积淀,是保障教学质量和提高教学效果的关键因素。教材集中反映了作者的教育理念,体现了作者的教学指导思想,体现了作者的课程观、人才观与价值取向;同时也从一个侧面反映了课程的教学模式与质量标准。

对教材编写要力求体现教学目标的要求,充分考虑教学方法、教学手段和教学模式,对教学要求中的知识点和能力点统筹把握好“增”、“删”、“减”、“移”、“合”五种策略,做到专业需要、学生状况、教学条件三者有机结合。实验教材应注重实际编程能力的培养提高,并配有电子教案,提供例题程序源代码,以方便学生自学,形成立体化教材。

教材应全面系统地介绍C语言程序设计的基本概念、结构化编程思想和方法以及解决实际问题的技巧,注重C语言在学科中的基础地位,在整体结构上进行精心思考,对专业发展有影响的部分内容进行侧重。从学习者的角度去思考每部分内容,尽可能地贴切学生的接受能力,对可能产生的疑问进行解释并结合实例进行详细的分析和说明,力求将复杂的概念用简洁浅显的语言来描述,做到深入浅出。

5形成一支结构合理、素质较高的教学团队

教师是教学质量提高的关键。要搞好教学,需要教师的团结协作、集体智慧的发挥,也就是需要一支结构合理,素质较高的教学团队。教学团队是以教学水平高、业务造诣深、经验丰富的教师为主体,配备一定数量的青年教师形成的群体。教学团队应具备一定的稳定性,而且人员要不断壮大,内涵不断充实,教学水平不断提高。

首先对课程主讲教师明确责任,对青年教师实行导师制,在业务上和教学方法上进行一对一的指导,对青年教师实行严格考核制度,确保青年教师站稳讲台,教学质量稳步提高。另外为适应新的教育模式,即培养“厚基础、宽知识、强能力、高素质”人才的要求,教师必须以严谨的教学态度、创新的教学思想、宽厚的学术水平和行之有效的教学方法与手段组织教学。教学团队要讲求实效,定期开展教学研讨活动,集体研究教学内容、教学方法的改革,不断探索教学中的新课题,组织编写教学资料,制订教学方案,期末进行课程总结,组织听课等活动,形成一个结构合理、素质较高的教学实体,这是课程整体教学质量不断提高的组织保证。

通过教学团队的建设,年青教师的教学水平将得到提高,教学过程得到规范,教育教学的意识得到加强,学历层次不断提升,教师的教科研能力明显增强,教科研立项数量逐年增加,立项级别也将稳步上升。

6教学实践效果

教学团队的成员,他们是课程的建设者,也是建设成果的使用者。我院经过多年的实践,证明了学生对课程的掌握及实际编程能力较建设前有了明显的提高。从本科生毕业的选题、毕业设计过程及答辩情况来看,学生具备了一定的独立编程能力,编程能力的提高,应该源于C语言课程的学习。通过对比和分析2006-2008年学生参加全国计算机水平考试的成绩,可以看出通过率呈逐年上升趋势,如下图。

7结束语

通过对“C语言程序设计”课程的建设,一方面提高了学生的学习兴趣,使学生掌握了学习语言课程的方法,培养了学生分析问题与解决问题的能力,学生的实际编程能力有了较大的提高,达到了本课程教学的预期目标,同时学风建设得到了加强;另一方面锻炼了教师队伍,逐步形成了教学团队,使师资队伍的师德教风、教学水平、教学的规范性都有了较大的提升,也激发了教师参与各种教学研究的积极性。

参考文献

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

[2] 李春葆. C语言程序设计[M]. 北京:清华大学出版社,2007.

[3] 甘玲. 解析C程序设计[M]. 北京:清华大学出版社,2007.

[4] 杨理云. “C语言程序设计”教学方法探索[J]. 中国成人教育,2007,(5):162-163.

[5] 张建珍. C语言教学方法探究[J]. 计算机教育,2007,(09):12-13.

On the Research and Practice of “C Programming Language” Course

GUO You-qiang

c语言程序设计篇(4)

(江西科技学院)

[摘 要]C语言程序设计课程是计算机专业教育的重要组成部分。将探究教学引入C语言程序设计教学中,不仅可以提高学生学习的兴趣,调动教师教学的

热情,也丰富了探究教学的理论与实践。具体分析并探讨了C语言程序设计探究教学的实施目标、实施条件、教学情境的创设、探究形式、教学评价等问题。

[关键词]C语言程序设计 探究教学 实施目标

一、 C语言程序设计探究教学实施的目标:情感目标、能力目标和认知目

1、体验C语言程序设计的编程思想,激发和保持对C语言程序设计课程的

求知欲,形成积极主动地学习和参与C语言程序设计课程探究活动的态度。

2、能辩证地认识C语言程序设计对社会发展、科技进步和日常生活学习的

影响。

3、获得亲自参与研究探索的积极体验、培养严谨的科学态度。

4、能从日常生活、学习中发现或归纳可以利用C语言程序设计解决的问题,

通过问题分析确定程序功能。

5、能根据任务的要求,确定所需信息的类型和来源,并鉴别信息的真实性、

准确性和相关性。

6、掌握计算机程序的基本概念,理解并掌握C语言程序设计语言的基本知

识,包括语句、数据类型、变量、常量、表达式、函数等,熟悉语言的语法规则,熟

悉计算机程序执行的基本过程。

7、了解C语言程序设计语言,掌握编写程序、编译程序、连接程序以及程序

开发环境等基本知识,掌握调试、运行程序的基本方法与技巧。

二、C语言程序设计探究教学实施的条件

1、掌握一定的计算机操作基础

C语言程序设计课程由于其学科自身的特点,需要在计算机上调试程序,

所以要求学生具有一定的计算机操作知识,如:开关机、键盘和鼠标的使用、文

件的建立与查找、常用软件的使用等。

2、良好的C语言程序设计认知结构

认知结构就是学生头脑里的知识结构,是学习者观念的全部内容和组织。

奥苏伯尔的认知结构理论是针对新学习内容的影响(即迁移)提出的,良好的认

知结构有利于知识的提取和正向迁移。C语言程序设计探究教学强调在已有知

识经验上的主动建构,面对新的问题和任务,需要学生及时从头脑中提取信息,

建立新旧知识间的联系,在已有C语言程序设计知识的基础上思考解决新问题

的办法,并试图将新知识纳入自己的认知结构中。

3 、良好的探究环境

良好的探究环境是学生顺利进行探究的保证,至少包含两方面的内容:(1)

要有充足的探究时间和灵活的探究条件。探究时间应该根据学习任务进行合理

安排,应该考虑到学生假设错误时所耽误的时间以及讨论交流所需要的时间。

探究教学中可能需要查阅大量的资料,教师还应该准备书籍、网络等辅助资源。

(2)学生在探究学习的时候不能有太多压力,不同的学生由于其自身的因素不可

能以相同的速度学习,所以教师在进行评价的时候也应该因人而异,应该为每

个学生提供充分的思考机会和时间,让每个学生都能以自己的进度进行探索,

并在此过程中感受到乐趣。

三、C语言程序设计探究教学情境的创设

心理学研究表明,恰当、适宜的环境能有效激发人的热烈情绪,提高活动的

质量和效果。教学情境是指教师人为创造的“典型场景”,创设目的在于引出教

学任务,将学生的注意力吸引到学习任务中来。教师把将要学习的C语言程序

设计知识通过一定的情境呈现给学生,使得学生认知结构与周围环境不平衡,

引起他们对学习目标的注意和兴趣,并通过探究活动把学生过去的活动和将来

的活动联系在心理学研究表明,恰当、适宜的环境能有效激发人的热烈情绪,提

高活动的质量和效果。教学情境是指教师人为创造的“典型场景”,创设目的在

于引出教学任务,将学生的注意力吸引到学习任务中来。教师把将要学习的C

语言程序设计知识通过一定的情境呈现给学生,使得学生认知结构与周围环境

不平衡,引起他们对学习目标的注意和兴趣,并通过探究活动把学生过去的活

动和将来的活动联系在一体。探究教学情境的创设应做到:(1)创设的情境是为

C语言程序设计教学服务的,要以C语言程序设计探究教学目标为依据。(2)探究

情境要接近学生的真实生活经验,能够吸引学生的注意力,激发他们的认知冲

突和求知欲。(3)学生在情境中能够感觉到问题的存在,自然地将新旧知识联系

起来。(4)情境中必须包含学生未知的新内容,而且是能够通过探究掌握的。

四、C语言程序设计课程中的探究形式

C语言程序设计课程中开展探究教学主要有4种形式:探究性提问、探究性

讨论、探究性演示和探究性实验。这4种形式是相辅相承的,而不是孤立存在的,

在C语言程序设计探究教学中,需要用到多种形式来构成一个完整的探究教学

过程。C语言程序设计探究教学通常都是由探究性提问开始,然后进行探究性

讨论、探究性演示或探究性实验;也可能从探究性演示或探究性实验开始,在演

示或实验的过程中发现问题,再进行探究性讨论。在实际教学过程中,要根据学

习内容和课堂情况灵活地选用这些形式。

五、C语言程序设计探究教学评价

教学评价指依据一定的标准,通过各种策略和相关资料的收集,对教学活

动及其效果进行客观衡量和科学判定的系统过程。C语言程序设计探究教学评

价是对C语言程序设计探究教学过程及其影响的测量、分析和评定,评价中我

们更关注学生学习和成长的过程,寻找适合学生发展的学习方式,满足学生知

识和能力发展的需要。评价对探究教学的积极作用是很明显的,但是如果评价

指标制定不合理,或者评价方法的选用、评价结果的表述不当,不仅不能达到预

期效果,还会对学生的C语言程序设计学习产生消极影响。

参考文献

[1] 《基础教育课程改革纲要(试行)》教育部文件,教基[2001]17号.

[2] 保罗 朗格朗.终身教育引论瞰[M].北京:中国对外翻译出版公司,1985,

p15~31.

[3] 联合国教科文组织.学会生存——教育世界的今天和明天[M].上海:

上海译文出.

版社,1979,p2.

[4] 张大均。教育心理学[M].北京:人民教育出版社,2005,p68--71.

[5] 靳玉乐.探究教学论[M].重庆:西南师范大学出版社,200l.

作者简介

c语言程序设计篇(5)

中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2017)27-0167-02

近年随着高校招生规模的扩大,学生数量一直呈增长趋势。C语言程序设计作为理工科专业学生必修的基础课程,不及格的学生人数也在逐年增加。重修班的课程教学也是本科教学中重要的组成部分,在重修课程的教学工作中存在一些有别于普通课程教学的特点,需要任课教师采取针对性的措施,才能保证重修课程保时保质完成。

一、目前C语言重修课程存在的问题

1.教学方法与教学手段过于单调。从目前高校的教学情况看,一般现在大多以多媒体教学为主。当然,多媒体教学较以往黑板板书的讲授方式有了一定的进步,但这里边仍然存在一定的问题。第一,多媒体教学方法仍是以教师教授为主、学生听讲为辅的教学手段,启发式教学没有得到充分应用。而且许多教师过分注重PPT教学,强调体系的完整性而非学生的掌握情况。学生经常感到上课好像都听懂了,但是上机时对C语言语法不熟练,编写程序无从下手。第二,多媒体教学很难为学生建立编写程序的直观感受。教师PPT上的例子通常是可以正确运行并得到正确结果的例子程序。这就会使学生产生厌学心理,误认为只要将程序代码输入计算机,计算机就会正确地执行。当程序发生错误时,学生经常感到束手无策,挫伤了学生学习的积极性和热情。

2.学生的学习目的不明确。对于非计算机专业的学生,通常认为C语言程序设计与他们所学专业课相关性较小,而且在现实生活中很难应用,所以对C语言程序设计很难提起兴趣。另一部分同学认为学习C语言的目的只是为了通过计算机等级考试或重修考试,所以认为C语言学习的重点是语法知识而非上机实践,这部分同学学习非常认真,教材上做满了各种对知识点的解释和编程时应注意的误区,可就是不会编写程序,最多只能参照教材的例子编写,无法编写程序解决工程实际问题。还有部分同学认为C语言过时了,应当学习JAVA、C#等目前行业内普遍采用的高级程序设计语言。而且JAVA等高级语言相对来说简单易学,源代码可读性强,同时又有功能强大的编译器支持,利于迅速开发项目。

3.C语言本身的特点。C语言作为一门实用的编程语言,以其强大的编程功能,自由灵活的编程风格,获得了IT技术从业者的广泛青睐,但是这些有点恰恰成为了初学者的最大障碍。C语言程序语法复杂,调试苦难,尤其是对指针的使用,使初学者经常犯难以跟踪的编程错误。而且对于非计算机专业的学生,C语言程序设计往往在大一下学期或大二下学期开设。对于仅学习过大学计算机基础的非计算机专业学生来说,缺乏对计算机结构的全面了解,对于和计算机硬件尤其是和内存结合很紧密的概念,学生基本很难理解和掌握。

二、针对重修课程特点的教学措施

1.培养学生学习兴趣。对于选修C语言重修课的学生,应注意对其学习兴趣的培养。比如在课堂上可以给重修的学生讲一些计算机科学家的生平及小故事、计算机与数学等方面的内容,短则一两句话,长则三五分钟,既活跃课堂气氛,又能激发重修生对程序设计的兴趣。教师也可以在课堂中向学生讲述一些在生活中使用C语言编写的软件,如与学生生活密切相关的嵌入式系统软件,让非计算机专业的重修学生感到C语言程序设计与他们并不遥远。教师在重修课教学过程中,可以采取案例驱动、任务驱动、主题作业、课程设计等多种形式[1,2],增强学生的学习兴趣。

2.改进教学方法。在C语言程序设计重修课程的教学中,要充分利用多媒体课件,其内容应该有条理、重点突出、详略得当。多媒体课件应该注重演示与推理,而不是教材的翻版。同时,教师也可在课堂上现场使用编译软件编写程序,并对程序中的错误加以修改并讲解,也可以教师将程序的主体写好,邀请同学上讲台上编写关键代码段,一起完成程序的编写。如教师在讲解for循环体的知识点之后,可以编写如下图所示代码:

并请同学上讲台现场编写代码完成所需的功能。如果学生在编写过程出现了错误,教师应该在课堂上做出讲解并给出解决方法。这样既调动了重修生上课的积极性,活跃了课堂气氛,同时教师对学生编程时易发生的错误,现场给予了解答,减轻了学生学习程序设计的畏惧心理。

同时,应采用将多媒体教学工具(如Flash)c程序调试相结合的方法,将C语言程序设计中内容比较抽象、比较底层、不易理解的部分,如排序算法,用直观的形式展现给学生。

例如,在讲解选择排序算法时,可以将如下图所示的Flash与VC++6.0的调试窗口做对照:

教师可以通过Flas与程序代码的互动,逐步地将选择排序算法程序每一步操作,形象直观地演示给学生。

3.强调算法的重要性。算法设计是C语言程序设计的灵魂,编程成功的前提是要分析出正确的算法,因此在教学中必须将算法设计作为程序设计课程的先导和教学重点,以培养和提高学生分析和解决问题的能力。笔者曾以求取任意正整数平方根为例,分别讲解了泰勒展式法与牛顿迭代法,并编写程序为学生展示了选取不同时间复杂度的算法对求解问题造成的影响。对于非计算机专业的C语言的重修学生而言,能够分析与设计简单的算法是我对他们的基本要求。要时时向学生传输这样一个观点:程序设计语言无论多么强大,多么流行,都是一种工具,而程序设计的根本目的是为了解决生产生活实际中的问题,对于解决问题而言,算法才是最重要的。

总之,以上是本人在C语言程序设计重修课教学过程中的一些体会,不一定完全正确,还需要我们不断地去探索,取长补短,不断完善。

参考文献:

[1]常本勤.基于问题的学习模式在程序设计类课程教学中的应用[J].计算机教育,2010,(2).

c语言程序设计篇(6)

中图分类号:G642.4 文献标志码:A 文章编号:1674-9324(2014)22-0150-02

一、引言

目前关于C语言程序设计课程在教学策略方面所做的探索与改革不少,而在教学策略的整体结构设计和教学策略的内涵研究方面略显不足。目前,在C语言课程的教学策略设计、使用和研究中主要存在如下问题。

1.教学方法与教学内容特性不匹配。在教学策略的设计中,对所运用的教学方法必须要考虑学科和教学内容的特点。但是在高校实际的教学活动中,教师对教学方法的特点、基本操作程序及使用条件了解不足,对教学方法的选择与使用存在很大的盲目性和单一性,导致教学内容与教学方法的脱节。

2.教学手段与教学内容特性的不匹配。传统课堂教学、多媒体教学和网络教学三种教学手段都有各自的优缺点,无法用某一个完全替代另一个。同样的教学内容采用何种教学手段虽然没有严格规定,但简单采用单一的教学手段而不考虑教学内容是否适应所带来不理想的教学效果是显而易见的。

二、C语言课程的主要特点

C语言课程做为程序设计语言的一门重要基础课程,无论从课程内容还是教学思维上都有其自身特点,分析与把握这些特点是教学策略优化设计的基础。

1.程序结构类型和概念多。C语言课程教学内容按照其描述和作用特点分为多种类型,而且涉及到的概念众多,包含大量的定义、语法、概念、语句,每一章都是以某种程序结构和相应语法规则为主线来进行描述。

2.操作应用性强,思维转换要求高。要达到培养学生具有使用计算机解决实际问题的初步能力这个目标,就不能仅局限于单纯培养学生的操作技能,而是要注重在教学内容的组织和讲授中引导学生从自然思维考虑问题转换为从计算机思维考虑问题,也就是要按照计算机求解问题的基本方式去考虑问题的求解,提出问题解决的方法,构建出相应程序等的能力。

三、C语言教学策略设计

1.教学策略设计宗旨。教学策略优化设计的宗旨是将教学内容、教学组织形式、教学方法与教学手段这四个教学活动的构成要件,进行科学的选择与组合而构建起“立体式教学策略”。其中教学方法与教学内容如何相匹配是教学策略能否有效地提高课堂教学质量的核心问题;教学手段与教学内容如何相匹配是能否利用先进技术手段提高教学质量的关键问题。

2.立体式教学策略设计基础。立体式教学策略设计首先要完成以下两项基础工作。

(1)教学内容属性分析。教师作为教学活动的主导者和组织者,应该对课程教学内容的特点和属性有清晰的理解。在教学实践中,教师重视和了解教学内容的分类,对于教师帮助学生获得与生成知识和能力有很好的促进作用。

教学内容的分类属性:C语言的教学内容可以归纳为为概念型、原理型、描述型、推导型、类比型、操作型等类型。比如,概念型是指反应客观事物的一般的、本质的特征的符号;操作型是指关于如何做事、如何完成一项工作的知识,通常为一系列动作、行为程序,或者完成任务所需的步骤等。例如,概念型:反应客观事物的一般的、本质的特征的符号,如函数定义、函数的分类。操作型:是关于如何做事、如何完成一项工作的知识,通常为一系列动作、行为程序,或者完成任务所需的步骤,如函数调用。推导型:是由某些已知因素依据定理、公理等逐步推到获得结论的知识,如函数嵌套调用。策略型:为有效的实施战略或更好地达到某一特定目标而采取的特殊措施。

(2)教学方法与教学手段特征分析。结合教学内容的属性特点选择不同的教学方法和教学手段,将其运用于教学中就会显示不同的效果。依据教学方法和教学手段的作用与特点,对教学方法和教学手段的特征进行了分型和归类。①教学方法分类。教学方法从大的方面可以分为主导类、主体类和双主兼容类,进一步细分又有概念获得式、探究式、抛锚式、范例式、自学-辅导式、自主学习式等等。②教学手段分类。教学手段主要分为传统的口述+黑板的形式、多媒体教学手段和网络教学手段。其中多媒体技术教学手段使用文字、图形、动画、声音等以动态的方式呈现每个知识点,极大地增加了信息量,使得学生更加容易接受知识。

3.立体式教学策略设计步骤。分两步对教学策略的教学要件进行组合,设计C语言课程的立体式教学策略。①建立教学要件标识表。建立教学方法特征标识表。建立教学手段特征标识表。建立教学内容特征标识表。②建立组合匹配关系。针对教学要件确定如下组合原则:对于概念型等的易于发挥教师主动施教作用的教学内容可采取实施传递―接受式、概念获得式等教学方法。对于操作型等的强调发挥学生在教师指导下作为学习主体的教学内容,可采用探究式、抛锚式等教学方法。对于研究型的教学内容,可在以教师为中心的传递―接受教学模式基础上,采用探究式或自学―辅导教学模式,培养学生的创新能力、思维能力和自主学习能力。采用探究式、自学―辅导式等教学方法,培养学生的程序思维能力,更多采用多媒体技术的特有手段,如图形、动画、链接等。③设计C语言课程立体式教学策略。C语言课程立体式教学策略的设计结构举例如下:A内容属性为事实型,知识点如什么是函数、指针变量的含义,教学方法可采用传递─接受式,教学手段使用板书+多媒体课件+动画演示;内容属性为概念型,知识点如输入输出函数、选择结构定义、循环结构定义、函数的定义、初始化及指针的运算、一维、二维数组的基本概念等,教学方法可采用概念获得式、抛锚式式范例式等,教学手段使用板书+多媒体课件+动画演示。B内容属性为操作型,知识点如输入输出函数、选择结构、循环结构掌握函数的调用及参数的传递方式、函数语法规则,指针的运算、指针与变量的关系、指针作为函数的参数,教学方法采用抛锚式、探究式、自主学习式等,教学手段可采用多媒体课件+动画演示+网络资源。④制定教学策略课堂实施方案。在C语言立体式教学策略的基础上,针对课程的每个章节教学内容,即可制定出立体式教学策略的具体实施方案与相应的多媒体课件。

四、结束语

立体式教学策略的设计与使用,通过解决以下三个具体教学问题,提高了C语言课堂教学的教学质量。

1.强化了教学方案设计的科学性。立体式教学策略兼具稳定操作性和动态层次性,既科学规范了课堂教学活动,也提供了教师充分发挥自己的创造性、主动性的弹性空间,克服了课堂教学方案设计的随意性和不合理性,强化了教学方案设计的科学性。

2.保证了教学方法使用的针对性。依据教学内容的属性特点选择合理的教学方法,将教学的组织形式变“线性式教学设计”为“拓扑式教学设计”,克服了教学方法的选择与使用中存在的盲目性和单一性,保证了教学方法使用的针对性。

3.提升了多媒体课堂的教学效果。根据教学内容的属性特点,参考教学方法的运行程式,结合多媒体技术的表现力、接触面、参与性等因素,通过教学要件的恰当组合,克服了多媒体课件的“简单演示化”、“照搬书本化”等缺点,提升了多媒体课堂的教学效果。

参考文献:

[1]张敏,郑盛娜.基于学生认知风格的教学策略设计[J].浙江教育学院学报,2009,(06).

[2]吴文胜,盛群力.论有效教学策略的设计[J].杭州师范学院学报,2002,(09).

c语言程序设计篇(7)

由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。包括了程序模块处理.简单界面程序.高级界面程序.程序的添加修改.用程序做一元线性回归处理以及用c语言程序来画粒度分布图等这几样比较重要的时间操作。

上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。

学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。因为学时所限,课程不能安排过多的统一上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。为此,我们结合课堂讲授的内容和进度,安排了12次上机实验。课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:

1.加深对课堂讲授内容的理解

课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。然而要使用c语言这个工具解决实际问题,又必须掌握它。通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。

学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。即把c语言作为工具,描述解决实际问题的步骤,由计算机帮助我们解题。只有通过上机才能检验自己是否掌握c语言、自己编写的程序是否能够正确地解题。

通过上机实验来验证自己编制的程序是否正确,恐怕是大多数同学在完成老师作业时的心态。但是在程序设计领域里这是一定要克服的传统的、错误的想法。因为在这种思想支配下,可能你会想办法去"掩盖"程序中的错误,而不是尽可能多地发现程序中存在的问题。自己编好程序上机调试运行时,可能有很多你想不到的情况发生,通过解决这些问题,可以逐步提高自己对c语言的理解和程序开发能力。

2.熟悉程序开发环境、学习计算机系统的操作方法

一个c语言程序从编辑、编译、连接到运行,都要在一定的外部操作环境下才能进行。所谓"环境"就是所用的计算机系统硬件、软件条件,只有学会使用这些环境,才能进行程序开发工作。通过上机实验,熟练地掌握c语言开发环境,为以后真正编写计算机程序解决实际问题打下基础。同时,在今后遇到其它开发环境时就会触类旁通,很快掌握新系统的使用。

c语言程序设计篇(8)

中图分类号:TP3-4

1 引言

1.1 课程介绍

《c语言程序设计》课程是我院警察技术系司法信息安全专业、计算机应用专业和计算机网络专业等专业一般学习领域课程,是学生进入大学所接触的第一门专业课,同时,这门课程也是《数据结构》和《软件工程》课程的前导课程。教学实践证明,该课程对学生是否可以形成编程思想,能否建立利用计算机求解问题的逻辑思维能力是至关重要的,也将直接影响后续课程的教学效果。因此,改进教学方法、提高教学质量是高职高专教学课程改革的一项艰巨任务。

传统的c语言教学模式侧重于c语言语法知识的讲授,学生的关注点集中于语法知识的记忆和理解中,无法形成真正的编程思想[1]。这使得学生很难自己写出程序,一味地“照猫画虎”,甚至有学生出现死记硬背程序才能记住的情况。这样就导致了学生的学习兴趣不浓,学习停留在表面,学生学起来枯燥,教师也教起来费劲。

1.2 传统教学资源的不足

传统的《c语言程序设计》的教学模式是以课本为主,辅以PowerPoint课件,由老师向学生讲授相关程序设计知识,教师占据主导地位,学生普遍反映“老师讲的都懂,例题也能看懂,就是不会编程”的困惑。我们必须开发多层次的教学资源,让学生成为主体。

2 多层次的教学资源建设

伴随着现代教育技术的发展,高等学校教学资源建设正在从传统的纸质教学资源向数字化、电子化方式转变,从单一载体向多媒体产品和多样化教学资源服务方式转变,从而形成了以纸质教学资源和数字化教学资源相结合的立体化教学资源。这不仅给高校教学工作提供了强大的技术支持和资源保障,也在迅速改变着学生的学习内容和学习方式[2]。

我系多层次的《c语言程序设计》课程的教学资源除了常规的教材外还包括教学参考书、电子教案、多媒体课件、试题库、网络资源建设以及在线练习系统等。

2.1 教材与教学参考书

我系为司法信息安全专业、计算机应用专业及计算机网络专业的学生选择的教材是北京邮电大学出版社出版的《c语言程序设计案例教程》,该书采用案例导入的形式展开知识点,重难点突出,讲解清楚细致。

另外,我系学生要求在毕业时必须获得全国计算机等级二级证书,教学参考书的内容就是紧跟当年的二级考试大纲所出台的考点解析与训练,从计算机二级(c语言)所重点考查的阅读程序能力、改错能力和编程能力一一解读,总结出相应知识点,并对历年真题进行详细分析,最后自测题可供学生自行检查自己对知识点的掌握情况,查漏补缺。

2.2 电子教案建设

依据教材内容和学生实际,我系教师编写了与纸质教材配套的电子教案。电子教案按照所分配的学时数进行模块的分类,反映了教师的教学思路、对知识点的把握及所采取的教学方法,体现了教材内容的精华,也是学生复习的重要指南。

2.3 多媒体课件

多媒体课件作为教师上课的重要方式,在我院得到了足够的重视。我院每年都进行一次多媒体课件大赛,教师们互相沟通、互相学习,极大的提高了自身创作课件的能力。

配以光投影设备和苏亚星教学系统,通过屏幕广播功能向学生播放已制作好的多媒体课件,不仅能节省教学时间,增强理论教学的直观性,而且能让学生看到老师对于操作步骤的演示,重、难点也能生动地加以表现。

2.4 试题库

我系司法信息安全专业、计算机应用专业和计算机网络专业的学生要求双证毕业,即毕业证和全国计算机等级二级证。笔者收集了历年的二级笔试和机试真题,紧跟二级考试题型的变化,按照知识模块,根据我系学生的实际,针对相同知识点归纳设计了一套试题库,利于学生练习及查漏补缺。

同时考虑到一些有能力的同学“吃不饱”的情况,笔者收集了我系学生曾参加过的由工业与信息化部主办的第二、三、四届“蓝桥杯”软件人才与设计大赛中的较为合适的填空题和程序设计题,以扩宽学生视野,并有助于选拔竞赛学生。

2.5 网络资源建设

在我院创建示范性高职院校的契机下,我院与清华大学教育技术研究所合作,共同开发了一个教师、学生可以共同参与的网络教学综合平台。网络教学综合平台按功能分为了精品课程、研究型教学和教学资源中心。在这个系统里,教师可以申领课程,并把自己有关课程的所有相关资料上传,比如课程介绍、教学大纲、教学日历、教学材料、答疑讨论、课程问卷、教学笔记、课程作业、在线测试和试题试卷库等内容。教师通过上传教学资料,梳理了本门课程的所有已有资料,为今后的精品课建设提供了资料保障;答疑讨论区给教师和学生提供了一个不受时间和空间限制的平台,学生们可以在上面对疑难问题进行讨论,老师对集中出现的问题进行答疑,不必局限于课堂。教师也可以在网上总结出学生反映比较突出的重、难点,在课堂上集中答疑,使学生的问题得到及时解决,以达到较好的学习效果;课程作业也不必拘泥于课堂和书面的形式,学生在网络教学综合平台上在复习过老师讲授的内容后对作业予以解答,便于学生掌握相关知识。

2.6 在线练习系统

为贯彻落实《国家中长期教育改革和发展规划纲要(2010-2020年)》和《国务院关于印发进一步鼓励软件产业和集成电路产业发展若干政策的通知》有关精神,加快高等院校IT类专业教学创新与改革,提高学生自主创新意识和工程实践能力,促进高校IT类专业就业指导工作,工业和信息化部人才交流中心自09年起举办了“蓝桥杯”全国软件和信息技术专业人才大赛。经过了5年的发展,2013年“蓝桥杯”在其官网上开辟了一个新模块――“蓝桥杯”全国软件和信息技术专业人才大赛练习系统。本系统主要面向参加“蓝桥杯”的老师和同学,帮助参赛的同学熟悉比赛试题的形式和解题方式。通过使用这个系统,同学可以学习到一些重要的编程方法,提高编程水平。系统中的试题集中分为入门训练、基础练习、算法训练、算法提高和历届试题共5个部分。

在实际授课过程中,笔者在网络教学的基础上,借鉴了这套在线练习系统,取得了较好的效果。具体来说,笔者给学生安排入门训练和基础练习的试题,由于练习系统的测评功能对程序的格式、注释等要求较高,这样就对学生形成的编程风格有一个很好的监控,有助于培养学生良好的编程习惯。在线练习系统把相同难度和特点的试题形成一组,同组的试题具有相关性,帮助同学学习与提高程序设计、算法和数据结构的知识。采用这样的在线练习系统,能建立起《c语言程序设计》与后续《数据结构》和《软件工程》课程的衔接,有助于学生综合素质的提高。

3 结束语

2006年开始,教育部与财政部全面实施“国家示范性高等职业院校建设计划”,启动了高等职业教育专业教学资源库建设。这项工程为全国高职院校提供一个经验交流和资源共享的平台,更重要的是通过建设专业教学资源库,带动全国高职院校专业教学模式和教学方法改革。我系在这样的大环境下,对专业领域的教学资源进行开发,取得了一定的成绩,但是跟示范性院校还有差距,今后还有很长的路要走。

参考文献:

c语言程序设计篇(9)

1.引言

就C语言程序设计课程而言,它是一门具备较高的教学要求的课程,教学工作者在开展教学活动的过程中,不能只停留在传授学生与C语言程序设计相关的语法知识,还需要注重对学生程序设计方法的教学。长期以来,教学工作者利用传统的教学模式,学生对C语言程序设计课程存在较强的抵触心理,尤其是刚离开初中步入中专的学生。学生出现抵触心理的原因可能是多方面的,主要原因是学科难度大、教学工作者要求严和课程内容多等。考虑到上述情况,改革C语言程序设计课程教学模式迫在眉睫,下面介绍具体情况。

2.目前C语言程序设计课程教学中存在的问题

C语言程序设计作为高校理工科非计算机专业本科学生的一门较重要的计算机基础课程,在整个教学中扮演着较重要的角色。通常情况下,C语言程序设计所涉及的课程内容是较为抽象的,还涉及大量的概念及语法,尤其强调技巧的适用性。一直以来,教学工作者倾向于探索和实践有关C语言程序设计课程教学的改革,却不断出现各种问题。

例如,教学工作者在开展教学活动的过程中仍旧采用以往的教学模式,而不是把实验环节和课堂教学环节进行较科学合理的搭配,导致理论与实际教学相分离,不能有效培养学生的实践能力和创新能力。此外,还会造成学生不能对问题进行合理有效的分析、编程和调试,制约学生整体能力的提高,严重影响课堂教学效率。考虑到这种情况,教学工作者进行了相关的改革和调整。通过这些改革和调整,在很大程度上调动了学生学习的积极性,使其积极踊跃地投入到了课堂教学活动中,有效地培养了动手能力和解决实际问题的能力,提升了教学效率。

3.C语言程序设计课程教学改革的措施

3.1改变传统教学模式,将学生作为教学主体。

把学生当做教学主体的教学模式在很大程度上能够使教学工作者挣脱传统的教学模式,由传统的教学状态变为导学状态。在这样的情况下,教学工作者可以通过各种教学设备和学习资源,向学生讲解重点、难点和疑点,还可以为学生讲评作业,进行辅导。传授给学生相关的学习方法等,进而在充分发挥学生主体作用的同时,有效调动学生学习的积极性,最终增强学生的自学能力。在课堂教学活动开始前,教学工作者应该充分认识和掌握学生的基本情况,按照学生的具体表现认识和掌握学生目前的学习状态,合理安排后续的教学和辅导内容。对于学习成绩处在中上等的学生,教学工作者要为其安排合适的教学内容,适当增加学习难度和深度,进而有效培养学生通过程序设计处理实际问题的能力。

3.2倾注更多精力于C语言程序设计课程教学。

在开展课堂教学活动的过程中,教学工作者要注重调动学生的学习积极性。学生的学习状态在很大程度上决定学习效率。教学工作者应该倾注更多精力于C语言程序设计课堂教学,引导学生更有效地学习这门课程。绝大部分学生在意的问题应该是学习这门课程对找工作或者继续深造有没有帮助。教学工作者需要从多角度考虑这个问题。在开展教学活动的过程中,可以适当引入时下较为热门的话题或者应用技术等辅助教学,进而有效提升教学效率。

3.3培养学生系统化的程序设计思维。

一直以来,在程序设计课程中都有注重语句、语法及细节等特点,并且大体上都是将程序设计语言自身的体系作为脉络。这在很大程度上导致学生在进行C语言程序设计课程学习的过程中缺乏兴趣,难以积极主动地投入到学习中去,严重影响教学效率。尽管学生学习了一些有关C语言程序设计课程的知识,但是编程能力很难增强,有些学生遇到实际复杂问题,束手无策。考虑到上述情况,教学工作者需要注重培养学生系统程序设计思维,提高编程能力。培养学生系统化的程序设计思维也就是提高学生身体力行解决实际问题的能力。通过这种手段,学生可以尽情探索未知问题,并进行分析和研究与创新。

3.4注重教学方法的改进。

为了达到C语言程序设计课程的教学目标,教学工作者在开展课堂教学活动的过程中需要适当改进教学方法和手段,有效培养学生的编程能力及创新能力。措施主要有:第一,做到课外和课内教学完美结合,有效培养学生的综合能力。第二,注重加大实践教学的份额,培养学生的创新意识和应用能力。第三,充分运用各种资源,适当开展网站互动学习。第四,通过多元评价方式考核实验成绩。

4.结语

教学工作者在开展教学活动的过程中,要注重借助对诸多教学方法和手段的研究和摸索转变教学理念。此外,还需要注重突出学生的主体地位,充分调动学生学习的积极性,有效培养学生解决实际问题的能力和创新能力,进而行之有效地推进C语言程序设计课程教学改革。

参考文献:

c语言程序设计篇(10)

引言

C语言程序设计课程足以C语言为平台,使学生全面了解程序设计的总体思路、程序没计的基本算法、C语言的语法规则以及使用C语言进行构化程序没计的方法,并具有一定的程序设计和程序调试的能力,为今后使用C语言解决实际问题打下良好的基础 由于C语言涉及的概念比较复杂,规则繁多,使用灵活,容易出错,同时该课程又是学生首先接触的第一门程序没计课程,所以很多学生学习起来都感到困难和吃力.并不同程度产生畏惧心理。

在C语言程序设计的教学工作中,我们发现,学生的学习热情不高,更谈不上综合应用能力的培养与提高。我们C语言课程教学组通过对我校C语言程序设计课程教学现状的调查分析,总结出了教学效果较差的主要原因,并从教材内容、教学方法、教学手段和、上机实践和考核评价体系五个方面进行了大胆的改革与实践,并取得了较好的教学效果。

一、C语言程序设计课程教学现状分析

为了实时掌握学生的真实学习情况,任课教师对学生进行了问卷调查。根据问卷结果及各位教师的教学经验,总结出我校C语言程序设计课程教学效果较差的主要原因有以下几点。

(1)内容抽象、枯燥,学生学习兴趣度低。相比第一学期已经或多或少有所接触并有一定基础的大学计算机课程而言,第二学期开设的程序设计课程是一种截然不同的全新的课程,出现了大量的新概念、新名词和新方法。上机时好不容易敲上了一个程序,一运行就会出现一堆错误。62.4%的学生看不懂错误提示,84.76%的同学不会使用单步跟踪、Watch窗口等基本调试工具,22.3%的同学竟然根本不知道这些调试工具。于是学生对该课程的学习举步维艰,学习的热情急速降温。

(2)实用性不强。近80%的同学认为C语言的语法知识学了一大堆,但不知道学这些语法有什么用,和自己的专业知识有什么联系。因此,多年积累下来,对C语言程序设计课程的普遍看法是:这是一门无用的公共课,混混过去就算了。于是,很多同学上课不听讲、下课不预习、不复习,周而复始,形成恶性循环。

(3)进度过于缓慢。C语言程序设计每周4学时,其中,2学时多媒体教室的课堂教学,2学时计算中心机房的上机实践。计算中心机房为多个班级公用,且无屏幕转播设施,因此教师的教学仅限于2学时的课堂教学。课时太少,加上学生兴趣度低,往往一学期下来指针刚讲了基本概念就结束了。有些为参加全国计算机等级二级c语言考试而努力学习的同学也因为指针内容学习太少而难以过关。

针对上述C语言程序设计教学效果差的原因,我中心C语言课程组的各位教师认真研读了“研究式学习”、“CDIO教学模式”、“计算思维”等理论及各种教学方法和实践方式,借鉴了哈工大全国精品课程“C语言程序设计”课程的先进教学经验,并结合各位教师多年的教学经验,制定了C语言程序设汁课程教学体系的改革方案。该教学体系改革方案从教材内容、教学方法、教学手段、上机实践和考核评价体系五个方面展开。

二、编写优质配套教材,实施教材改革

我们按照研究性学习的内涵编写了《研究式学习——C语言程序设计》教材,目前正在进行面向“计算思维”的新版教材的编写。该系列教材具备以下特点:

(1) 编写理念科学性强

整套教材的编写以“研究式学习”理念为指导,研究性学习是一种建构性的、追求协商的、尊重个性的、以人为本的“体验式学习”。在2006年的《国家精品课程评估指标》中新增了一条指标:“重视研究性学习、探究性学习、协作学习等现代教育理念在教学中的应用;能够根据课程内容和学生特征,对教学方法和教学评价进行设计。”所以研究性学习是以人为本的高等教育价值观的体现,是社会变革和教育发展的要求,也是精品课程的要求。研究性学习的关键是要在学习的各个阶段提出适当的研究问题,以便在学习过程中为学生创造能亲临体验地进行研究学习的平台,问题的提出贯穿在课堂教学、实验教学、课后作业、综合性作业以及评价的整个教学过程中。我们自2004年开始就致力于打造C语言程序设计精品课程,所有的教学和改革都围绕该指导思想进行。2007年以C语言程序设计为主体的“程序设计与计算机语言”被评为省级精品课程,2010年由教材主编主持申报到了省级质量工程教改项目“Inquiry Learning体系在程序设计课程中的运用”研究。这一系列的改革和研究都是以学生为主体,以培养和提高学生的计算机素养为最终目的而制定的。在教学过程中我们经常与学生座谈和交流,了解学生的需求,完善我们的教学,使我们的教材和教学模式能与时俱进,保持很好的前瞻性和科学性。

(2) 内容组织创新性强

本教材用“提出问题—分析问题—给出相关知识—举一反三”的研究式学习方式来组织“C语言程序设计”这门课程,在注重语言知识培养的同时,更注重逻辑思维能力、程序设计能力及创新能力的培养。内容组织方式新颖,符合认识规律,富有启发性,便于学习,有利于激发学生学习兴趣及各种能力的培养。本教材每章都通过4个步骤来完成学习:

第1步,通过提出问题、分析问题来激发学生的兴趣,引起学生的思考。

第2步,通过问题的解决、相关知识点的跟进,使学生能逐步提升程序设计的能力,掌握C语言的知识,引导学生深入思考。

第3步,用一定数量的编程实例使学生深入理解和掌握所学知识,用具有趣味性的综合应用编程实例培养学生的逻辑思维能力和编程能力,挖掘学生的创新能力。

第4步,对每部分的知识进行小结,以便学生进一步巩固应掌握的知识。

每章后面都有“综合应用”部分,让学生对所学知识的具体运用有明确的认识,并能在此基础上进一步巩固和提升。

三、采取多样性方法,实施教学方法的改革

(1)任务驱动教学方法

大多数学生反映C语言概念众多,许多知识点抽象且难以理解,学生不能将理论和实际应用结合起米, 任务驱动教学法是一种建立在建构主义学习理论基础上的教学法,它将以往以传授知识为主的传统教学理念,转变为以解决问题、完成任务为主的多维巨动式的教学理念;将再现式教学转变为探究式学习,使学生处于积极的学习状态,每一位学生都能根据自己对当前问题的理解,运用共有的知识和自己特有的经验提出方案、解决问题。在c语言程宁没计课中.体现“任务驱动”就是让学生在一个个典型的程序“任务”驱动下,教师引导帮助学生完成一系列程序“任务”,把知识的学习和知识的应用有机地融合在一起,让学生达到融会贯通、一点带面的效果。例如,在讲授C语言循环语句的教学时,按任务驱动教学模式不是孤立地介绍格式、作用和使用方法,而是将这一知识点设计为“计算1+2+3+……+1 00=?”这一具体的任务。首先,教师通过提出“任务”让学生把握教学内容,同学们会想象怎么完成这个任务,头脑里对前而的所学内容进行回顾,但前面学过的知识没法完成这种任务。接下来教师再讲解如何使用循环语句等具体操作方法,这样教学,学生学得快、学得牢。通过实践发现“任务驱动”法有利于激发学生的学习兴趣,培养学生的分析问题、解决问题的能力,提高学生自主学习及与他人协作的能力,缩短了学习周期。

(2) 项目教学法

很多学生在学完C语言程序没汁课程后,其结果是听得懂、却编不出程序来。针对这一情况,我们在教学过程中采用项目教学法。项目教学法是通过实施一个完整的项目而进行的教学活动,其目的是在课堂教学中把理论与实践有机地结合起来,充分发掘学生的创造潜能,提高学生解决实际问题的综合能力。在课程初期.主要是进行单项的编程练习,重在掌握C语言的基本数据类型、语句与程序结构等。在进入函数、数组、指针、结构体和文件内容教学时,开始综合实训项日的编程设计,每一个实训项日都呵以用前一个实训项目为基础。通过一个项目的层层递进,引入课程内容,使得学生的学习循序渐进,螺旋式地上升,效果很好,开阔学生的思维,使得学生在课堂上真正地成为“主体”,教师则扮演“主导”角色。该教学方法使学生积极参与到教学过程中,变被动为主动,有效地调动了学生学习的积极性,深受学生好评。

(3)比较教学法

C语言中的概念比较复杂,规则繁多.而且内容前后联系紧密,教学过程中教师通过对比的方式对相关的概念或类似的程序代码进行比较,进而明确差异,然后进行归纳总结,方便学生理解,将会收到事半功倍的效果 例如,C语言中的指针是教学中的一个难点.这一部分涉及的概念较多,如指向变量的指针、指向数组的指针、指向字符串的指针、指向函数的指针等。这些概念很容易混淆,但是将这些概念对比起来讲解,学生就很容易理解了。这些概念的共性都是指针,那么它们不同的地方在哪呢?关键在于指针变量的指向不同,指针所指向变量的数据类型决定了指针变量的用法。通过这样的讲解,概念的定义就很容易理解,概念的用法也就可以统一了。再如,数据的排序问题有多种算法,典型的有冒泡排序、选择排序、插入排序等,求解方程的根的算法也有多种,有迭代法、牛顿迭代法、二分法和弦截法等。这些算法之间既有联系又有区别,讲清楚了算法的联系和区别,也就解决了整个问题。

(4)启发式教学法

启发式教学法就是通过教师的启发教学充分调动学生的积极性、主动性和创造性,引导学生主动学习。例如,在学习printf()和scanf()函数时,通过比较式启发方法讲解两函数的功能、格式、使用特性等方面的异同,通过比较使学生更好地把握两函数的特征。在学习选择排序算法时,使用模拟式启发方法,让l0个学生随机坐在相邻的l0个位子上,然后现场模拟排序过程;在学习数据交换算法时,使用比喻式和问题式启发方法,将两个变量比喻成两个瓶子,将里面存放的数据比喻成醋和酱油,然后提问:如果将两个瓶子中的醋和酱油交换一下,应如何操作。

(5)“鱼渔兼授式”教学方法。C语言只是一种表述工具,如果只有扎实的语法知识,没有程序设计思想,根本就不可能写出程序;而如果有程序设计思想,但语法知识不扎实,势必在程序的编写、运行过程中遇到一系列的问题,从而影响学生的学习热情。而“鱼渔兼授式”教学方法可以在基础语法知识和程序设计方法之问找到一个平衡点,使之相辅相成。例如,在讲解数据类型时着重讲解为什么数据要分不同的数据类型,需要从哪几个角度学习不同数据类型的特性;讲解具体算法时着重讲解遇到类似问题时应从哪些角度分析问题,用什么方法进行程序设计从而解决问题;在课前精心设计一些错误,尤其是逻辑错误,然后讲解遇到错误可以采用什么手段去剖析、定位错误。

四、建立立体化教学体系,实施教学手段的改革

我们从2006年就开始了立体化教学体系的建设,我们建立了精品课程网站,实现了“在线教育”,现在我们课程的课件、课堂教学录像、软件、二级等考及相关阅读等教学资源都放在了网络上,作业也通过网络来实现布置、提交和批阅。师生之间可以通过教学邮箱和课程论坛进行交流,任课教师可以自己定制调查问卷,随时了解学生的动态和需求,还可以随时进行在线测试,课程考试已经完全实现了网络无纸化模式。学生可根据自身的情况进行课后自主学习、自测学习、互相学习或下载资料、上交作业,有助于学生的个性化发展和创新能力的培养。设计出包含验证型、引导型、扩充型和设计型等多种类型的实验,在实践中充分体现学生的自主性,有目的、分层次地培养学生的实践能力,使学生学会从实验过程中获取知识,积累经验。通过综合设计,为学生自己构建、发展并完善自己的知识体系创造机会,使学生具备获取知识和应用知识的能力,激发学生的创新精神,培养学生的团队精神和协作能力,全面提高学生的实践能力。

教学实践证明:学生在课程网站上作业及报告的提交率达到98%以上,问卷调查的访问量达到了85%以上,优秀设计作业的访问率达到90%以上,其他资料的访问率也高于60%。由此可见,立体化教学体系很好的实现了不受时间、地点限制的开放式教学。

五、上机环节的改革与实践

上机环节是教学活动的重要环节,是对学生进行基本技能训练、增强学生实践能力的关键环节,是培养学生创新精神的重要手段。本科实践教学的目的是优化学生的素质结构、能力结构和知识结构,让其具备获取知识、应用知识的能力和创新能力。对于《程序设计与计算机语言》课程,以往的实践教学内容和题目以验证型和设计型为主。验证型的题目只要求学生按照书本上的指示,输入程序,填写结果即可,学生处于被动接受的地位,学生觉得无趣,毫无创意;设计型的题目对于非计算机专业学生来说,难度太大,学生无从下手。为了全面提高学生的实践能力和应用能力,使实践教学能满足不同层次学生自主学习的需求,我们制定并实施了以下改革措施:

(1)改革上机实践的教学模式:将以理论教学为主的教学模式改为由理论教学和实践教学相互联系、相互交叉、彼此渗透、有机结合、同步发展的教学模式,确立了实践教学在《程序设计基础》课程中的重要地位。

(2)设计多种类型的实验题目:针对学生存在基础不同、接受能力不同、个性有差异等问题,设计出包含验证型、引导型、扩充型和设计型共四种类型的实验,题目尽可能做到覆盖知识点,切合实际、生动有趣。通过完成不同类型的实验,有目的、分层次地培养学生的实践能力,使学生学会从实验过程中获取知识,积累经验。

(3)在实践中充分体现学生的自主性:实验课的实验任务由规定实验内容和自主实验内容两部分组成。学生在完成规定的实验任务后,可根据自己的兴趣和爱好,自主设计一些实验任务,在教师的指导和帮助下加以完成和实现。通过自主学习和自主设计,能有效地培养学生应用知识的能力和探索精神,极大地激发学生的学习主动性。

(4) 启发引导学生的创造性,培养学生的团队协作精神:本课程要求学生以小组(3~5人)为单位进行综合性程序设计,设计题目主要由学生自己按综合设计要求来确定,每个小组推选出一名小组长,负责协调程序的开发、与教师和组员的联系、提交总的设计报告和完整的源程序等工作。在综合设计过程中,学生处于主导地位,是核心。学习小组的组建,综合设计题目的选择或确定,各组员任务的分配与协调,任务完成后的总结与成绩的自评等,主要是按学生的意愿来进行。教师只负责宏观指导和一些条件支持。当学生的选题不符合要求或系统功能设计不合理时,教师会立即指出,并帮助他们修改和完善;当学生调不通程序或程序中有错误时,教师会向他们介绍调试方法和查错方法,教会他们调试程序。对学习好、能力强的优秀学生,教师会注重开扩他们的思路,启发他们的思维,引导他们去获取新知识、去探索新问题,激发他们的创新欲望,使他们能完成高水平的综合设计。通过综合设计,可充分体现以学生为中心的教学方法,为学生自己构建、发展并完善自己的知识体系创造机会,使学生具备获取知识和应用知识的能力,激发学生的创新精神,培养学生的团队精神和协作能力,全面提高学生的实践能力,从而有效地提高《程序设计与计算机语言》课程的教学质量。

六、考核评价体系的改革

我校C语言程序设计课程的成绩分为理论和实践两个分数,各2个学分,两项成绩都合格即可获得该课程的4个学分。其中:

理论课综合成绩(百分制)=平时(百分制)*(50%)+末考(百分制)*50%;

上机实践综合成绩(百分制)=平时(百分制)*(60%)+综合设计(百分制)*40%;

理论成绩由平时成绩和末考成绩组成。其中:平时成绩由上课考勤、作业提交、阶段性实验报告组成,占总成绩的50%;末考指的是期末闭卷无纸化考试,末考侧重于基础知识测试,考核学生对基本概念的掌握。题型包括:判断题、选择题、填空题和编程题,判断题题型重点考察学生对基本知识点的掌握程度,选择题和填空题重点考察学生对程序的阅读、理解和分析能力,编程题则重点考察学生编写程序的能力。

无纸化考试采用的是我们中心自己研发的考试系统,但该系统存在一点缺陷,就是编程题需要人工阅卷。因此,我们于2012年开设了一个试点班,本着提高学生编程能力的目的出发,从平时的教学和最后的考试都试用了哈工大研发的《C语言编程题自动评分系统》。该系统允许学生借助于 C编译系统调试程序,学生将自己编写并调试过的程序由客户端提交给服务器端后,服务器端立即根据学生程序的结构和语义进行评分,并将评分返回给客户端,使学生在提交程序之后立即看到自己的分数。

上机实践成绩则由平时成绩和综合设计成绩构成。其中:平时成绩由上机考勤、在线单元测试组成,占总成绩的60%;课程最后提交的综合设计则占到了40%。

该考核评价体系涉及到教学实施过程中的每一个环节,有利于对学生进行科学、客观的评价,从而避免了一张考卷定乾坤带来的弊病。

该体系在实施过程中显现出了其科学性,但是目前存在的问题就是教师的负担太重。一个学生一学期一般要提交12份报告,每位教师一般带两个班,每个班约88位同学,这样每位教师一个学期只报告一项就要批阅约2000份,工作量太大。现在正在努力寻求更加合理的解决方法。

七、结束语

教学实践证明,以上改革措施能够有效解决我校C语言程序设计教学过程中存在的问题。此教学模式下,教学内容符合学生专业特点,能够满足理工科专业学生对计算机技术的需求;教学方法行之有效,教学效果有明显提高;教学实践方法与措施切实可行,能够有效促进学生分析问题解决问题能力、实践能力及团队合作能力等能力的培养与提高。当然,该模式仍然存在一些不尽如人意的地方,这就需要我们坚持不懈,继续努力去改进和完善。

项目来源:云南省高校质量工程教改项目“Inquiry learning体系在程序设计中的运用”(云教高[2010]96号)。

[参考文献]

[1]王刚.CDIO工程教育模式的解读与思考[J].中国高教研究,2009(5).

[2]谢延红.C语言程序设计公共课教学模式改革与实践[J].计算机时代,2010(12).

c语言程序设计篇(11)

[中图分类号] G642 [文献标识码] A [文章编号] 2095-3437(2013)11-0122-02

随着科学的发展,计算机技术得到了日益广泛的应用,这对高校非计算机专业大学生的计算机水平也提出了更高的要求。他们除了要具有计算机操作能力,还要掌握一定的计算机编程技巧。因此,高等院校都把计算机语言的学习纳入了教学计划,程序设计课程也作为了非计算机专业学生的重要基础课程。

“C语言程序设计”课程是学生进入大学的第一门计算机程序设计课程。“C语言程序设计”课程不仅要讲解计算机高级语言的语法、语义和编程技巧等,更主要的是要向学生传授程序设计的基本思想、方法,培养学生逻辑思维、组织协作和创新开发的能力,以便将来更好地将这些知识应用于专业课程的学习,同时在未来的就业过程中能更快地融入社会,真正成为符合时展,适应社会需求的高科技人才。

一、“C语言程序设计”课程现状分析

“C语言程序设计”课程的理论性和实践性都很强。目前,通常的安排是总学时为64学时,理论与实验学时的比例为3:1。在理论课上既要讲基本的语法知识又要讲编程方法,在实验课上既要进行基本的验证性实验又要进行项目开发。由于学时的严重不足,教师往往顾此失彼,学生也疲于奔命。学期结束后,学生普遍感到程序设计课程晦涩难懂,不会应用,无从下手,许多学生因此失去了学习热情。专业课教师也反映学生的计算机编程能力很低,应用水平差,不能满足专业课的要求。

二、“C语言程序设计”课程的改进措施

(一)分段教学法

“C语言程序设计”课程在教学中可以采用“分段教学法”。将整个学期的教学活动分为两段,第一段教学专门用来介绍基本语法,夯实基础知识;第二段教学则集中讲编程,是对“C语言”知识的全面应用。

在第一段教学中,许多C语言教材在语法的讲解上过难、过细,偏离了实际应用,同时也影响了学生的学习积极性和自信心。

全国计算机等级考试(National Computer Rank Examination,简称NCRE)是经原国家教育委员会(现教育部)批准,由教育部考试中心主办,面向社会,用于考查应试人员计算机应用知识与技能的全国性计算机水平考试体系。考核内容是根据社会不同部门应用计算机的不同程度和需要、国内计算机技术的发展情况以及中国计算机教育、教学和普及的现状而确定的,是贴近实际的一种要求。学生在学完“C语言程序设计”课程后,应该能通过国家非计算机专业计算机等级考试的二级测试。因此,“C语言程序设计”课程第一段可以参照计算机等级考试(二级C语言)的大纲,调节教学内容,同时,实验及练习题均可以从历年的等级考试真题中选择。这样既节省了时间又有针对性,符合了社会的需求,也为学生顺利通过计算机等级考试打下了良好的基础。

第二段教学则全部用来培养学生的结构化程序设计思想和训练学生的编程能力。在这段时间里可以先向学生讲解经典例题的设计思想,剖析编程技巧,再向学生布置一些与实际相关联的题目,让学生通过自己的分析和思考来完成,并撰写报告。这样不仅帮助学生提高了编程能力,更培养了学生独立分析问题和解决问题的能力。

(二)项目驱动法

由于学时有限,往往不能在课堂上达到所有教学目的。可以在学期的开始,向学生布置一些较大的、综合性的项目,项目的实现将贯穿学期始终。

例如“学生成绩管理系统”,在讲第一章C语言概述时,在学生熟悉结构化程序设计方法的同时引出题目,通过自顶向下的设计方法设计出“学生成绩管理系统”的各个模块,如图1所示。

在讲数据类型时,介绍学生、教师、成绩等结构体数据类型所涉及的各个基本数据类型,使学生对数据类型的概念有一个清晰和整体的认识。

在选择结构程序设计这一章里,让学生设计一个显示界面,在选择不同的选项时显示不同的信息、实现不同的功能,同时,在这章可以实现依据输入的成绩评定学生成绩的等级,如“A”、“B”、“C”和“D”等。

在数组一章,学生知道了如何通过数组输入多个学生信息。

在函数一章,可以教学生将各个模块的功能通过子函数实现。

在结构体一章,学生学会如何建立学生、教师、成绩等构造数据类型。

在指针一章,让学生通过指针快速访问数据。

最后在文件一章实现对学生数据的存储和读取,最终完成这一项目,实现项目的全部功能。

在整个教学过程中,层层深入,环环相扣,在推进教学内容的同时逐步完善此项目。

教师可以根据学生人数为学生布置若干个项目,将学生分成多个小组,分工协作,共同完成。这样,既能让学生体验项目的开发、完成的全过程,又能培养学生团结协作、共同进取的精神,为学生毕业后走向社会、融入群体打下良好的基础。