首页 优秀范文 c语言程序设计

c语言程序设计赏析八篇

时间:2022-03-17 13:31:36

c语言程序设计

c语言程序设计第1篇

摘要:“C语言程序设计”是计算机学科的一门专业基础课程,对后继课程的学习有着较大的影响,提高这门课程的教学质量对于培养学生的编程思想和实际编程能力至关重要。本文针对构建课程体系、规范教学行为、教学改革、教材建设和形成教学团队等问题进行了探索。通过多年实践表明,课程建设不仅有利于培养学生学习兴趣和学生的实际编程能力,而且有利于师资队伍的建设和发展。

关键词: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

(Computer Sci-tech Department, Bengbu College, Bengbu, Anhui 233030)

c语言程序设计第2篇

关键词:C语言;教学策略;教学内容;教学方法;教学手段

中图分类号: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).

[3]斯彩英.浅谈多媒体条件下的课堂教学策略设计[J].职业教育研究,2004,(09).

c语言程序设计第3篇

关键词: C语言程序设计 教学改革 改革措施

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语言程序设计课程教学改革。

参考文献:

[1]迟永芳.《C语言程序设计》教学改革探索与践行[J].黑龙江科技信息,2013(13):297.

c语言程序设计第4篇

1  实践课程简介

本课程属于我校计算机类本科生的第一门专业基础实践课,课程内容包括C++语言程序设计的理论和实践两个部分。基础理论部分内容包括C语言程序设计的基本概念、C++面向对象程序设计、类、对象、继承、派生、多态、模板等概念。实践部分则包括C++语言程序设计的基本训练、类和模板的设计编程、几个算法的实现、简单应用等。

C++语言程序设计是计算机类本科生的一门程序设计语言基础课程,虽然现在大多数程序员使用Java语言做项目开发,但作为程序设计的入门语言,考虑到在培养程序员思维方式的转变过程中,既要兼顾理解计算机硬件和软件的结合,又要程序员从传统的数学逻辑思维方式继承并成功转型到计算机逻辑思维方式。目前也只有C或C++语言能够较好的满足这种需求。

本课程注重采用C++编程语言的最新国际标准[1],结合我们学校实验室硬件的情况,尽可能采用国际上正在流行的比较新的编程软件进行实践教学。使得课程的讲授内容始终跟踪C++程序设计语言的前沿性和先进性。积极学习和引入国内外同行的先进教学方法和教学案例。简单介绍C++语言程序设计的几个流派、现实的应用情况及未来发展趋势。

本课程强调学生在认真听课、阅读理解课本上的有关程序设计的概念、方法外,还要善于利用互联网的资源,特别是学习C++语言程序设计的几个官方网站、几个行业大牛的网站上的知识。在理解理论的基础上展开实验验证,不断的修正自己的理解偏差,使自己学到的知识不断完善,形成体系,为后续课程的学习打下一个坚实的基础。在C++语言程序设计实践教学过程中,强调合作能力的培养,团队意识的形成。自2004年以来,本课程教学效果得到学生的一致肯定,锻炼和培养了学生的实践能力,比较好的完成了本门课程的教学任务。

2  实践教学目标

本课程的实践教学目标包括:学生通过本课程的学习、实践,让学生从中学生传统的数学思维方式转变为结合计算机软硬件特点和计算机逻辑的计算机思维模式去分析问题、编写程序、实现解决问题。通过C++语言程序设计课程的实践训练,了解什么是面向对象的设计思想,养成良好的程序设计风格。利用C++语言程序设计来解决一些实际问题;学会自顶向下,逐步细化,会把复杂问题拆解为几个更为简单的问题,利用面向对象技术进行设计和编程。培养团队协作和开放意识,为计算机类专业后续课程的学习打下一个良好的基础。

3  实践教学方法、手段(举例说明采用的各种教学方法及手段的使用目的、实施过程、实施效果)

①建立以转变传统数学逻辑思维方式为结合计算机软硬件特点的计算机逻辑思维方式为主线的,分层级、渐变式的实验教学体系。首先训练学生学习计算机编程的三种基本逻辑,数组等数据的组织方式,学会排序等几个简单常用算法、解决一些简单问题。然后学习把数据和定义在数据上的操作整合在一起引入类的概念、学会类的定义、理解继承、派生、多态、学会模板的定义和使用、学习文件的使用方法。使学生养成良好的程序设计风格、形成计算机逻辑思维模式。

②采用灵活多变的教学方法,加快提高学生的编程能力。实践教学过程中,针对一些具体的例题,先解决基本问题,然后分析对于一些语句进行适当修改和加入新的语句就可以解决类似的其他问题。设计、利用一些实验数据发现所设计的程序的关键性问题,然后引导学生去解决此类问题。因为本门课程是学生接触的第一门实践性课程,教学过程中引出的问题有些是当前阶段可以解决的,一些问题还要通过后续课程的学习提高能力后才能解决,不一定马上就要把问题解决掉、重点是培养学生继续学习的兴趣。激发学生自主学习的积极性、主动性和能动性。

鼓励学生自主组建C++语言程序设计兴趣小组去找协作课题、完成课程设计作业。实验课堂上也鼓励学生多走动、多交流。建立网上资料、技术分享机制、鼓励学生分享解决问题的方法,老师根据学生的分享情况,适当增加学生的平时成绩。

