前言:中文期刊网精心挑选了c语言课程设计范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。
c语言课程设计范文1
摘要:以CDIO工程教育理念为指导,结合我院C语言课程设计的教学现状,对课程设计的教学模式进行研究与改革,详细阐述课程设计教学改革的具体措施。教学实践结果表明,教学改革拓展学生的思路,激发学生的学习兴趣,提高学生综合实践的能力和创新能力.
关键词 :CDIO;C语言;课程设计
CDIO(Conceive-Design-Implement-Operate)[1]是近几年来国际工程教育改革的最新成果,目前已经在全世界几十所著名大学得到了应用。CDIO教育模式与传统的课堂教育有着明显差异,是为学生提供一种强调工程基础的、建立在真实世界的产品和系统的构思-设计-实现-运行(CDIO)过程的背景环境基础上的工程教育,使学生毕业后能够熟练掌握技术基础知识,领导和参与新产品和新系统的开发和运行,了解技术的研究与发展对社会的重要性和战略影响。C语言课程具有一定的工程应用背景,是目前计算机类专业的一门重要的专业基础课,作者结合我院C语言课程设计的实际教学情况,以提高学生的职业能力为目标,以CDIO设计理念为导向,将案例演示、问题驱动、实际应用和项目化教学进行整合,旨在对教学的各个环节继续研究和改革,有效地提高教学质量。
1、C语言课程教学现状
C语言这门课程在我们系各个专业均有开设,属于专业基础课。通过这门课程的学习,主要是让学生建立清晰的程序开发思想,掌握相关的程序设计技巧和方法,培养学生分析问题解决问题的能力。在以往的教学中,这门课程存在诸多问题,主要表现在以下四个方面:
(1)入门困难,学生普遍反映语法繁多,概念抽象,还要动手编程,在一定程度上可能会产生畏惧心理。
(2)教师过多注重理论知识讲解,往往忽略程序设计思想的培养。
(3)教学模式枯燥,教师立足语法本身,学生分析问题解决问题的能力培养方面很少涉及。
(4)考试形式单一,不能全面了解学生能力,不能满足工作需要。
2、基于CDIO模式的课程设计改革措施
2.1 课程设计理念的改革
在课程设计理念方面,我们引入了CDIO这一创新型高等教育模式,其培养大纲对毕业生从四个层面做出要求。首先在工程系统方面,要求对学生的知识技能进行强化;在个体能力方面,要求在教学中渗透学生职业能力以及职业素养的培养;另外,我们还需要在教学中以工作过程为导向,以典型的工作任务为载体,培养学生人际团队协作能力,第四个层面即构思-设计-运行-实现,是CDIO的核心所在,为我们的课程设计思路提供了参考。具体来讲,就是课题组和企业合作共同完成对工作任务的分析和整合,这可以理解为“构思阶段”;接下来,是课程标准的制定,整体设计单元设计以及校本教材的开发,这个阶段归为“设计阶段”,之后,就是具体的课堂实施阶段,当然,还要对课程进行不断的改进,由此看来,CDIO的理念渗透到了课程设计的各个环节当中,对课程设计起到了重要的指导作用。
2.2 课程设计教学模式的改革
C语言课程设计由于其自身较强的实践性,特别符合CDIO工程教育理念倡导的“做中学”和“基于项目的教育和学习”[2],在整个教学过程中应坚持“教学做”一体化的原则,增加主动学习和动手实践。教师在这一过程中承担起主导的作用,帮助学生建立起清晰的程序开发思想,掌握基本的程序设计方法和技巧,培养学生形成分析问题解决问题的方法,即怎样从生活中的实际案例出发,形成一套从构造问题到分析问题,最终解决问题的思路。
首先在任务导入阶段,教师负责提出任务,对任务的效果进行演示,学生通过观看演示效果,明确本次任务的学习目标(包括能力目标、知识目标以及素质目标)和学习内容。在接下来的方案制定阶段,教师需要就工作任务中所涉及到的知识点以及重点难点进行讲解,教师可以让学生进行程序的模拟练习,学生在练习过程中可以完成知识的前期储备,为后续独立完成任务打下基础。探究讨论和即时训练阶段要求学生以小组为单位共同探讨任务的实施过程,安装所选择的C编译器,了解使用的界面和操作方法,并采用截图的办法将其记录在任务书的过程记录中,并进行文字的归纳,在此过程中,教师需要参与到小组讨论中,给予学生全面的指导和过程监控。最后,在任务检查评价以及归纳总结阶段,各小组需要上交完整的程序代码、模块流程图以及功能说明文档,教师挑选小组进行成果展示,组织学生对学生任务进行互评、查错,当学生互评完成后,教师对学生任务进行点评,肯定学生实现任务的采用的新方法并提示学生任务中出现的普遍问题。
2.3 课程设计教学方法的改革
工程项目教学法由以教师为主体转变为以学生为主体,由以课本为中心转变为以“项目”为中心,由以学习理论知识为中心转变为以实际操作为中心,其实在一定程度上就是CDIO教育理念所提倡的在工程基础知识、个人能力、人际团队能力和工程系统能力四个层面上进行综合培养的教学模式。例如我们在C语言教学中可以采用任务驱动教学方法。学习情境采用任务驱动法进行实施,每位学生的每项工作任务必须正确完成,才能进行到下一个任务,在工作任务的驱动和全程任务考核评价的监控下,培养学生作风严谨和坚持不懈的职业责任感。另外还可以采用自学法。C语言程序的构成初步理解比较难,教材上列举简单的例子,教师在课堂也讲授一些例子,学生不一定能够理解,需要慢慢适应,因此要求学生课后自学,教师进行指导。再者,项目教学法,即先练后讲,先学后教,强调学生的自主学习,主动参与,从尝试入手,从练习开始,调动学生学习的主动性、创造性、积极性等,学生唱“主角”,而老师转为“配角”,实现了教师角色的换位,有利于加强对学生自学能力、创新能力的培养。
2.4 课程设计考核方式的改革
基于CDIO工程教育理念的课程设计的改革,主要目的是实现学生对工程系统的构思、设计、实施和运作,建立以往教学模式中缺乏的工程价值观,激发学生的学习兴趣,转变学生的学习态度,培养学生的个人能力,将项目设计考核纳入综合评定中,打破单一传统考核方式,做到不仅考理论,同时还要考实际能力。因此,基于以上原则,采用期末考核与过程考核相结合的方式。过程考核也就是项目考核,每完成一个项目,就要作出相应的评价,通过提高过程考核所占比例,有利于激发学生的学习兴趣,提升学习效果,更能体现“以学生为主,以教师为辅,以能力为根本”的指导思想。其中,过程考核占课程总分的60%,结果考核占课程总分的40%。过程考核由教师评价、学生自评价以及小组互评三部分组成。通过学生自评,可以让学生体验到自身的存在对他人和对社会的价值;通过互评,可以培养学生倾听、尊重、分享、悦纳的情感态度。
3、结束语
本文提出的基于CDIO工程教育模式的C语言课程设计的改革,打破以往传统课程设计的教学模式,能够较好地渗透CDIO“构思—设计—运行—实现”的指导思想,通过案例和项目将知识点融入到教学当中,按照项目化的要求设计标准化的授课教案,以项目经验为学习目标,注重培养学生的学术能力、职业能力以及团队协作能力。实践证明,课程设计的改革取得较好的成果,学生普遍反映课程设计效果有很大提高。
参考文献:
[1] 王硕旺,洪成文.CDIO美国麻省理工学院工程教育的经典模式:基于对CDIO课程大纲的解读[J].理工高教研究2009(28)4:116-119.
[2] 于波,李阳阳.CDIO工程教育模式在Windows CE嵌入式系统教学中的应用研究[J].大庆社会科学,2010(6):145-147.
[3] 顾佩华,沈民奋,陆小华 译.重新认识工程教育:国际CDIO培养模式与方法[M].北京:高等教育出版社,2009.
c语言课程设计范文2
[关键词]课程设计 教学方法 考核手段 能力培养
一、引言
近年来,各高校越来越重视对学生实践能力的培养,各类课程设计在教学中所占的比重明显增加。对于计算机系的学生,尤其是以培养应用型人才为目标的学生,开设各类课程设计课就显得尤为重要。
本文以C语言课程设计为例,介绍了在实际教学中所采用的教学计划、教学方法以及考核手段,通过对各个教学环节的分析和总结,探讨了如何在实践中培养学生的软件开发能力的方法。
二、C语言课程设计教学计划
C语言技术是计算机最重要的应用领域之一,也是发展较快的领域之一。其应用早已渗透到各个行业,C语言系统的开发、管理与维护是计算机专业人员必须要掌握的基本技能。因此在完成了理论教学之后,后续的C语言课程设计的安排是很关键的。
我们根据学生的实际情况,制定了相应的教学计划。要求选修C语言课程设计的同学必须先修C语言原理,具有程序设计的基础。课程的主要内容包括C语言设计概述、需求分析、概念结构设计、逻辑结构设计、C语言的物理设计、C语言的实施和C语言系统的管理维护。本课程以实践为主,教学目标是使学生能独立设计C语言应用系统,掌握C语言设计的过程和方法。根据本课程的特点,充分重视上机实践的环节,课程在机房上,有利于学生学习。
本课程安排在一个学期内,教学周数为18周,每周6学时。每周具体内容安排如表1。
三、各阶段教学方法
由于各阶段的任务不同,要求也不相同,因此分阶段采用不同的教学方法,以一个学生熟悉的、容易理解的C语言项目开发过程为主线,贯穿整个教学过程,将相对枯燥的理论知识与实践联系起来。
题目选取阶段是C语言课程设计的初始阶段,也是决定能否达到教学目标的关键性阶段。如果题目选取得太大、太难,或者是学生不熟悉、很难接触到的领域,做起来太困难,会影响学生的积极性,势必会影响到后期的学习效果。而题目太简单,又达不到教学标准。因此在本阶段,采取教师提供参考题目,学生自主选择的方法。教师根据开题报告整理出小组题目以及成员,并简要分析选题的难易程度。在第二周的开题讨论上让每小组派代表进行发言,大家分析讨论题目的可行性,对于选题不合理的,重新修改。这阶段可以充分调动学生的积极性,活跃大家的思维,实际教学效果良好,很多学生的选题都具有现实应用意义。
题目确定完之后,就要进行需求分析。很多学生认识不到这部分的重要性,选定题目后就想开始代码的编写工作,往往做了一半就进行不下去。因此教师在课堂上要通过实例充分讲解需求的分析重要性,讲解具体的需求分析方法,使学生理解需求分析是整个设计过程的基础,同时掌握基本的需求分析技能。在需求分析阶段,要尽可能收集课题的完备需求,可以利用不同小组互相模拟实际用户的形式,增加学生的交流能力和开发兴趣。在需求分析阶段,要完成系统的数据流图和数据字典。高质量的完成需求分析工作可以巩固学生在理论课上学到的数据流图、数据字典等基础理论知识,并提高学生的归纳总结能力。
确定用户需求后,进入系统设计阶段。系统设计阶段要完成应用系统的设计和C语言设计。应用系统的设计要完成课题应用软件的架构设计和具体功能模块的划分。C语言设计要结合应用系统的设计,逐步完成C语言的概念结构设计、逻辑结构设计和物理设计。概念结构设计阶段是整个C语言设计的关键,该阶段通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型;逻辑结构设计阶段要将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化;物理设计阶段要为逻辑数据模型选取一个最适合应用环境的物理结构。C语言设计不但可以加深学生对ER图等理论知识的理解,还有助于提高学生的软件系统设计能力。
系统实现阶段,教师对采用的教学案例代码进行演示,针对不同的程序设计语言对C语言的连接部分进行讲解,并给出相应的示例代码。此阶段主要是学生动手编写代码,完成系统功能。要指导学生编写高质量的代码,包括变量的命名方法、代码的书写规则、代码的注释规则等。这阶段教师可采用启发式教学,对于学生在设计中遇到的问题,要引导他们学会查找资料,自己思考解决。
系统测试阶段,包括单元测试和集成测试。要指导学生进行测试用例的编写,掌握正确的测试方法。对于C语言系统,还要进行C语言的性能测试和容量测试。通过系统测试,使学生掌握正确的测试方法,有效提高软件的质量。
四、考核方式
教师在每个阶段都会进行检查,对完成情况进行记录。开题阶段,要求学生以小组为单位,完成开题报告,并确定选题是否合理。在需求分析阶段,要求每组上交需求分析。在接下来的系统设计、实现及测试阶段,要求学生详细记录设计思想、设计方法、实现过程及测试结果,整理出完整的课程设计报告书。最后由教师综合考虑以下几方面的因素,给出总评成绩,包括文档的完成情况、开发环境的选取、系统功能实现情况、用户界面的设计以及现场演示答辩的效果。通过以上方式,较综合、客观地评价了学生的文字及语言的表达能力以及系统设计、程序开发的能力。
五、结束语
教学实践表明,这种形式的C语言课程设计,可以使学生有效地巩固对基础理论知识的掌握,可以使学生系统地了解软件开发流程,提高学生的软件工程化开发能力,增强学生的就业竞争力,并且可以建立学生的团队意识,提高学生的交流和协作能力。
c语言课程设计范文3
关键词:C语言程序设计;网络课程;目标导向
《C语言程序设计》是一门重要的基础课程,在高职或高专院校中, 更是一门实践性强且面向实际的重要课程。该课程在实际教学中教师教学压力大,学生学习过程中缺乏兴趣,并且存在知识点多、 课时量少的问题。由于缺乏高效的交流平台和丰富的教学资源, 教师不仅难于组织高效的课堂教学和课后辅助教学, 也无法及时掌握学生的学习动态。笔者结合实际教学,对该课程的网络课程的建设从形式向实质的转变提出一些设想。
1.高职高专《C语言程序设计》课程系统分析
本网络课程的使用对象定位为高职高专C语言学习者。这个阶段的学生掌握一些基本的操作计算机的能力,能使用电脑在网络环境下解决一些实际问题。《C语言程序设计》课程是编程技术的入门基础课程。根据课程内容的递进关系,笔者把《C语言程序设计》课程内容分成三个模块,模块一是基础知识入门,模块二是程序设计思维培养,模块三是综合程序设计能力培养。
该课程的主要目标是:不仅是要培养学生对C语言程序设计基础知识的专业认识,更重要的是培养学生掌握现在与将来计算机环境下的问题求解方法,这是为了学生在将来学习和工作中应用程序思维方法解决专业技术问题的重要基础。本着把C语言从应试课程转变为一种实践工具,学习知识过程模块化的思想,该网络课程的设计原则基于行为目标导向以学科为中心的网络课程设计【1】为主,生成性目标导向的以问题为中心的网络课程设计为辅。
2.高职高专《C语言程序设计》网络课程的建设
2.1高职高专《C语言程序设计》网络课程总体结构设计
《C语言程序设计》网络课程可以分为课程指南模块、在线课程模块、应用园地模块、学习支持模块、教学互动模块和实践教学模块,在个别功能模块又有实现该功能的子功能模块,图1为该网络课程网络环境功能框架图。按照本网络课程的设计原则,该网络课程的建设重点是学习资源的设计,该网络课程中应用技巧模块的“实例查询”和“词汇查询”是创新点。
2.2 网络课程中学习资源设计
在“以学科为中心”思想的引导下,学习资源的设计是本网络课程设计中的核心任务,是课程中其他学习活动进行的基础。学习资源的设计对应“在线课程”、“实践教学”、“教学互动”和“应用园地”模块。“在线课程”包括电子教材、课程讲解视频及辅助课件、电子教案,其中课程讲解又包含三个子模块, “基础知识”,“基本技能”和“综合技能”。“实践教学”包括实验指导、实验相关的素材下载。在这两大模块中,不仅使用知识技能递进的方式讲解书本内容,还穿插现在新的方法、新规则和新思想,让学生灵活的掌握C语言程序设计思想。在“应用园地”模块包括有常见题目以及解答查询、以及C语言中关键字及其描述查询等。通过这些丰富的学习资料,学生可以根据自己的实际情况进行有选择性的学习课程内容,养成良好地编程习惯,提高学习程序设计的兴趣。
2.3网络课程中学习支持系统
在“以问题为中心”的网络课程设计为辅的设计理念下,学习支持系统的设计也很关键。在学习的过程中可以通过“学习伙伴“,增加适当的提问互动环节,带着问题进行学习,可以加深记忆,且减少网络学习环境下的孤独感。由于学生刚进入大学,还延续高中时喜欢在学习的同时记笔记的习惯,学习支持系统还设计了给学生提供边学习边记录的电子“学习笔记”,以供以后查阅、复习。通过这些学习支持功能,以保证网络课程学习的高效性和有效性。
2.4网络课程中学习活动的设计
该网络课程中,通过“学习跟踪”记录学生的学习过程,教师可以查看学生的学习状况,发现学习中有困难的同学从而及时进行帮助与辅导。以及结合在线答疑、在线交流发现学生学习的难点,在实践教学模块的实战训练子功能模块中增加对应的训练题目,或者在拓展训练子功能模块中增加适当题目进行强化。通过这两个部分学习活动的设计,使学生在掌握理论知识的基础上,进一步通过实践活动达到知识的内化。
2.5网络课程中学习评价设计
行为目标导向下的学习评价是为了检验学生知识掌握的情况,包括阶段性学习效果和最终学习效果两部分。阶段性评价通过平时作业的方式来完成,学生通过“我的作业”进行提交作业。最终学习效果评价通过“在线测试”的测试成绩来实现。
3. 结论
随着计算机技术和网络的发展,利用网络教学平台不受时间、空间的限制的特点,我校C语言程序设计教师团队也试图利用网络教学进行改革,从而提高学生动手能力、激发学生学习兴趣,但是效果不佳。笔者依据目标导向的设计原则,结合教学中的问题,对《C语言程序设计》网络课程的建设提出一下想法,做了全面的描述。但是,在学习效果评价方面还存在不足,我们将继续对《C语言程序设计》网络课程进行建设并开发,为学生创造灵活、方便的学习环境,提高教学质量。
参考文献
[1]武法提. 网络课程设计与开发[M]. 北京:高等教育出版社,2007.
c语言课程设计范文4
摘要:本文结合学生的学习心理和认知规律,分析了C语言教学问题的主客观原因,提出了“先过程,后对象”的教学理念,从教材建设、教学内容安排上阐述了教学内容的具体组织实施过程,从教学思路、教学观念、教学手段几方面探讨了教学方法的改革。
关键词:C语言;教学方案;教学组织;教学改革
中图分类号:G642
文献标识码:B
C语言程序设计是一门难学、难懂、难以应用的课程,对学生越来越缺乏吸引力。传统的C语言教材大都存在着内容陈旧、缺乏现代编程思想、过于偏重语法、难度高等缺点,难以提起学习兴趣,学生有畏难情绪。
传统的教学观念,强调先打好基础,然后再进行实践、学习技能。教学实践证明,基础和技能的教学可以同步进行,甚至先教技能再教理论,在不断实践中掌握技能,在技能学习中提高基础理论。这样更适合学生的成长。
为此,我们以社会对学生编程和软件开发能力的需求为依据,参照人才培养模式和专业课程体系改革,对C语言课程教学进行了探索实践。
1 教学方法的改革
在C语言程序设计教学中,我们不再局限于单纯介绍C语言基本语法,而是本着面向未来的精神,把C语言作为一种实践工具,以程序设计方法为主线,以语法和结构为核心,以能力培养和提高学习兴趣为目标,注重理论与实践的结合、先进性与基础性的统一,变应试为应用。
1.1先过程、后对象的教学方法
考虑到绝大部分学生今后不会去搞程序开发,所以思维能力的培养是首要的。从这一角度来说,先过程、后对象的方法更符合学生的认知规律。而过程化的程序设计方法和解决问题的思路更切合学生已有的认知结构,甚至可以说就是我们日常分析问题、解决问题思路和步骤的一种计算机的代码化,更易于被学生接受。
1.2采用一体化教学方法,以程序案例为主教学,通过案例讲解语法要点和难点
“案例驱动”教学法应用在C语言程序设计教学中,就是讲解语法时不停留在理论讨论上,不是教会这一语法现象是什么,而是通过实例教会学生某一语法现象如何应用。比如,算术运算符中的求余运算和整除运算是比较有特色和应用较多的运算,在讲解这两个运算符的时候,就不能只停留在写两个表达式让学生计算出结果来,而应该结合实例让学生知道这样的语法特色用在什么地方,怎么用。如通过求1到5的倒数和这样一个小例子使学生认识整除运算的特点及在今后级数求和运算中如何避免可能引起的误差;通过一个求两位整数的逆序数的小程序,学生就会明白整除运算和求余运算可以用来将一个整数的各个位数分解出来,待后续循环结构介绍完毕时,又可将问题扩展到求任意位数整数的逆序数;当介绍到函数的概念时,又可将问题引申到回文数的判别,这样将一个对学生来说很难的算法问题分散到各个部分来处理,不仅降低了算法讲解的难度,也使学生能真切地体会到学习语法知识的必要性。
教学始终贯穿一个核心实例 ―― 学生成绩管理系统的开发。选择这样一个系统的原因是学生比较熟悉有关成绩的业务和功能,同时开发学生成绩管理系统将涉及到 C 语言程序设计课程的全部知识点。
1.3教学模式特色
集课堂、实验、网络教学于一体,教、学、研有机结合、相互促进,形成了“课内教学+课外俱乐部”、“常规教学+实验教学+网络教学”、“开放实验室+自编教材+教学网站+教辅系统”、“课上现场编程互动+课后作业练习+课下实验练兵+机上考试实战+课外创新实践提高”的立体化教学模式。
2 教学的组织实施
C语言课程的教学目标突出培养学生的编程能力,为实现这一目标,在教学内容上抛弃了过多的语法细节和非通用的或实际用途很少的语言特性,注意强调基础性、实用性、先进性和系统性,兼顾教学和自学两方面的适用性。精简过程化部分的内容、降低其难度、衔接面向对象的方法是关键。主要特点如下:
(1) 以结构化程序设计为重点,面向对象的概念和编程思想为扩展,MFC编程基础为补充,体现了先进性和系统性的统一。
(2) 淡化语法,对语法难点通过实例具体而分散地介绍,舍弃不实用和过于复杂的内容,如位运算、共用体、多继承等概念,体现了基础性和实用性的统一。
(3) 在内容上降低难度,淡化了过于繁杂的指针概念,简化了字符串的处理方法,体现了基础性和先进性的统一。
(4) 将面向对象的一些概念有机地渗透到过程化的内容中,如引用、函数重载、默认参数,这样避免了在面向对象部分集中介绍过多的概念而使学生产生畏难心理。
(5) 强调算法的分析训练,有利于在学时紧张的情况下学生通过自学提高分析问题、解决问题的能力。
3 教学内容安排
结构化的程序设计是本课程教学的基础和重点。结构化程序设计强调按照一定的结构形式来设计和编写程序,不仅可以让学生养成良好的程序设计习惯,而且可以有效地培养学生思维的条理性和逻辑性,这正是程序设计课程的主要教学目的所在。面向对象的程序设计也是以结构化为基础,这充分表明了结构化程序设计的基础地位。这部分内容在讲解上强调算法分析、淡化语法细节,语法内容是程序实现的手段和工具,而不是学习程序设计的目标。
通过类和对象的介绍使学生了解面向对象方法的实质是强制通过函数来对数据进行操作,从而保证数据操作的安全性,这就是数据隐藏和封装的思想;通过介绍派生类的继承关系,使学生深刻认识面向对象方法对代码重用的支持;而介绍多态性的关键在于让学生了解基于虚函数的多态性的实质是允许将派生类的对象当作基类的对象使用,因而不必为每一个派生类编写功能调用,从而实现接口的复用。这部分内容强调从实用出发,着重介绍基本的、主要的概念。而对从纯理论研究着眼的一些概念,如继承关系中的私有继承以及多继承中的诸多概念等,对于初学者来说过于复杂,要么不做展开讨论,要么就干脆舍弃。
从结构化程序设计到面向对象的方法过渡时,要解决学生思维方式的转换和衔接的问题。由于思维惯性,学生会将面向对象方法和结构化方法的比较贯穿于所设计的程序中。授课时要从学生的认识规律出发,不必急于空泛地强调面向对象方法的好处,要让学生清楚面向对象的程序设计和结构化程序设计一样,只是一种程序设计方法,它是为解决程序复杂性而产生的。就解决简单问题而言,并非一定要采取面向对象的方法,也并非面向对象方法一定比结构化方法更好。结构化程序设计是从一个个具体的局部入手,描述问题的解决过程;而面向对象的方法是从全局的角度抽象出问题所涉及对象的整体框架,再来描述各层次、各部分的内在联系。方法虽然因着眼点不同而不同,但面向对象的方法仍然是以结构化程序设计方法作为其代码基础的。这样学生既了解了它们之间的区别,又认识到了其间的联系。
4 考核体系
课程考核评价方面,建立了全新的考核评价体系,注重过程考核、编程实践能力考核,改革后的课程评价考核体系主要体现了考核形式多样化、考核标准合理化以及考核试卷个性化三大特征。
5 实验教学
C 语言特别适合编写系统软件,执行速度快,代码质量高,在进行系统控制、调节、测量、硬件驱动等方面具有独特优势,这些优势必须要通过实训室中软硬件结合的程序设计方可体现。按照“少而精”的原则,压缩并精选实验项目与内容,提高教学效率,从而使实验教学与理论教学的结合更加紧密。
开放实验室,让学生可自主选择实验时间、自主选择实验内容,为学生提供勇于探索、敢于创新的外部环境。
建设了与课程相配套的具有我院特色的实验环节: 课程设计、项目分析设计、科研开发等。考试方式:上机实验和考试结合,增加机试,借助编程题自动评分系统考核学生实际编程能力;开发编程题自动评分系统,向无纸考试过渡;开发题库系统,为机考提供支持;开发在线教学网站,拓展教学空间。
课内实验教学兼趣味性和实用性于一体,课余通过指导学生参加科技创新活动、各种程序设计大赛、学生俱乐部的各类小型软件开发项目,达到巩固知识、锻炼能力、提高素质的目的。
6 结束语
通过几年来的实践,我们加强教学的内容选取、组织形式、实例贯穿、上机实践、课时安排、教学环境与利用、教学评价与考核等多个环节的改革,取得了相当不错的教学效果。
参考文献:
[1] 龚沛曾等. 案例教学法在"Visual Basic程序设计"课程中的应用[J]. 计算机教育,2004,(5): 62-63.
[2] (美)HM.DeitelP.J.Deitel著.C++编程金典第三版[M].北京:清华大学出版社,2005.
[3] 张春兴.教育心理学[M].杭州; 浙江教育出版社,2006.
[4] 龚沛曾,杨志强主编.C/C++程序设计教程[M].北京:高等教育出版社,2004.
[5] 刘鹏,安玉洁. 微格教学的多元化架构[J]. 电化教育研究,2007,(9).
c语言课程设计范文5
关键词:教学模式;课程建设;一体化;网络助教;在线考试
“百年大计,教育为本”,这是教育部《2003-2007年教育振兴行动计划》的开篇词,深刻昭示了教育的重要意义与作用。“新世纪素质教育工程”以培养德智体美等全面发展的一代新人为根本宗旨,阐明了教育的目的是培养具有较强实践能力、具有创新思想和开拓精神的新一代大学生。“高等学校教学质量与教学改革工程”以提高高等教育人才培养质量为目的,强调通过培养模式、课程体系、教学内容和教学方法改革,利用精品课程平台培养出更多的创新性人才。精品课程建设对高等教育教学改革、教学资源共享、提高教学质量起了重要作用[1]。
哈尔滨工程大学是国家工业和信息化部下属的一所具有“三海一核”鲜明特色的211院校。通过多年努力,精品课建设取得了显著成效,C语言程序设计即是其中之一。通过多年的教学实践,我们建立了一套一体化的教学模式。在教学活动中,改变传统的以教师为主的重在“教学”的教学方式,推行以学生为主的重在“指导”的教学方式。这种教学模式强调学生的自主学习能力,最大限度地发挥学生的自主学习能力,使学生很好地掌握了编程技能。学生综合能力得到了较大提高,在包括ACM ICPC在内的各种编程竞赛中取得了良好的成绩,受到用人单位的广泛好评。
1现状分析
我校虽然为211大学,但全校学生的基础参差不齐。各专业的招生情况不同,学生的基本素质参差不齐;计算机课程在中、小学开设情况的不同及生活现状的不同,造成不同学生的计算机基本技能有较大差异。
在教学活动中,教师人数严重不足,尤其缺乏助教。这种情况致使学生在学习过程中缺乏必要的指导,指导力度不足的现状又导致了教学环节的不完善。教师不能及时批改全部作业,无法全面了解学生的学习情况。
精英教育是我校最主要的教育目标。学校推出了2009版的教学计划。新版教学计划带来的问题是程序设计课程的课时被压缩。如何在一个教学周期内让学生很好地掌握程序设计是一个重要问题。要想学好,学生必须在课下再花大量的时间学习,进行必要的训练,同时还需要教师进行必要的指导、辅导和答疑。
摆在计算机基础教学教师面前的课题是:如何以有限的人力教授基础和能力参差不齐的大量学生,使他们在有限的时间内掌握计算机基础知识、基本理论、基本操作,并能灵活运用所学知识进行创造性思维和创造性实践。因此,传统的教师教学、学生学习的模式必须要改革。解决问题的办法是:发挥学生的自主性,鼓励学生进行自主学习,使学生从被动地位转变到自主学习的主动地位。在这种模式下必须加大辅导力度,构建一套全新的、一体化的、贯穿整个教学活动周期的教学模式,开发辅助教学工具――网络助教系统、网络学习平台,采用无纸化在线考试系统,可以很好地解决这一问题。
2一体化程序设计课程模式
C语言程序设计课程几乎是各大学必开的程序设计课程,不仅计算机专业的学生需要学习,绝大多数非计算机专业学生也要必修这门课[2-4]。
教学活动是一个全面的系统工程,包括学习的指导者教师,学习的接收者学生以及教材、实验环境和辅助手段。课程建设的目的是为了让各种教学资源“活”起来,以教学设计为指导,设计各种共享资源及如何为提高学生素质而服务[1]。
一体化教学模式是指利用计算机技术和网络技术[5-6],协调教学系统的各方面因素,充分发挥教师和学生的积极主动作用,配合用现代技术开发出来的软件平成教学活动的教学模式。一体化教学模式结构如图1所示。
教学活动中教学的发起者与引导者是教师,知识的接收者是学生。为使学生得到更多的收获,教师不仅要“教”,更要“导”。“导”的含义是指辅导、指导与引导。教师辅导学生学习、答疑解惑,不仅要像培养研究生一样指导其如何学习、怎样学好,更要引导学生前进的方向、引领其解决问题的思维。优秀的教学团队是教学的良好保障,教材决定课程内容与方向,实验是提高实践能力的基础与验证正确性的手段,教学网站是学习的辅助工具,网络助教是教师的臂膀与拓展,无纸化考试是验证学习成果的方法。
3一体化教学模式各子系统
3.1教师队伍建设
C语言程序设计课程由我校计算机基础课程教学中心承担。中心的14位教师中有教授3位,副教授8位,讲师3位;博士5位,硕士8位,学士1位;博士生导师1位,硕士生导师6位。各位教师长期从事教学活动,具有丰富的教学经验,是一支高水平、高素质的优秀教学队伍。
在努力做好计算机基础教学工作的同时,我们积极参与各级教学改革与教学研究工作,教改立项50余项,获得各类成果奖励20余项,发表教学研究论文30余篇,开展了多门课程的题库建设工作,编写出版教材20余本,完成了两门校级精品课程的建设,有13人次被评为校级优秀主讲教师,获得各种优秀教师个人称号50余人次。
3.2教材建设
在教学活动中,教材的重要性毋庸置疑,教材决定了教学的主要内容,引领学生的思维方向[7-8]。在早期的教学中我们采用谭浩强教授的两本主教材:《C语言程序设计》和《C语言程序设计实验指导》。经过长期的教学实践,发现该套教材存在一定局限性,不能完全满足我校的教学要求。我校的培养目标是创新性的精英人才,除了强调C语言本身的语法特点、编程技巧外,更应强调编程能力的培养及解决实际问题的能力,应该在主教材中重点突出程序设计部分及解决实际问题部分。在实验环节不仅要验证所学知识,更应强化设计能力。
经过认真的研究、分析与准备,我们推出了自编的2套教材:《C语言程序设计》和《C语言程序设计学习指导》。在主教材中以C语言做编程环境依托,强调C语言仅仅是程序设计的工具之一,强化程序设计部分,采用案例教学方式,重点培养解决问题的方法。目的是使学生掌握脱离于任何语言环境的程序设计思想,给学生更大的发展空间,使其能够在今后的科研和工作中,具备快速学习并灵活应用其他工具软件的能力。在辅助教材中侧重于分析问题与解决问题两方面内容。为提高学生的逻辑思维与推理分析能力,精心选择与设计了大量经典算法、习题与练习来训练学生。在实验部分精心设计了验证实验、设计实验与自主发挥实验。经过训练,学生学习了他人的经验与方法,并能融会贯通,做到了首先要学会,继而要会用、用好、用精,将来能够更好地发挥程序设计思想的指导作用。
3.3教学网站建设
学校有很好的网络环境,为了使学生更好地学习,我们建设了C语言课程网站。通过网站学生可以了解课程,共享优秀资源。课程网站主要分为 5个区域:教学区、学习区、练习区、深入与提高区和讨论与交流区。课程网站功能划分如图2所示。
教学区包含教学大纲、教学进度表和实验内容,目的是让学生对课程目的和要求有整体了解。学习区主要强化自主学习,包含教学课件、实验指导、教学录像、教师课程讲义、电子教材和授课教案。通过学习区的内容,学生可以共享不同教师的风采,了解教师是如何设计教学内容,如何通过案例引领程序设计思路,同一问题不同教师的侧重点与切入问题的不同方法。练习区配有练习与习题、作业答案、历年试题,供学生验证学习的效果。深入与提高区包含进一步提高的相关学习资源、经典程序实例与外部优秀资源链接,给学生以更广阔的发展空间。讨论与交流区的设置目的是给学生一个经验交流空间,学生用自己的语言分享学习心得体会。
3.4网络助教建设
助教,顾名思义是一种辅助教师进行教学活动的角色。传统助教需批改作业,进行作业情况的统计与汇总,讲解作业的共性问题,上习题课,完成课下的辅导答疑。由于我们计算机学院整体素质的提升,目前已经不存在助教这一角色。每年要由我中心的14位主讲教师承担100多个自然班的授课任务,3 000多学生的批改作业、辅导答疑等工作任务极其艰巨,而作业和答疑是学习过程中必不可少的重要环节。为了更好地完成教师的工作,增大增强教师的臂膀,共享优秀资源,我们开发了网络助教系统。
网络助教是应用计算机技术和网络技术搭建的计算机辅助教育平台。网络助教利用网络与先进计算机技术完成普通助教的工作,并拓展了助教的服务范围,使全校学生共享教学成果。网络助教系统功能结构如图3所示。
教务处根据教学资源情况在上学期末安排课表,将若干个自然班分配给某教师成为一个教学单位,每个教师承担2~3个教学单位的教学。学生管理完成学生信息的导入与导出;构造教学单位;维护教学单位的上课时间表。将教师角色设计为普通教师、题库维护教师、作业维护教师与系统管理员。系统管理员完成教师角色的分配与教学单位的指派;题库教师完成作业题库的建设、更新与维护;作业维护教师根据情况作业及并为其指定完成时间;普通教师完成自己班级的作业管理。作业管理完成作业的批改与点评,作业情况统计,期末数据综合统计与报表生成,共性问题挖掘,经验知识学习指导。完成作业部分实现学生通过网络在指定时间范围内上交作业,实时查看正确答案及评改、评语,共性问题获取,经验知识学习。题库管理完成作业题库维护。
网络助教利用计算机技术拓展了教师的工作,由全体教师共同组成了一个超级教师,具有全体教师的教学经验,全天候为全体学生进行全方位的服务,优质资源和优质服务共享。除此而外采用数据挖掘技术进行学生作业的共同问题抽取,抽取出来的经验知识可为全校学生共享并指导其进一步的学习,避免走弯路,促进共同提高。采用知识获取技术得到主观问答题的摘要,并采用相似度匹配技术进行成绩判定。采用相似度匹配技术还可以进行雷同作业判定。
3.5无纸化在线考试系统建设
随着教育事业的发展和网络技术的成熟,计算机网络的应用越来越广泛。将网络应用于教育,实现教学办公自动化,必将提高教学效率,促进素质教育的发展[1,9]。无纸化在线考试已经完全可以满足绝大多数考试的要求。无纸化在线考试是在计算机上进行的考试。纸介质试卷方式只能以有限的题目来测试学生的能力,还无法做到全面覆盖知识体系的全部知识点。无纸化在线机试考试,通过覆盖知识体系全部知识点的题库系统对学生进行考试,可以全面测试学生的能力和掌握知识的程度,由计算机从已建立的题库中抽取试题组卷,考生一人一机一卷,根据显示的题目用键盘或鼠标输入答案,考试结束后,计算机自动阅卷、评分、统计及分析等。采用无纸化考试,丰富了考试内容,提高了考试质量,教考分离,公平公正,知识体系覆盖全面,避免人工批卷产生的错误,也避免了传统考试因所有学生试卷相同而带来的抄袭问题。无纸化考试系统功能结构如图4所示。
无纸化在线考试采用B/S结构。学生实时得到考试成绩并签署成绩单。考试管理完成考试批次设置、考试过程监控、成绩管理、生成报表。学生管理完成考生的导入导出、生成准考证、验证身份。试卷管理完成设定考试难度、随机生成试卷、试卷指派。在线考试完成实时考试、成绩评判、打印成绩单。题库管理完成考试用题库的维护。
采用B/S结构简化了客户端设置,使得考试的组织快捷方便,学生机仅需基本配置即可,无需安装客户端程序,重点需要对考试服务器进行维护。该结构使得服务器成为系统瓶颈。采用多线程与缓冲池技术解决并发登录与并发试卷提交。系统分离用户逻辑与数据,用实体引擎完成数据库操作,采用角色及访问控制、身份验证与数据视图技术解决系统安全问题。采用加密技术保证成绩的不可更改性。
4结语
多年的实践验证了一体化教学模式的优越性。我们精心进行全方位的课程建设,使教学活动不受时空限制,以其互动性强、协作性强、教学相长等特点在为提高我校C语言程序设计课程的教学效率与质量,培养精英人才等方面发挥了积极作用。随着教育事业的发展和网络技术的成熟,将计算机技术应用于教学活动中的一体化教学模式必将越来越成熟。这种模式拓展了优秀教师的作用,使优秀资源充分共享,并能将教师从繁重的批改作业、辅导答疑中解放出来,以更多的精力进行教学研究。此外,网络辅助教学的研究与实践不只是单纯的教学问题,还需要各方面的协同工作和大力支持,只有上下齐心合力,网络辅助教学的目标才能真正实现。这套教学模式不仅可用于计算机类课程,还可以向其他课程或领域延伸,必将取得长足的进步。
参考文献:
[1] 郑莉. 精品课程建设中的几个重要关系[J]. 计算机教育,2006(10):15-17.
[2] 蒋东兴,张继才,罗念龙. 高校网络教学现状与对策[J]. 计算机教育,2004(9):44-46.
[3] 余久久. 浅谈“C语言程序设计”教学体会[J]. 计算机教育,2008(18):120-122.
[4] 杨帆. C语言程序设计课的教学角度[J]. 计算机教育,2008(18):105-106.
[5] 吴宏伟,张殿龙,梅险. 高校网络辅助教学的探索与实践[J]. 计算机教育,2007(13):18-21.
[6] 邓萍,蒋君好,蒋启华,等. 高校网络辅助教学应用中存在的问题及对策初探[J]. 中国现代教育装备,2009(15):21-22.
[7] 李迎秋,李树华,邱建华,等.C语言课程教学改革与实践[J]. 计算机教育,2008(24):12-14.
[8] 朱立华,俞琼. C语言教材建设的研究与实践[J]. 计算机教育,2009(13):151-153.
[9] 关忠仁. C语言教学质量的思考与实践[J]. 计算机教育,2007(6):56-58.
Research and Practice of C Language Programming Course Construction
GAO Wei, ZHANG Guo-yin, HUANG Hong-tao
(College of Computer Science and Technology, Harbin Engineering University, Harbin 150001,China)
c语言课程设计范文6
[摘 要] C语言程序设计是各大高校广泛开设的计算机课程,C语言规则繁多、概念复杂,学习难度不小。学习C语言要求很强的实践性,为保证学生在实验课中出现的各种问题能够得到快速及时准确的解答,本文进行了引入PHPEMS在线考试系统辅助C语言程序设计实验课的实践研究。
[关键词] PHPEMS;C语言;程序设计;实验课
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2017. 05. 125
[中图分类号] G642.0;TP312 [文献标识码] A [文章号] 1673 - 0194(2017)05- 0230- 02
0 引 言
计算机C语言是当今计算机编程领域使用广泛的高级语言,是计算机操作系统、编译系统等的首选语言。C语言规则繁多、概念复杂,实验课学生在使用C语言进行编程的时候,经常因为一个小小的编译错误而无法调试出正确的程序,或者只是照抄了实验书的现成程序,却没有弄清基本的运算和表达规则。这导致C语言程序设计课程经常出现这样的现象,一部分学生遇到很小的问题也会频繁举手提问,教师为处理这些基本问题而疲于奔走,大大压缩了细致讲解重难点问题的时间,还有一部分学生尽管心存疑问却碍于面子不向教师提问,导致实验课上遗留了很多本来可以解决的问题。对于授课教师来说,检查修改学生上交的程序作业常常需要很多时间,检查的结果也无法及时反馈给学生个体。为了解决上述问题,在C语言程序设计实验课上引入在线考试系统PHPEMS,既可以帮助学生迅速找到学习过程中的小问题并给出详细解答,也能够辅助教师快速检查作业并生成统计图表,帮助教师及时发现和解决问题。
1 PHPEMS在线模拟考试系统
在线模拟考试系统(PHP Exam Management System,PHPEMS),基于PHP+MySQL开发,用于搭建模拟考试平台,它可以安装在机房服务器或者校园网服务器中,学生通过IE浏览器访问前台地址进行实验课练习乃至考试,教师和管理员通过访问后台进行试题设置管理。PHPEMS提供了完备的练习和考试功能,对于C语言程序设计实验课来讲,PHPEMS系统的以下功能能够起到很好的辅助作用。
(1)考场、章节、知识点设置功能。通常将PHPEMS安装在校园网服务器之中,它的服务对象是开设C语言课程的所有专业、所有班级的学生,对于不同学生的学习目标和学习进度,可以设置多个考场,考查不同的章节内容和知识点。
(2)题型设置功能。根据课上练习内容,教师可以设置适合的题型,比如设置单选题型来考查单一的知识点,设置主观题型来考查编程等复杂内容。
(3)题库功能。教师通过题库管理可进行普通试题、题帽题等类型试题的添加、编辑、管理等操作,建立好的题库会保存在PHPEMS数据库当中,方便重复使用。
(4)试卷功能。教师使用该功能可进行按照难度分布的随机组卷,也可以针对某个知识点专项进行手工组卷。
(5)成绩管理。教师通过成绩管理功能可以方便的查看和管理学生实验成绩。
2 PHPEMS辅助C语言实验课实践研究
2.1 C语言实验课程设计
(1)课时安排。PHPEMS辅助C语言实验课教学的课时安排与传统实验课课时相同,不需要专门调整。
(2)课前准备。教师需做好课前准备,除了普通实验课的内容讲解、演示,还需要预先登陆PHPEMS后台根据实验内容准备或激活已有的试卷方案。
(3)知识点讲解。PHPEMS辅助的C语言实验课与普通实验课相同,先由授课教师进行知识点讲解和操作演示,讲解时间一般占整个实验课时的1/3左右,之后进入PHPEMS辅助练习时段。
(4)PHPEMS辅助练习。学生登录PHPEMS在线考试系统完成教师安排的实验内容,系统会自动记录、检测学生的练习进度和练习时间,在学生完成实验要求后,系统会自动阅卷评分,并显示答题用时、得分、错题数量、正确答案、所在章节、知识点解析等内容报告,还会列出所有学生的成绩并进行排名比较。教师和学生均可从系统中查看个体学生报告和全体学生的总报告。
(5)根据实验课程内容重复(3)、(4)步骤。对于知识点内容较多的实验课,可以预先对知识点进行分割,对应这些知识点在PHPEMS中设置多个实验试卷方案,根据知识点进度重复(3)、(4)步骤。
(6)教师根据PHPEMS的数据报告对错误率较高的知识点进行重点讲解,学生进行强化练习。
整个实验课教学流程如图1所示。
2.2 C语言实验课程实践
以第二章数据类型、运算符与表达式的一次实验课为例,按照教学计划此次实验课时为2小时,需要讲解和练习的内容包括“1.C的数据类型”、“2.常量与变量”、“3.整型数据”、“4.实型数据”、“5.字符型数据”。
(1)课前,授课教师依据知识点容量将本次实验课分为两个小知识点:①“C的数据类型”和“常量与变量”;②“整型数据”、“实型数据”和“字符型数据”。授课教师登录PHPEMS后台,依据两个知识点在题库中分别调用试题进行组卷,命名为“试卷一”和“试卷二”。
(2)课中,教师首先讲授“C的数据类型”、“常量与变量”,并演示相关操作,接下来学生使用个人账号登录PHPEMS系统,选择试题方案“试卷一”进行自测答题。教师登录PHPEMS后台查看学生练习情况报表,就报表中反映出的易错题:“在以字节存储字符的系统中,’\n’在内存汇总占用的字节数是多少”的知识点进行重点讲解,阐明“一个字符在内存中只占1个字节,'/n’是转义字符,其意义是换行符,作为一个字符存储在内存中也只占1个字节”。
教师继续讲授“整型数据”、“实型数据”和“字符型数据”,并演示相关操作,然后学生打开并完成“试卷二”试题方案。教师根据试题二报表,对易错题知识点进行重点讲解。
在所有学生完成“试卷一”、“试卷二”的练习内容后,教师登录PHPEMS系统后台,针对前两个练习中体现的问题,依据相关知识点随机组卷并“试卷三”,学生打开“试卷三”进行易错知识点的强化练习。
(3)课后,因为PHPEMS安装在校园网服务器,课后仍存有疑问的同学可使用个人电脑自行登录系统,练习课上作业或者通过系统的强化训练功能进行自主学习。
2.3 PHPEMS辅助C语言实验课效果分析
对比传统授课方式,加入PHPEMS系统辅助的C语言程序设计实验课模式效果更佳,这体现在以下几个方面:
(1)PHPEMS使学生个体在练习时出现的问题能够得到更及时、快速、准确的解答,不会因为长时间等待教师解答而失去学习兴趣,而这种现象经常出现在教师被多个学生同时提问分身乏术的传统实验课上。
(2)PHPEMS系统的成绩排名功能显著提高了学生群体的学习兴趣,他们更愿意专注听讲、认真练习得到高分和高排名,对比传统实验课“混”的学生数量大大减少。
(3)使用PHPEMS的知识点强化功能,学生们能够针对性的练习,从而学习、理解直至吃透相关知识,做到有的放矢。
(4)PHPEMS提供的自动评分和知识点解析功能显著减少了教师课上基础工作量,使得教师可以更专注于讲解重难点问题。
(5)学生们需要花费一小段时间来熟悉PHPEMS系统界面、学习使用系统功能,是该实验课模式的不足之处,PHPEMS系统不能直接调用Turbo C等编程软件也是一个缺憾。