③逐步建立学校和社会的协同培养模式。在教学过程中,课外时间如有可能,适当组织部分学生走出校门,利用校友资源,组织参观企业、科研院所、地方政府等单位在计算机方面的应用情况。了解社会需求、拓展视野、激发学生学习本专业的积极性。形式多样的人才培养协同创新模式。教学团队通过学院与广州易数信息科技有限公司、广东省信息安全测评中心、广州杰赛科技股份有限公司、广州腾科网络技术有限公司等企事业单位建立了长期战略合作关系。这些都为创新型人才培养打下了坚实的基础。

4  实践教学考核方法

本课程的总评价分数包括平时考勤,平时作业,中段考试、期终前上机考试、课程设计与新技术资料翻译,期末考核六部分。分别占10%、10%、15%、15%、10%、40%。其中,平时作业主要是针对课程中每章节后,为巩固所学内容所布置的习题编程实现;课程设计则主要是训练学生的协作能力和解决实际问题的分析、设计、编程能力、要求提交一份相对完整的设计文档;英文资料翻译采用自主选择网络上国外近半年来计算机类的英文资料、鼓励组团分解翻译大块文件,要求每人翻译至少2个A4版面。期末考试通过闭卷方式考核程序设计的能力,期终考试占总成绩的40%。

5  实践教材

本课程的实践教材为本课程主持人及参与人员王玉山等所编著的《C++语言程序设计实践》,该教材现在只有电子稿,还没有正式出版。

6  实践教学环境和教学资源

本课程的实践教学环境为:①学习版的微软公司的Visual Studio Visual C++的集成开发环境。②Bloodshed Dev-C++(C++开发工具)V5.11.0中文免费版。③奇趣科技开发的跨平台C++图形用户界面应用程序开发框架Qt。

教学资源:

①课程概要:课程简介、教学大纲、课程特色、教学效果。

②在线课堂:课程PPT。

③实验指导:实验指导书和实验报告。

④部分大作业选题目录。

⑤C++语言程序设计课程及研究常用、重要网址列表。

7  实践教学效果

经过多年探索和实践,教学团队在人才培养模式、教学方法、实践教学改革、试验教材编写等方面取得了一定的成绩。团队成员发表相关教改论文10余篇,获得过2010年广东省千百十校级人才项目,主持广东外语外贸大学校教学研究课题“毕业设计管理系统”,2010年度、2012年度广东外语外贸大学优秀科研业绩奖二等奖,周咏梅和林华两位老师获得过年度优秀个人。教学团队成员具有丰富的教学改革实践经验和理论基础,保证了本门实践课的教学质量。

通过大作业与新技术资料翻译,提高了学生主动学习的积极性、培养了团结协作精神。提高了解决问题的能力。组织部分学生到相关企业参观、坚定同学们学习本专业的积极性。

指导学生积极开展科研实践和申报项目,获得成绩如下:

①在王玉山老师的指导下,软件系2015级大学一年级新生林泽聪等获得了广东省团委的攀登计划项目:个人健康档案,获得资助2万元。

②在周咏梅和蒋盛益老师指导下,彭金原等同学获得广东外语外贸大学校级大学生创新创业项目:网络舆情构建关键问题研究―以微博客为分析对象(2011年校级);黄确君等获得:面向高校图书馆的推荐系统(2012年校级)。

部级学科竞赛获奖情况:

Innc多媒体解析语言,2007年在天津举办的全国第10届挑战杯比赛3等奖,2004级软件工程专业,文羲畅。指导老师王玉山。该项目同时获得广东省2007年第九届挑战杯1等奖。

省级学科竞赛获奖情况:

①四灵象棋――基于互联网与移动设备联合开发,广东省第18届“高校杯”软件作品赛一等奖,2006级计算机专业:郭勇、刘荣科、何健,指导老师:林华、蒋盛益、吴彩虹、王玉山。

②基于Web3d的网上服装商城 , 第十七届广东省“文泰高校杯”软件设计(本科组)竞赛1等奖,  2004级软件工程专业学生,指导老师,王玉山。

泛珠三角安利杯大学生计算机作品赛:

2006级计算机专业,陈俊平,余雯. 基于C++语言程序设计的垃圾邮件识别系统, 泛珠三角大学生计算机作品赛广东赛区, 二等奖,2009。

2006级计算机专业学生,“任意达”――私人定制高校客车联盟系统,大学生计算机作品赛暨泛珠三角大学生计算机作品赛广东赛区选拔赛三等奖 , 指导教师林华。

8  实践课程特色及价值

《C++语言程序设计》作为大学计算机类1年级新生的第1门实践课程, 肩负着既要把学生从传统的数学思维方式向结合计算机软硬件特点的计算机思维方式转变,又要转变学生的应试教育模式学习方式向探索式、实证式、协同式、全球互联网求助式、开放式教育学习方式转变。还要求学会面向对象的程序设计思想方法,为后续课程的学习打下一个良好的基础。课程内容本身要求理论联系实际、在理解理论的基础上进行实践验证并不断修正、完善自己理论体系。学习本课程后,要求能够进行面向对象的类的设计,能够解决一些实际问题。本课程的特色和价值主要表现在:

①课程内容理论联系实际,所用软件实验工具、环境要符合时代需要、要采用最新的C++语言程序设计国际标准进行实验讲学,在试验中老师要善于对于同一个程序代码、进行适当变换就可以讲解、实验几个概念和方法,争取用较短的实验时间获得尽可能大的教学效果。

c语言程序设计第5篇

关键词:C语言;理论教学;实践教学

中图分类号:G642.0 文献标识码:A 文章编号:1674-9324(2012)07-0079-02

随着计算机学科和其他学科交叉应用的不断深入,高校都开设了程序设计课程,培养学生掌握和利用计算机分析解决问题的能力,同时提高学生的逻辑思维能力。要进行程序设计,必须掌握一门计算机语言作为编程工具,由于C语言功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,它既有高级语言的优点,又有低级语言的许多特点,通过该课程可以很好地提高学生的编程能力,进一步为学习其他涉及到计算机知识的专业课程或者从事编程开发工作打下良好的基础,因此很多高校都把C语言程序设计作为一门基础的必修课进行开设[1]。然而通过调查发现,在教学过程学生普遍反应C语言难学而老师感觉难教,课程结束后很多学生对程序设计没有清醒的认识,更谈不上进行实际的应用开发[2]。如何解决C语言程序设计课程教学中普遍存在的问题,让学生对程序设计有一个完整的认识,进而培养和提高学生的综合素质,是值得每一位从事程序设计语言教学的教师去认真研究的课题。

一、存在的问题

高校C语言课程大都在一年级开设,由于大多数学生在高中时接触计算机编程较少,这就导致了学生在学习C语言的过程中,感觉其枯燥、抽象、难以掌握;对基本概念尚能理解,但当实际编程时,又感觉无从下手。这些问题跟教师讲课过程中过多注重语法等理论知识,对学生学习兴趣和解决实际问题的能力培养不够有很大关系,主要原因体现在以下几个方面。

(1)学习目的不明确。一些学生不清楚程序课程的学习目的和意义,认为就是学习语法规则,学习内容抽象并且晦涩难懂,没有实用价值,学习只是为了考试及格,认为大一开设的课程是基础课,和专业课联系不大,对自己的就业没有影响。一些非计算机专业学生学习该课程目的甚至只是为能通过计算机等级考试拿到证书。

(2)学习内容不合理。许多老师在讲授课程内容时往往都是先给出一般的语法格式,然后介绍语句的语法规则,最后讲解语法要点和例题,没有易于理解和能够提高学习的案例,由于书本内容死板枯燥且和实际问题脱节,无法满足学生的认识水平,也不能调动学生学习的兴趣。在进行上机实验时,试验内容往往是书本上的或是老师上课时所讲的案例,由于内容的选择不恰当,上机实践很大一部分情况下都变成了打字练习,或者只会验证性地做一些修改对错、得出程序运行结果的实验,一旦要求功能改进,不能进行算法和语法结构的调整,最后学生总会觉得出C语言难学的结论[3]。

(3)教学方式不完善。部分老师的教学仍然采用理论讲授在先、上机实验验证、最后布置作业巩固的传统教学模式,在教学过程中过多强调学习语法格式等理论知识,重点分析程序和算法的运行过程,而不是讲解根据问题如何分析和设计算法和程序,从而致使学生的程序设计能力不强。这种教学模式培养出的学生虽然理论知识学得很好,考试的时候也可以拿到高分,但在真正要求解决实际问题的时候,往往没有编写程序的思路,不知如何下手。由于经常解决不了问题,不能体会到计算机编程在解决实际问题时带来的便捷以及没有编程的成就感,久而久之,学生也就失去了学习计算机编程的动力。

二、解决方法

(1)激发学生学习兴趣。兴趣是最好的老师,能够使人产生愉快的心理状态,并对学习过程产生积极的影响。研究证明学习者只要对学习有兴趣,就可使人脑处于开放状态,学习者对于学习的兴趣越浓,信息在传输过程中受到的干扰就越小,信息接受量就越大。从教育心理学的角度来说,兴趣是一个人倾向于认识研究获得某种知识的心理特征,是推动人们求知的一种内在力量。人的注意力、观察力、思维能力、记忆力乃至想象力都和兴趣紧密相连,兴趣能使人的认识理解记忆处于最佳状态,思维能力最为主动和活跃[4]。有了学习兴趣,学生才有可能有意识地去思考和解决问题,因此在C语言教学的过程中要注重激发学生的学习兴趣。

c语言程序设计第6篇

关键词:C语言;程序设计;机考;分层教学;课程改革

中图分类号:G642 文献标识码:A 文章编号:1009-3044(2014)34-8225-02

《C语言程序设计》课程的授课对象是计算机专业本科学生,为专业基础(必修)课,是学好后续各软件课程必要的基础。有别于已经掌握的汉语、英语语言,作为人与计算机交流的语言,C语言不但概念多、符号多、语法多、规则多,而且抽象、难懂,再加上需要有一定的理解力以及解决问题的清晰思路,有些学生在学习过程中会感觉到枯燥、繁杂、无趣。因此培养学生的学习兴趣、加强对课程的重视、提高实际编程能力、将理论与实际相结合,是教师必须解决的问题。

为了提高学习质量,从2010年秋季学期开始对《C语言程序设计》课程的教学过程、成绩考核进行了改革,由原来的纸质试卷考试变成全程上机考试。改革实施多年来,大部分学生增加了学习兴趣,有了编写程序的主动性和积极性,增加了专业学习的信心,提升了程序设计的能力。

考虑到学生在基础知识、智力因素、学习能力上的差异,为了更有效地实施“因材施教”,从2013年秋季学期开始实施分层教学。在讲完C语言基础知识、程序基本设计方法之后进行分层。通过考核,外加自愿的原则,将原来的教学班打乱,重新组合成两种班型――高层次、低层次班。分层之后,每个学生个体获取的知识趋于最大化,极大地提高了课堂学习效率。

1 传统教学与纸质考试存在的问题

传统的教学是按照指定教材,在课上将重点内容进行讲解,典型的问题、方法在TC/VC环境中进行演示,课后留给学生一定的纸质作业和上机编程作业。同样的讲授,理解力强的学生一听就懂;理解力弱的学生,老师需要讲多遍才有可能懂。传统的教学中,老师只能顾及大多数中等学生,照顾不到特殊的学生。降低了课堂效率,也可以说浪费了某一部分学生的时间。

由于期末考核采用的是纸质考试,只是从纸面上考核学生对C语言理论、编程方法的理解、掌握程度,更对学生的学习产生误导。部分学生也只重视理论,不重视实际动手编程。他们只满足于“纸上谈兵”,不考虑结果。因此,实际应用时,对上机环境不熟悉、编写的程序不能顺利通过,导致很多学生高分低能,在解决实际问题时,茫然无措。

2 机考及分层教学改革的探索

计算机专业课程的特点是实践性强,学生在掌握了基本语法后重点是上机实践,即在计算机上解决实际问题,这里包括问题的分析与抽象、程序的编写与调试。

常言道:“实践是检验真理的标准”。在学习C语言过程中,上机实践是巩固理论知识、增加理解力、提升编程能力的重要途径。为了提高教学质量,让学生真正打好专业基础,授课教师在教学内容、教学方法、教学组织、考试方式等多方面上进行了调整。

2.1 教学方法以及教学组织上的改革

为了使教学效果更好,将两个自然班作为一个授课班,教学内容统一要求。讲授时,由浅入深、循序渐进。在语言的基础上,重点放在程序设计的思想、方法、技巧的讲解,结合典型例题,培养学生分析、设计、解决问题的能力。通过精心设计实验题目、课后作业、调整考核比例、增加课后上机机时、多方位提供答疑指导等环节培养学生学习兴趣,使学生重视上机编程。

对学生作业题目进行精心设计,既覆盖知识点,又有趣味性,每个题目都像在讲一个故事,把要解决的问题融在故事中,学生在读故事的同时,不自觉地就会去想解决办法,增加了兴趣,提高了自主性,也锻炼了思维。

调整平时考核内容。平时考核的环节包括:上机小测试、期中机考、上机作业、考勤,每一个环节的成绩都会反映到平时成绩中。平时成绩的取得完全依赖自己的学习态度。

增加课后上机机时。由于考核重点是对实际动手能力的考核,光靠课内安排的上机时间显然不够,所以需增加学生课外自主上机实验时间,并配有指定人员辅导。

多方位提供答疑指导。所有任课教师把答疑时间错开,这样每周学生可以有多次答疑时间,对比原来教师只给自己学生答疑的做法,学生增加了学习解疑的机会。

2.2加强上机实验过程控制,促进考试改革

借助于“课程自动评测与抄袭检测系统”,老师和学生有了C语言作业部署、学习、检测的平台。通过这个平台,老师可以布置上机实验、安排考试、检查学生提交的作业。根据知识点,每章布置4-5道题,限定学生在规定时间内独立提交。老师可以随时查看学生提交的程序,及时与学生沟通、反馈。学生可以随时把自己编写的程序提交,系统对提交到服务器的程序自动判断对错,学生可以及时了解自己程序存在的问题,不断进行修改,直到能够顺利通过所有测试。

这一环节起到了巩固课本知识、增加独立思考、加强动手能力的作用。期末就是利用这个平台进行全程两个小时的考试,要求学生既有编程的能力,又有时间的紧迫感。

加强过程考核,增加平时机考次数。为了缓解期末机考时的紧张情绪,之前会安排1-2次的上机考试,成绩记入期评,其中期中考试的考试形式与期末一样,为全程两个小时的机考,随机组卷。学生可以尽早了解考试模式,并更加重视对本门课程实际动手能力的训练,学会调整心态。

为了满足不同层次学生的要求,在平台上配备了大量不同难度的习题,不受提交时间的限制。学生可以根据自身需求,随时编程测试。

2.3分层教学,提升学习效率

分层教学是根据学生不同基础、不同学习需求而实施教学的一种手段。是在承认学生差异、考虑学生兴趣的前提下,以发展的眼光看待学生,给每个学生提供符合他们发展的教学目标与方法,是同时提高所有学生能力的理想状态。经过调研,从三个方面进行分层教学。

1)学生分层。对学生能力考核的一个重要标准就是学生的学习成绩,但是在学习这门课之初,没有可依据的成绩。分层安排在讲完两周课,即学完了简单程序设计之后进行。学生根据自己当前对C语言的理解和接受程度,选择不同层次。在分层教学的实施过程中,这样的分层是暂时的、动态的。过一段时间,视学生的后期学习成绩、学生的具体情况,可递进或降层。这样更有利于学生个性化发展。

2)讲课分层。对不同层次的学生,采取不同课堂。在讲授编程思想、必备知识基础上,对高层次学生,拓宽和加深问题的难度,做到拔尖提高;对普通学生,在达到大纲要求的同时,考虑他们的接受能力,适度增加和加深知识,做到稳步推进。

3)实验分层。练习是对所学知识的巩固和消化。按照作业、实验题目的难易,对不同层次的学生提出不同要求。对普通学生布置基础题,进行强化训练;对高层次学生,以综合运用知识进行练习。要求学生多编程解决问题,以提高应用知识的能力。这样使得不同层次的学生得到不同程度的提高。

3 教学改革实践效果

实行考试改革后,学生的学习积极性有了明显提高。由于考试时间的有限性,增加了学生的紧迫感、主动性,在程序编写、调试程序的实际动手能力方面得到了重视并有所提高,为后续课程学习奠定了良好的基础。经过分层教学,满足了不同层次学生学习的需要,激励了各层次学生朝着有利于自己的方向努力,有利于学生个性能力的张扬,有利于学生综合素质的提高,更有利于优秀学生综合能力的发挥、较低层次学生潜在能力的开发。

3.1带动学风,促进后续课程的学习

大部分学生能够按时到课,勤于思考,互相研究,答疑的同学增多了。改变了不良学风,营造了良好学习氛围。由于课程期间比较重视学生结构化程序设计的方法,要求编写程序之前理清解题思路、做好算法设计,经过训练后,在后续的“程序设计专题训练”中,面对稍难一些的问题,学生也能逐步找到解决办法,编出程序,顺利通过测试。在小学期“学术工程实践”课程中,要求完成一个小型管理系统,有一定的难度。大部分学生能够顺利编写由多个结构体、多个文件、几十个函数组成的、2000-4000行代码的程序,并调试成功,完成管理。

3.2提升学生的程序设计能力和创新能力

竞赛是考核学生全面素质的一个平台,它要求学生具有扎实的理论基础、清晰的算法设计能力、娴熟的编程能力、良好的心理素质和快速的临场应变能力。

随着知识的积累,学生的能力和自信心不断增强。学生们更加渴求知识,渴望展示自己,参加竞赛的积极性提高了,人数也不断增多。在大二阶段,报名参加全国软件设计大赛的人数由09级的16人次(占09级学生人数14.04%)、10级的33人次(占10级学生人数26.19%),增加到11级的66人次(占11级学生人数51.56%)。全国获奖人数由09级的1人次(占09级学生人数0.88%),到10级的12人次(占10级学生人数9.52%),再到11级的17人次(占11级学生人数13.28%),获奖人数同比增多。

4 结论

总之,学习“高级程序设计语言”不仅要使得学生在程序表达和设计上得到培养,更重要的是在掌握解决问题的思想、方法和手段的同时,实际动手编程能力有所提高,从而增长设计程序的能力。因而,将“C程序设计”课程的考试改为上机考试是很有益的,可以改变不良的学风,营造良好学习氛围;可以加强学生对课程的重视,提高学生程序编写、调试等实际动手能力,提升学生的程序设计能力和创新能力,为后续课程学习、为培养合格的专业人才奠定良好的基础。

对“C程序设计”课程实施分层次教学也是必要的,可以针对不同层次学生的需求给予相应的学习指导,以达到学生全面发展的教学目标;可以激发不同层次学生学习的欲望,向着更高更深的知识海洋探索;可以鞭策任课教师积极思考、合理取舍,做到充分了解学生、合理安排进度,能够极大地提升老师的组织与应变能力。

参考文献:

[1] 李学会.C程序设计教学改革与实践[J].实验室科学,2010(4)33-34.

c语言程序设计第7篇

关键词:C语言;编程能力;教学方法

中图分类号:TP3 文献标识码:A 文章编号:1009-3044(2013)12-2840-04

C语言是目前最流行的语言之一,它既具有高级语言程序设计的特点,又具有汇编语言的功能[1]。同时,C语言概念简洁、语句紧凑、表达能力强、程序结构性和可读性好,很多院校都将C语言作为第一门计算机语言课程开设。但是,由于C语言灵活性大以及内 容抽象等特点,加之授课对象是刚刚接触程序设计语言的大一或大二的学生,在实际的教学过程中,很多

学生由于对概念理解模糊、逻辑思维理解能力不强,导致普遍认为C语言很难学,甚至是畏惧C语言编程。该文针对C语言特点以及独立学院学生这一特殊教学对象,结合对C语言的学习体会、教学过程及C的实践应用对C语言在独立学校的开设进行教学探讨。

1 语言的介绍

C语言是国际上广泛流行的计算机高级语言。它既可用来写系统软件,也可用来写应用软件。C语言的祖先是BCPL语言。C语言既保持了BCPL和B语言精炼,且接近硬件的优点,又克服了它们过于简单,无数据类型等的缺点,C语言的新特点主要表现在具有多种数据类型[2]。开发C语言的目的在于尽可能降低用它开发的软件对硬件平台的依赖程度,使之具有可移植性。

C语言是一种通用性很强的结构化程序设计语言,它具有丰富的运算符号和数据类型,语言简单灵活,表达能力强等特点。C语言的主要特点如下。

具有低级语言功能的高级语言:C语言允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。因此C语言既具有高级语言的功能,又具有低级语言的功能,C语言的这种双重性,使它既是成功的系统描述语言,又是通用的程序设计语言[3]。

模块化和结构化语言:C语言用函数作为程序模块,以实现程序的模块化;C语言具有结构化的控制语句(如if...else语句、while语句、do...while语句、switch语句和for语句),语言简洁、紧凑。

可移植性好:C语言不包含依赖硬件的输入输出机制,使C语言本身不依赖于硬件系统,可移植性好。

执行效率高:C语言生成目标代码质量高,程序执行效率高。

2 独立学院学生特点

C语言成绩设计要在独立学院开设并且办好,首先需要对授课对象也就是独立学院的学生特点进行全方面的了解。独立学院是近几年来随着高等教育的快速发展产生的新型高等教育办学形式,其招生录取线主要介于普通本科和高等专科之间,是我国高等教育办学机制的大胆探索和创新,在扩大高等教育资源和高校办学规模方面起到了积极作用,逐渐成为当前和今后一定时期高等教育发展的一个重要方面[4]。独立学院的学生在基础知识、自身素质、认知能力等方面存在着某些差异。大部分独立学院学生相较于本一、本二学生基础知识较差是事实。学生的基础知识掌握较差,偏科现象严重, 如英语、数学基础底子薄。学生渴望获得优良成绩,敬佩学业优秀的同学,但学习毅力和刻苦精神不够。部分学生学习目的不够明确,学习态度不够端正,他们没有良好的学习习惯和饱满的学习热情,自主学习的能力和毅力不够。表现在上课不专心,课后不自习,经常迟到、早退。部分学生自律性差。所以,掌握好独立学院学生的特点,针对这一特殊授课群体,更加需要教师不管是从理论还是实践上机方面都需下足功夫。

3 理论教学

在C语言理论教学过程中,首先,教师要让学生对C语言程序设计这门课有直观的感性认识,结合独立学院学生所学专业的特点,对理论讲授教案精心设计安排,使学生体会到C语言程序设计在以后的工作及生活中的应用,提高学生学习兴趣;其次,在具体理论教学中,力求做到概念准确、简洁、易懂,注重基础知识的学习,使学生由浅入深、循序渐进的掌握C语言并培养阅读及编写程序的能力。

3.1 激发兴趣

在C语言教学过程中,首先打消学生对C语言的陌生及恐惧,逐步培养学生学习兴趣。兴趣是求知的内在动力。激发起学生的兴趣,学习就会积极主动, 学得轻松而有成效。但是学习兴趣不是天生的,主要在于教师如何引导学生,充分调动学生对学习的积极性和主动性,进而能创造性地学,最终达到优化课堂教学和提高教学效率的目的。

在教学过程中,首先,教师应是组织者,引导者与合作者。教师的作用便是调动学生主动思维和主动参与的积极性。同时要关注学生个体差异,让每个学生得到全面发展。尊重学生、面向全体学生是激发学生学习兴趣的重要手段。就必须面向全体学生,尊重学生,做学生信赖、喜欢的老师,这样才能引起学生的兴趣。因此,教师应根据学生的认知规律创设条件,引导学生主动学习、探究,通过具体引例使学生进入C语言课程学习。其次,营造以学生为主体的严谨活泼的课堂氛围。教师必须相信学生有潜在的尝试能力,对学生的探索活动要充满信心,循循善诱。创设师生心理相容的课堂气氛,使学生感到老师既是师长,也是最可亲近,可以与之交心的朋友。精心设计教案以及灵活运用多媒体,调动兴趣。卢梭说:“教育的艺术是使学生喜欢你所教的东西。”鲜明的表现力和直观的形象性, 最能调动学生的多种感官,唤起其浓厚的学习兴趣,使学生不知不觉的进入C语言课程设计的教学内容之中。

3.2 培养能力

在C语言教学过程中,培养学生能力是至关重要的。C语言作为一种计算机编程语言工具,学习它的目的在于培养学生程序设计能力,从而解决相关的实际问题。所以,在实际理论教学中,通过结合各种语法规则和格式等细节讲授C语言程序内容。下面从主要从阅读程序能力和编写程序能力来探讨。

3.2.1 阅读程序能力

C语言的语法规则和格式规定比较多,一般情况下,教师针对这些语法的使用情况,利用一些典型例题进行讲解。在课堂上需注意以下几点:

1)从教师自我做起,课堂上书写程序规范,严格要求学生。

2)课堂上带学生所阅读的程序要难易适中,覆盖面要广。

3)将复杂问题简单化、模块化。

4)采用举一反三、案例教学、任务驱动和师生互动相结合。

5)由浅入深、循序渐进、精讲多练,全面提高学生设计程序能力。

但是由于学时有限,为了更好的掌握C语言,教师应该为学生提供及推荐一些学习C语言课程较好的教材、习题册或是学习网站作为参考资料,使学生除了在课堂上接触C知识和技巧之外,在课下可以阅读到大量别人的程序,然后才能使学生加深对C语言各种语句的使用,拓展学生的思维理解能力,提高学生的编程技巧,最终能够很好的解决实际问题。

3.2.2 编写程序能力

编写程序解决问题是学习C语言最终目的。然而编写程序最重要的是寻求解决问题的思路和方法,即算法。在实际教学中,如while循环结构,采用案例教学法讲授计算从1到n的n个自然数的累加,程序代码如下:

#include

main()

{ int i,n,s;

printf(“Please input n:”);

scanf(“%d”,&n);

i=1;

s=0;

while(i

{

s+=i;

i++;

}

printf(“sum=%d\n”,s);

}

程序运行结果如图1所示:

图1 运行结果

在这段代码中,循环开始时初始状态的设置是由变量i和s的初始化操作来完成的。循环的执行条件是i

在使用while语句时有两点需要注意。第一点是对初始状态的描述需要完整、准确。在上面的例子中,不仅要正确地设置循环控制变量i的初始值,而且要正确地设置累加变量s的初始值,即将其清零,否则计算结果将是错误的。第二点需要注意的是,对的循环求值应最终导致循环结束。如果在中不包括读取输入数据等对外部条件的判断,则在循环体中必须有影响求值的操作,而且对的影响要导致循环结束。在例中,循环执行的条件是i

通过上述自然数累加和题目的讲解,不仅使学生掌握了while编程的基本思路和方法,而且可以使用举一反三的方法,拓展提高学生分析和解决问题的能力。比如,上例求自然数累加和拓展到如何编写奇数累加或是偶数累加来启发学生,在启发过程中,教师应逐步提问,调动学生的编程兴趣,引导学生跟进思考,鼓励学生使用不同的方法进行编程,并使学生形成一种编程的思维习惯,这对提高学生独立编程解决实际问题的效果非常好。

4 实践教学

程序设计是一门实践性很强的课程,不能只依靠课堂学习和看书就能很好的掌握C语言程序设计。应当十分重视学生动手编写程序和上机运行程序。上机的时间愈多愈好。学习C语言时有一点应当注意:对于我们独立学院的学生,由于学生基础差,学生之间差异较大,自学能力低等特点,教师应该强调学生把精力放在最基本、最常用的内容上。开始时不要钻牛角尖,在一些具体细节上死抠。有一些细节,随着对C语言的了解逐步深入和实践经验的逐步丰富,会自然地掌握的,而有一些细节则要通过长期的实践才能真正熟练掌握。

4.1 上机调试程序

在C语言实践教学中,重点培养学生关于编程工具的熟练使用,以及调试和修改程序的能力。目前,使用较广泛的C语言编程环境是VC环境[5]。在上机课上,根据理论内容进度,合理布置上机内容,包括基本功能实现,新功能的添加以及尝试变换条件等方式,使学生充分利用编程工具提供的调试功能,对有错误的程序进行反复的运行和调试,最终得到正确的运行程序,同时总结经验,只有这样不断的练习,才能使学生对理论知识有深入的理解和掌握,对实际问题的解决能力有更进一步的提高。

4.2 C语言实践应用

一般来说,独立学院学C语言是一种入门语言,它是一种面向过程的,我个人理解就是面向对象的语言,它里面最终实现对象的功能还是过程式的。如果不是计算机相关专业的学生,学习C语言用来培养一下逻辑思维、学些编程的基础概念,假设以后会涉足到计算机这方面的话,有一个良好的理论和思维基础。但是在计算机领域,C语言仍是今天应用最为广泛的语言。它主要是面向底层的,也就是说它主要是对硬件的操作。日常用户所能常见的C语言程序主要是各种硬件驱动程序、嵌入式程序(例如一些车载导航系统、微型手持设备等)还有大部分操作系统也主要是由C语言写成的,当然C也在单片机中有很多的应用[6]。在大三大四阶段,学校就会组织一些学生参加多种部级、省级电子大赛,很多优秀作品基于单片机或是嵌入式系统的并用C语言编程实现功能,都获得了优异的成绩[7]。这样将C语言的理论学习和实践应用相结合,对学生毕业设计以及将来步入工作岗位都是一个坚实的基础。

5 结束语

C语言课程是独立学院设置的培养大学生计算机能力的一门基础语言,学习C语言,培养学生的编程思维能力,为将来学习其他编程语言或是参加工作打下坚实的基础是至关重要的。针对独立学院学生特点,结合实际教学要求和内容,提出了理论教学和实践教学相结合的方法,重点培养学生掌握C语言程序设计的方法和思维能力,提高了学生学习的兴趣和主动性,使其掌握基本算法和编程技术,以解决实际问题,才能不辜负教育工作者的不断探索和寻求,实现教学的最终目标。

参考文献:

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

[2] 杨照华.计算机专业课程与教学改革初探[J].煤炭技术,2012(3):251-252.

[3] 王海燕,韩萌.浅谈C语言程序设计教学[J].科教论坛,2007(6):25-27.

[4] 彭斌.高职院校C语言程序设计[J].教学探讨,2008(36):196-197.

[5] 沈军.C语言程序设计语言课程的教学新思路[J].电气电子教学学报,2000(4):15-16.

c语言程序设计第8篇

项目教学法与传统的教学模式有所不同,在构建过程中需注意以下几点原则:一是以学生为主体。项目教学法要树立以学生为主体的教学模式,教学过程中的项目任务要实现学生自主学习和实践,教师要从中起到指导、协助、监督的作用。二是以实践为中心。C语言程序设计课程注重的是学生对所掌握理论知识的应用,教师在开展项目教学时要注重对学生的实践活动,保障学生在实践中掌握C语言程序设计的方法,并积累实践经验。三是学习资源、协作环境有效支持。为实现项目教学法在C语言程序设计教学中的有效性,教师要事先准备好所要进行的项目任务的相关学习资料,同时还要引导学生通过多种方式收集资料,师生共同努力能有效获取广泛的信息,从而提高教学质量。此外,教学过程中要对学生进行分组,以小组协作的形式使学生在组内探讨项目任务的解决办法和实施方案,共同完成知识的构建。

二、高职院校项目教学在C语言程序设计课程中的应用

项目教学法应用在C语言程序课程中,可以通过科学合理的设计项目把课程重要的知识点进行重新整合并融入其中,使学生提高对C语言程序设计的兴趣,并主动应用技能,提高自身创新意识,从而有效提高C语言程序设计的教学质量。教师应用项目教学法主要从以下几个方面开展:

(一)从应用入手,激发学生的学习兴趣。对于C语言程序设计的初学者来说,很多学生对它的背景知识了解相对较少,随着学习的深入,课程难度逐渐加大,学生逐渐跟不上教学进度,致使学习兴趣的丧失。教师在C语言程序设计课程中应用项目教学法,必须设计出与学生学习、生活有着密切关系的项目,从而提高学生的学习兴趣。例如通过设计学生成绩管理系统项目来提高学生对C语言程序设计中数值处理的应用,通过设计多功能选择菜单项目来提高学生对C语言程序设计中switch()的应用。

(二)大项目与小项目相结合。大项目即综合项目,它能有效结合C语言程序设计大部分知识点且具有较高的实用性;小项目是教师在教学过程中针对C语言程序设计某个固定知识点开展的具体项目。项目教学法在C语言程序设计教学应用中,小项目是实现大项目的基础,大项目是对小项目的综合应用,两者相辅相成,密不可分。教师运用项目教学法开展C语言程序设计教学时,一是要对学生进行大项目的布置,使学生明确学习目标,从而减少学生学习的盲目性;二是在教学过程中,教师要以大项目为依据着重开展小项目的讲授;三是小项目的课程全部结束以后,教师要对学生进行分组,以小组的形式对小项目的知识点进行串联,完成大项目中对小项目的综合应用。项目教学法在C语言程序设计中应用大项目与小项目相结合的方式,可有效提高教学质量,给予学生水到渠成的感觉。

(三)启发教学与自主学习相结合。项目教学法是以学生为主导的教学方式,这就要求它要充分发挥学生的主观能动性,促使学生积极主动寻求学习过程中遇到问题的解决办法。为提高学生的自主学习能力,教师在上课之前可先向学生提出一个或多个项目问题,要求学生根据问题独自通过教材中相关内容找出答案,并且在课堂上让学生把自己的见解阐述出来,这样学生的自主学习能力得到提高,同时还促进了对C语言程序设计的兴趣。但是高职院校学生中部分学生基础知识薄弱,自觉性差,任由学生自主学习,不能起到良好的教学效果,这就要求教师在学生遇到问题时给予必要的启发和指导,这样才能帮助学生找到方法并顺利解决问题。对C语言程序设计课程的项目教学中,教师要有效结合自主学习和启发教学,这样才能发挥项目教学的优势,从而提高教学质量。

(四)协作学习与自主学习相结合。在C语言程序设计教学中,引导学生自主学习可以提高学生的学习能力,对于分支和循环等一些基本项目的设计,可以采用这种方式进行教学。但是当涉及到数组项目设计、综合项目设计等一些复杂的项目和问题时,教师要对学生进行科学合理的分组,以小组的形式找出项目的解决办法和实施方案,完成之后小组之间要进行讨论,互相分析其他小组的实施方案中存在的问题,以此来互通有无,交流经验。C语言程序设计项目教学通过协作学习和自主学习相结合的方式可以提高学生个人学习能力和团队合作意识,还可以使学生集思广益、开拓眼界。

(五)传统教学与项目教学相结合。传统教学注重使学生掌握C语言程序设计的理论知识,为后期的教学活动打下基础,而项目教学法在于培养学生的自学能力、分析能力、协作能力等。教师在对学生进行C语言程序设计教学时,要以传统教学为基础,灵活、机动地使用项目教学法,这样才能提高教学的质量。比如,在C语言程序设计课程中,教师可把教学活动分为理论和实践两个部分,通过传统教学模式对理论部分进行讲解,使学生掌握C语言程序设计的基础知识,通过项目教学法使学生对实践部分进行操作,这样可实现学生把掌握的理论知识运用到实践当中,巩固并提高了学生C语言程序设计的能力。

(六)开展实验活动。项目教学法在C语言程序设计课程中的应用需要开展大量的实验活动作保障,它不仅可以使学生把学到的C语言程序设计理论应用到实践当中,同时还可以锻炼学生的思考能力。试验是以巩固学生在课堂上学到的知识为主要目的的,无需学生在实验时设计一个完整的C语言程序设计项目,这就要求教师不能单纯列出一个项目题目让学生完成,也不能依靠传统的教学方法给学生一个单独的实验题目。教师要突出项目教学的优势,依靠商品销售系统、员工工资管理系统等具体的项目,精心设计试验题目。同时教师还要根据学生对C语言程序设计掌握的具体情况,通过编写模块功能代码、改正模块中语句的表达模式等多层次的题目来达到实验的目的。除此之外,教师还可以设计一些复杂的实验项目作为选做题,以促进高水平学生能力的继续提升。

(七)加强学生在项目教学中的讨论工作。开展C语言程序设计项目教学,只有充分发挥学生的积极性和主动性,才能提高教学质量。项目教学法中合作学习的实施是提高学生学习积极性和主动性的重要环节,教师要对学生进行科学合理的分组,并向学生提供专题供小组讨论,专题主要包括C语言程序设计的难点和易混淆的知识点,小组讨论期间各成员都要积极发言,互通有无,交换意见,最终促进学生对C语言程序设计知识点的掌握。除了在课堂上的讨论之外,教师还需布置课后的项目题目并对学生进行分组使其以团队的形式利用课余时间去思考、讨论、收集资料,并制定出该项目的实现方法,课堂上小组之间进行讨论,探讨各实现方法的可行性,最后教师再进行归纳总结。C语言程序设计利用项目教学的小组讨论方式可以有效提高学生的学习积极性,还能使学生获得更多的课外知识,激发他们的求知欲,有效促进了C语言程序设计教学质量的提高。

三、结语