第一篇:“模式化”方法在C语言程序设计教学中的研究与实践
“模式化”方法在C语言程序设计教学中的研究与实践
摘 要:通过对中医药院校C语言程序设计课程开设的现状分析,针对学生程序编写的困难、兴趣不浓,学习积极性不高这一学情,根据自身教学经验的归纳与总结,受“模式”这一概念的启发,创新地提出了将“模式化”教学方法应用于C语言程序设计课程的教学实践中,使抽象的程序设计变得有章可循。结果表明:将“模式化”方法运用于C语言程序设计课程教学中不仅激发了学生的学习兴趣,使学生更轻松、快捷的掌握了程序设计的思想与方法,还提升了教学效果,是行之有效的教学创新实践。
关键词:模式化 C语言程序设计 中医药院校 教学方法
中图分类号:G4 文献标识码:A 文章编号:1674-098X(2015)05(b)-0100-02
2009年医药类计算机基础教学指导委员会颁布了“医药类院校的计算机基础教学的课程设置和基本要求”的指导性纲要文件,提出2+X的课程设置体系,其中“2”代表大学计算机基础(医药类)和程序设计基础两门必修课[1]。目前,大多数高校程序设计基础课开设为《C语言程序设计》。
C语言是一门功能强大、应用广泛的高级程序设计语言。但由于C语言中涉及的概念比较抽象、语法规则繁多,因此不少初学者感到学习困难、兴趣不浓,积极性不高。如何激发学生兴趣,提高教学质量,使学生能轻松快速的入门,培养学生的逻辑思维以及抽象思维能力,是教学中需要思考、值得探讨的问题。我校开设《C语言程序设计》的目的与现状
随着计算机技术在中医药领域的广泛、深入应用,例如医院信息管理、远程医疗、智能仪器设备、计算机医疗仿真等,都离不开程序设计技术的支持。可见,程序设计技术的基础性和重要性。我校在非计算机专业学生本科阶段开设《C语言程序设计》课程,旨在通过对课程的学习,使学生掌握程序设计的基本方法和技巧,培养学生的逻辑思维能力,训练学生严谨的治学态度,为其更深入、灵活的利用计算机技术解决行业中的实际问题奠定基础。
对于中医药院校的学生而言,本课程内容相对比较抽象、枯燥,理解、掌握起来比较困难,无法快速从“形象思维”到“逻辑思维”的转变;加之中医药院校大部分专业属于文、理生兼招的专业,考生生源的数学功底以及逻辑思维能力相对理工科院校而言较差,而C语程序设计是一门逻辑性很强的课程,这为教师的授课带来很大的阻力;此外,部分医药类专业的学生采用“背书式”的方式来学习程序设计,将概念、例题等背诵记忆下来,而并非真正理解,从而导致“上课能听懂,练习不会做”的现象比比皆是;还有部分学生片面的认为编程是程序员的事情,跟他们所学的专业以及将来的工作就业没什么直接或必然联系,因此重视程度不高,也缺乏兴趣。
针对上述问题,笔者通过几年的教学实践、总结与反思,在教学方法上进行如下研究与实践尝试,以促进中医药院校信息化人才的培养与教学效果的改善。“模式化”理论教学方法研究与实践
《C语言程序设计》课程内容较多,主要包括:程序的简单算法,语句基础,选择结构、循环结构程序设计,数组,函数,指针,构造数据类型,文件等。我校开设该课程的课时数为48学时,其中理论课时24学时,实验课时24学时。由于课时极其有限,为了更有利于非计算机专业的本科生理解程序设计的思想,且能进行简单的程序编写,而不是一味地灌输所有知识点不考虑学生是否能够接受,故我校选取了最为基础、易于掌握的部分内容进行课堂讲授,包括:程序的简单算法,语句基础,选择结构、循环结构程序设计,数组,函数。如何将各章节零散的知识点关联在一起,来进行C语言程序设计,以实现某一功能需求,是本课程理论教学的核心,而教会学生分析和解决问题的思路和方法是关键。模式其实就是解决某一类问题的方法论,即把解决某类问题的方法总结归纳到理论高度。受到“模式”这一概念的启发,笔者经过教学观察和研究发现:将“模式化”方法运用于程序设计的教学中,能为学生提供更清晰、便捷的分析问题解决问题的思路与方法,而尽量减少学生对于程序编写感觉无从下手的状态出现。
2.1 宏观上分析问题,设计程序
面对一个编程需求(即题目要求),首先要学会分析问题:即看懂题目意思。仔细研读并分析编程需求中的每一句话,从宏观上明确需要解决哪几个问题,各个问题采用何种程序设计结构,解决各个问题的关键点或关键步骤是什么。宏观分析阶段,可以用自然语言、流程图、N-S图等方法将解决问题的关键步骤进行描述,即算法描述。宏观分析“模式化”为表1宏观分析“模式化”表。
说明:表1中的第三列关于“程序设计结构”的确定,需要根据待解决的问题选择合适的C语言句型。若为有条件执行,则采用选择结构,其中单分支结构选用if句型,双分支选用if…else…句型,多分支选择if…else if…else if…else…句型或switch句型;若为反复执行,则采用循环结构,其中明确循环次数多选择for句型,明确条件限制多选择while或do…while句型;若编程需求中涉及到多个待解决的问题或功能较复杂,在分析时可以功能模块的细化,将其划分为一个个独立的子功能模块,则采用函数解决。
2.2 微观上解决问题,编写程序
在对问题进行分析并作简要描述后(即填写好表1的内容),接着进行微观上的程序编写。笔者根据“一个简单C语言程序的结构,分为预处理命令和主函数两部分”这一特点,将微观程序设计模板设计如表2微观程序设计模板。
说明:表2中的预处理部分通常包含三类语句的书写,若用到C语言系统所提供的库函数通常要书写包含头文件语句(例如,要使用标准的输入/输出函数需包含头文件#include,要使用数学函数需包含头文件#include,要使用字符串处理函数需包含头文件#include);若程序中不涉及到宏定义则宏定义语句可以省略不写;若程序中不涉及到子函数的定义则函数声明语句可以省略不写,同时子函数实现部分也可以省略不写。
按照微观程序设计模板设计好后,学生最终只需按照C语言语法格式的要求将模板中每一部分或步骤“翻译”(即转化)成C语言的语句,即可完成程序的编写。在Visual C++6.0的开发环境下将编写好的文件保存为后缀名为.C的源文件,经过编译、链接、运行,验证程序设计的结果。
2.3 C语言程序设计案例分析
编程需求:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=13+53+33。
建立水仙花数宏观分析模块化表。(见表3)
建立水仙花数微观程序设计模板。(见表4)
将水仙花数微观程序设计模板转化为C语言的源程序,代码如下所示:
#include
main()
{
int n,gw,sw,bw;
for(n=100;n<=999;n++)
{
gw=n%10; //分离出数n的个位
sw=n/10%10; //分离出数n的十位
bw=n/100; //分离出数n的百位
if(n==gw*gw*gw+sw*sw*sw+bw*bw*bw)//满足水仙花数的条件判断
printf(“%-5d”,n);
}
}
结语
笔者通过对学生的学习观察以及自身的教学经验总结,将“模式化”教学方法应用于C语言程序设计课程的教学实践中,取得了良好的教学效果。使学生再不会感觉程序编写无从下手或是深不可测,激发了学生的学习兴趣;培养了学生独立分析问题、解决问题的能力;使学生更轻松、快捷的掌握了程序设计的思想与方法。
参考文献
[1] 教育部高等学校计算机基础课程教学指导委员会.高等学校计算机基础教学发展战略研究报告暨计算机基础课程教学基本要求[M].北京:高等教育出版社,2009:72.[2] 罗铁清,杨连初.C语言程序设计[M].上海:上海交通大学出版社,2009.[3] 曲蕴慧.医学院校《C语言程序设计》教学探讨[J].科技信息,2013(19):214.[4] 刘鹏.医学院校《C语言程序设计》课程教学方法研究[J].才智,2012(5):118.
第二篇:浅谈《C语言程序设计》教学与实践
浅谈《C语言程序设计》教学与实践
为了有效改善当前C语言程序设计教学方法的诸多问题,本文提出了一种互动式和启发式教学方法,从实际出发,制定出切实可行的教学案例。通过测试结果表明,本文提出的方法在实际的教学实践中取得了良好的效果。
随着现代信息技术的发展,计算科学与信息科学相结合更加紧密,计算机编程能力已经成为非计算机专业学生的一门重要的必修课[1]。目前,许多高校都开设了《C语言程序设计》课程。由于C语言的功能强大和应用广泛,已经成为许多高校课程首选的编程语言。与其它语言相比,C语言涉及的概念更加复杂、规则更多,如果按照传统的教学方法,对于非计算机专业大多数学生来说,在规定的课堂教学时间内,较难掌握C语言的程序设计思想和方法。因此,传统的教学方法需要改革与实践。
目前,C语言教学存在的问题较多,本文归纳如下(1)计算机基础存在很大差异。目前,我国非常重视信息和计算机科学的普及教育,大多数高级中学都开设信息技术等课程,在进入高校前,大多数学生就已经掌握了一些计算机相关的基础知识。由于不列入高考范围,不同地区存在很大差异,尤其是经济欠发达地区的学生在计算机知识的掌握方面存在很大的差异;(2)教学案例。C语言涉及许多知识点,现有教材大多数都通过例子讲解每个知识点,通过例子可使学生更好的理解知识点,但问题在于往往不同知识点对应的例子不同,导致学生误认为知识点之间是孤立的,使学生无法将不同的知识点综合起来,学到最后,大多数学生会出现无法将各个知识点串联起来。因此,在教学过程中,选择合适的案例来贯通多个知识点是非常重要的;(3)学生的积极性没有得到充分调动,创新意识没有得到体现。在C语言教学中,大多数的学生都是被动的学习,被动的接受教师课堂授课。这种教学方法,不但不能真正反映教与学的相互性,也不能调动学生学习C语言的积极性,更不能提倡和培养学生的创新精神。
为了解决上述问题,本文提出了一种互动式和启发式教学方法,从实际出发,制定出切实可行的教学方法和教学案例,以程序设计的思想和方法为主线,充分调动学生学习的积极性和持续性。通过测试结果表明,本文提出的方法在实际的教学实践中取得了良好的效果。教学案例
刚开始对于学生要求不能过高,初学时,只要求看懂程序,编写简单的程序就可以了,然后逐步深入,通过长期的学习和积累就能熟练掌握C语言。对于学时有限或者基础较差的学生来说,有些较为难懂的内容可以通过选学或自学,把精力放在最基本、最常用的内容上,学好基本功。因此,案例的选择至关重要。对于案例的选择不但要有代表性,而且要有趣味性,不仅与教学内容和目的密切相关,也要能激发学生学习能动性,让学生掌握每个知识点。如果学生养成了正确的学习方式,掌握程序设计的思想和方法,便于以后学习其它编程语言,其基本规律和方法都是一样的。在传统的教学过程中,教师的思维与学生思维存在较大差异,导致学生被动的学习教师的理念,很容易将理论与实践脱离。相反,案例教学更注重激发学生学习的积极性,能够举一反三,掌握规律,引导学生解决实际问题的能力[4]。对于抽象的概念,往往使学生失去进一步学习的欲望,然而教学案例所引入的知识点,通过教师与学生之间的相互作用,共同分析和研究问题,使教师能够充分调动学生的积极性和兴趣,不会出现学生被动的学习情况。
通过这种方式,学生很容易接受各章知识点,对知识点的理解又进一步加深。学习程序设计,只要掌握程序设计的思路和方法,就能学活用活,举一反三。另外,在考虑教学案例时,我们应该根据学生的实际情况来选择案例,案例的选择不能太易,也不能太复杂,需考虑学生的接受和理解能力。因此,教学案例可提高学生的主动性、培养学生分析和解决实际问题。互动式教学方式
传统的教学方式,往往都是以教师为中心,学生是被动的接受知识,而现代教学方式偏向于主张学生参与到教学过程中[5]。教学本身具有两面“教”与“学”,两者紧密相连,教师教的过程也能总结出如何教好学生的方法。因此,教师的教学与学生的学密不可分。然而,旧的教学观念总是强调教师的教学,以为教的越多,学生学的越多,往往会忽视学生实际掌握知识的情况,甚至没弄清楚学生是如何学习的。因此,学生一直以来都处于被动状态。实际上,“教”只是外部因素,“学”才是内部因素。教师的“教”是创造学生“学”的条件,学习过程就是一种认知的过程,学生“学”的动力取决于“教”。
在C语言教学过程中,教师通过互动式教学法帮助学生回顾知识,采用回答问题方式引入新的知识,然后讨论和演示验证指导学生解决问题,最后,通过新的启发式问题引导学生进一步思考。最好这些问题从学生的背景知识中考虑,能启发学生,让学生从不同方面思考和解决问题。
编程思想和方法
如今的信息技术发展迅速,计算机编程语言层出不穷,对于学生,掌握一门编程语言至关重要,在教学48课时和实验16课时,共64课时内,很难精通一门编程语言。因此,编程语言教学应该集中在使学生掌握编程思想和方法,培养他们的逻辑思考能力。只有采取这种方式,学生今后就能以同样方式迅速的掌握其他编程语言。计算机编程语言的教学是语言学习的基础和关键环节,程序设计的关键是如何找到问题和解决问题,俗称算法。算法是程序设计的灵魂,是计算机进行操作的步骤。语法是编程的基础和程序设计的工具,培养学生编程能力,我们应该集中在算法设计和分析上。算法分析可以帮助学生开放思想,开拓新思路,归纳逻辑规律。在传统教学中,教师只要求学生看懂程序,当他们单独编写程序时,往往不知道从哪里开始[4]。
C语言程序设计课程教学要求学生掌握基本语法、申明、控制结构、基本思想和自上而下的结构化程序设计。同时,也要培养学生使用C语言解决实际问题。在讲完C语言基本知识教学时,例如数据类型和变量声明,我们可以使用三种基本结构程序设计、函数、数组和文件作为主线进行教学,这样学生就可以掌握编程的基本技能。即使不同的编程语言实现代码不同,但它们的思想和方法非常类似。当我们在C语言教学时,我们应该淡化语法教学,为了培养学生解决问题的能力应把教学的重点放在算法上。语法规则不是通过孤立的学习而是在学习编程的过程中学到的。随着编程难度的逐步提高,算法和语法的学习同步趋于深入。学生在富有创意、引人入胜的编程中,学会了算法,掌握了语法,把枯燥无味的语法规则变成生动活泼的编程应用。
结束语
通过采用本文提出的互动式和启发式教学方法考察类型题包括选择题(占总成绩的20%,涵盖整个教学大纲,下同)、填空题(10%)、编程填空题(30%)和编程题(40%)。学生最后的成绩信息表见表1。
综上所述,教学与改革不仅能够激发学生学习的动力,且能培养学生分析问题和解决问题的能力。随着信息技术的不断发展,我们应该不断的完善我们的教学模式。
第三篇:C语言程序设计教学的实践与心得
《C语言程序设计》教学的实践与心得
【摘 要】 在21世纪的大环境下,各种实践性学科都将面临着强大的冲击,而作为计算机软件开发等的入门语言,更显得尤为关注。强调实验的重要性,可以促使学生在学习C语言的基本知识之外加强编程实践,使学生在掌握C语言语法知识的同时,也掌握程序设计的思想和方法,这样才能引导和督促学生多编程序,编出优秀的程序,增强学生的动手能力。
【关键词】 C语言 可移植性 应用性 程序调试
C语言是一门高级程序设计语言,使用广泛,表达能力强,目标代码运行效率高,可移植性好,既具有高级语言的优点,又具有低级语言的许多特点,既可以用来编写系统软件,又可以用来编写应用软件。因此《C语言程序设计》课程在教学中占有重要地位。
《C语言程序设计》是高职高专院校计算机专业的一门核心专业基础课程,同时也是多数非计算机专业的主要选修课。该课程是一门实践性与应用性较强的课程,目的是培养学生算法设计的基本思想和程序设计的基本技能。课程的内容主要涉及C语言的基本概念、基本语法以及C语言程序设计的基本方法,在教学中既要重视严谨的系统理论教学,又要重视实践性环节和案例的讨论与分析,为以后有关课程的学习和从事软件开发奠定基础。以下是本人在《C语言程序设计》课程教学过程中的一些经验和体会,与大家共勉。
一、提高教师自身素质
教师首先要提高自身的政治素质和业务水平,及时了解最新的科技成果并掌握C语言应用技术的发展方向,要不断拓宽知识面,具备一定的知识高度,同时不断研究与改进教学方法,理论联系实际,提高自身的教学水平。
二、合理选择教材
高职教育是针对岗位一线培养应用型、技能型人才的,而目前高职教育的C语言教材普遍存在的问题是结合岗位的针对性不强,技能训练的实践性不够。教材是提高教学质量的基础和前提,是学生系统学习知识的依据,一本好的教材应能培养学生的自学能力和独立思考能力,使学生能够依据教材理解课堂教学内容,深入了解本学科各个领域的知识。在选择教材方面应注重以下几个方面:(1)充分考虑高职高专教学的特色,理论知识要够用,注重理论联系实际,突出实用性。(2)语言表达要通俗易懂,在内容编排上尽量符合初学者的要求。(3)注意点与面的结合,注重基础与新技术的结合,使教材不仅是师生教与学的媒介,还是能够培养学生编程能力的工具。(4)在选择好的教材的同时,教师应积极编写符合实际教学需要的高质量的教材。明确C语言课程的教学目标,培养学生模块化程序设计的逻辑思维能力,掌握程序设计的基本语法规则和程序调试方法,具备初步的分析问题与解决问题的能力。主要的教学目标包括:掌握C语言语法,能够熟练运用基本程序结构解决简单问题,理解模块化程序设计原则并能针对复杂问题进行合理分解,掌握基本算法分析与设计知识。
1.作为计算机专业的基础课,目的是使学生掌握程序设计的基本方法并逐步形成正确的程序设计思想,能够熟练地使用C语言进行程序设计,具备调试程序的能力,为后继课程及其他程序设计课程的学习和应用打下基础。学生要在理解C语言的基础上更加专注于理解《算法》或者《数据结构》等课程,而不至于被语言本身的复杂语法现象干扰,要强调C语言的实用性。另外,在掌握C语言的基础上,比较容易学习其他主流编程语言,学生通过对C语言的学习,可以获得针对基本程序结构的程序编写与程序调试知识。
2.学生对C语言的熟练掌握可以在一定程度上降低后续计算机硬件技术基础课程的学习难度。计算机硬件技术基础课程中有很大一部分内容是对汇编语言的学习,同样作为面向机器模型的程序设计语言,C语言仅仅是抽象程度更高一些,其程序结构与汇编语言具有一定的相似性,C语言的编程经验对学生学习汇编语言会有很大的帮助。
3.对于非计算机专业理工类学生而言,该课程有比较强的工业基础应用前景,C语言为用计算机解决实际问题提供了方法,是后续理论与实践教学的基础和重要工具,同时也是计算机二级考试所统一要求的课程之一。教学内容的改革应本着突出基础理论知识的应用和实践能力培养的原则,以应用为目的,以“必需、够用”为度,加强针对性和实用性。
三、注重教学过程,优化教学方法,把握教与学的关系
高职高专C语言课程理论性强,概念性强,抽象而且复杂,在教学过程中要注意的问题主要有:培养学生对C语言的兴趣;教给学生正确的学习方法;加强实践教学环节;有效地组织课程设计;培养学生分析和解决实际问题的能力。教学过程是教师和学生的双边活动,只有既注重教,又注重学,才能真正做到教为学服务。教师所要做的就是传道、授业、解惑,开阔学生的思路,激发学生学习的积极性和主动性,激发反思,调动潜能,引导学生讨论,帮助学生解决遇到的问题,寓教于学。只有把握好教与学的关系,才能优化整个教学过程。
1.将案例带到教学中来。C语言是应用性很强的一门课程,既有理论,又有实践,既讲方法,又讲动手能力。采用案例教学法可以改变“满堂灌”的做法,将学生的眼、手、脑全部调动起来,培养学生的学习兴趣。本人在上课过程中,将课程内容分为若干个主题,以程序设计作为贯穿各主题的主线,每个主题的教学过程由“要点讲解”、“自学/上机实践”和“疑难解答”三个阶段组成。通过案例分析,重点讲解程序设计的思想和方法,辅以语言知识的介绍;然后通过上机练习,包括基本训练(自测作业和主题作业)与综合训练(大型作业),教师针对学生暴露出的问题答疑解惑,结合案例教学,努力将C语言作为解决实际问题的工具,强化学生的编程能力,在分析程序与程序设计的过程中使学生逐步熟悉语法,应用语句,提高学生分析问题、解决问题的能力,由浅入深、由易到难、循序渐进地使学生在实践中掌握知识,培养程序设计能力,逐步理解和掌握程序设计的思想和方法。最终在课堂上教师扮演“和方法,运主导”角色,而学生真正地成为“主体”。
例如:《C程序教程》(谭浩强主编)中有一题为:用循环语句结构判断整数m是否为素数。
/* ex5_5.c */ #include“stdio.h” main(){ int m,c=2;
scanf(“%d”,&m);
while(m%c)
} 书中介绍了三种循环语句结构均可以作出判断结果,这时我们就应该利用“比较法”,将三种循环语句结构进行对比,使学生有一个较为深刻的理解与记忆。
2.切合实际的分组教学。要真正掌握程序设计的思想用语言解决实际问题,综合训练势在必行。整个过程以学生独立完成为主,教师提供相应的理论辅导。经过这样的模拟实际软件开发的演练,不但提高了学生的学习兴趣,培养了学生问题求解和编程能力,还有利于培养他们探索与创新的能力,更加有利于激发学生学习的积极性。
3.分层次教学。即标准化教学与个性化教学相结合,结合不同专业、不同班级学生的具体情况,制定各有特色的教案、讲稿和教学课件。既发挥群体智力优势,又充分发挥教师个体的教学风格特长,有利于提高教学水平。
4.加强实验课与理论课的联系。在理论课上将上机实验任务题目进行讲解,也可以将案例算法作为实验内容。实验课程可以分为两部分,实验任务问题作为理论课的内容在课堂上讨论、讲述,确定实现算法。对于同样的题目,可以确定若干不同的算法,比较其优劣,分析其原因。上机实验的任务是完成已确定算法的编码实现和运行。这种做法相当于在教师带领下,对实验内容做了集体预习,贯彻了“算法重于语法,语法重于编码”的课程指导原则,综合运用学过的知识,加强实践教学。学生只有通过大量的c++;
printf(“%d is a prime number.n”,m); printf(“%d is not a prime number.n”,m); if(c==m)else 练习,才能真正掌握语言知识,培养程序设计能力,逐步理解和掌握程序设计的思想和方法,学会利用计算机解决实际问题。
5.充分利用多元化、现代化的教学手段。在教学过程中应多方位应用现代教育技术手段,尤其是多媒体辅助教学手段与网络化辅助教学手段。在课堂教学中采用多媒体教学课件,加强直观教学,可提高学生的空间想象力。教师应从最简单的C语言程序的调试入手,详细演示C语言程序的调试过程与调试细节,同时让学生参与进来,实现教师与学生、学生与学生的双向交流和互动,提高学生的学习兴趣,加深学生的理解与记忆。使其检验自己本阶段的学习成果,加强对所学知识的吸收和消化。
总结:
改革考核方式,强化应用能力《C语言程序设计》的考核应采用多种形式考核学生的知识掌握程度和实践能力,包括卷面考试与实验考核,要强调职业技能。实验考核可采用上机考试与平时训练相结合的方式,上机考试可以使用能自动组卷和评分的考试平台;平时训练包括作业和综合编程训练的完成情况。该评价方法可以提前让学生体验全国计算机等级考试的过程,也可以促使学生在学习C语言的基本知识之外加强编程实践,使学生在掌握C语言语法知识的同时,也掌握程序设计的思想和方法,这样才能引导和督促学生多编程序,编出优秀的程序。
介于本人的能力有限,在实践及教学环节中还存在着许许多多的问题与不足,今后将会更加关注自身能力的提高,以便取得更好的教学效果。
【参考文献】
[1] 张陵山 《C语言程序设计教程(修订版)》 湖南大学出版社 [2] 杨起帆 《C语言程序设计教程》 浙江大学出版社 [3] 谭浩强 《C程序设计(第二版)》 清华大学出版社
第四篇:《C语言程序设计实践》课题
综合实践大作业
任务1 课题名称:
学生顺序表的处理
课题内容:
在一个数据文件中存放若干学生数据记录,每条记录都有如下数据项:学号,姓名,性别,成绩。
编一个程序,采用顺序存储结构存储这批数据,并对该数据进行排序。要求:数组前部为女同学,后部为男同学,并且男女同学都按成绩递减排序,分别计算男生合格率、女生合格率、全班的成绩平均分,并把排序后的学生数据记录及计算结果存入另一个数据文件中。
任务2 课题名称:
学生成绩的管理(顺序存储)
课题内容:
某班级学生C语言第一次正考的成绩存于数据文件score.dat中,记录了学生学号、姓名和考试成绩,bk.dat文件中记录了补考学生的学号、姓名和补考成绩,编写程序以顺序存储结构实现以下要求:
1、对该班级按成绩降序排序并统计成绩平均分及每个分数段的人数,结果写入到result.dat中。
2、再根据补考成绩修改原成绩,修改成绩后仍按成绩降序写在result.dat的后面。成绩修改原则: 1)补考成绩大于等于60,原成绩以60分记;2)补考成绩小于60,取两次成绩中最高值记。
任务3 课题名称:
学生基本信息的管理(顺序存储)
课题内容:
已知学生的信息包括:学号,姓名,性别,出生年月,地址,电话,E-mail等。以顺序存储结构设计程序能实现以下功能:(1)学生信息录入:可随时增加学生信息到数据文件中(2)学生信息浏览:学生的信息输出到屏幕(3)查询:按学号查询、按姓名查询(4)修改:修改指定学生的信息(5)删除:删除指定学生的信息
(6)排序:按指定的关键字排序后输出到屏幕。(7)系统以菜单方式工作
任务4 课题名称:
图书顺序表的处理
课题内容:
在一个数据文件中存放若干图书数据记录,每条记录都有如下数据项:书名,作者,出版社,ISBN,出版时间,价格,类别。
编写一个程序,采用顺序存储结构存储这批数据,并对该数据进行排序。要求:按出版社进行分类存取图书信息,同一出版社中的图书信息按照出版时间降序排列。分别统计每个出版社出版的图书数量,并把排序后的图书记录及计算结果存入另一个数据文件中。
任务5 课题名称:
旅游信息顺序表的处理
课题内容:
在一个数据文件中存放若干旅游信息数据记录,每条记录都有如下数据项:线路编号、目的地、旅游天数、旅游类别、出行月份、价格。
编写一个程序,采用顺序存储结构存储这批数据,并对该数据进行排序。要求:顺序表按旅游目的地进行分类存取,同一目的地的旅游线路按照月份升序排序。分别统计每个月、每个目的地的旅游线路总数。把排序后的旅游记录及旅游线路总数存入另一个数据文件中。
第五篇:项目教学法在C语言教学中的实践与研究
项目教学法在C语言教学中的实践与研究 刘志宏1 刘舟荷2 张雯晖3 段需勤4 孔丽5
【摘 要】项目教学法作为一种优秀的教学方法,在职业教育领域有着广泛的应用前景。本文通过对C语言教学的特点与难点进行分析,并结合自己的工作实践,对C语言教学中如何运用好项目教学法进行了深入的实践与研究。【关键词】项目教学法 C语言 引言
目前,国内高职院校通常都将C语言作为计算机相关专业学习程序设计的基础性语言,虽然,作为一个优秀的程序设计语言,C语言几乎可以用于任何软件的开发,被认为是最受程序员欢迎的语言,但是,在实际的教学过程中,很多教师往往只注重语法等基本知识的讲解,没有体现出程序的整体概念和软件工程思想,使得很多学生在学完这门课程之后,对程序设计没有一个完整的认识,更谈不进行实际的软件工程项目开发,理论与实践脱节。如何解决程序设计语言教学中普遍存在的教学与实践脱节的问题,让学生对程序设计有一个完整的认识,并建立起软件工程的思想,是值得我们每一位从事程序设计语言教学的教师去认真研究的课题。项目教学法简介 2.1 什么是项目教学法
项目教学法,是师生通过共同实施一个完整的项目工作而进行的教学活动,其目的是在课堂教学中把理论与实践有机地结合起来,充分发掘学生的创造潜能,提高学生解决实际问题的综合能力[1]。
项目教学法的教学过程,一般分为五个阶段,即下达任务、计划制定、项目实施、效果展示、项目评价。教师可以根据实际情况将每一个项目分成若干个课题,每一个课题可以作为一个教学小单元来组织教学。下达任务阶段,教师布置任务,帮助学生理解任务要求;计划制定阶段,学生一般以小组方式工作,寻找与任务相关的信息,制定学习(工作)计划;项目实施阶段,学生根据计划完成设计与模拟,做好有关文字记录;效果展示阶段,学生采取各种手段展示出任务完成的效果;项目评价阶段,学生自我评价、其他同学评价、教师评价。整个的教学过程,就是以学生动手为主,教师的作用就是一个被咨询者,回答学生遇到的各种问题,这种互动过程能极大地提高学生学习的积极性[2]。
2.2 项目教学法的特点
项目教学法是在教学过程中以项目为主线展开,把相关的知识点融入到项目的各个环节中,它具有如下特点:
1)项目过程以学生为主体。从项目计划的制定、项目的实施到项目的验收与评估都是以学生作为主体,极大地调动了学生学习的积极性,学生通过完成与专业相关的具体工作任务,培养了学生分析问题和解决问题的能力,从而提高了学生的专业能力。
1.精心设计软件项目。项目教学法的关键,是设计和制定一个合适的软件项目,把相关的知识点融入到项目的各个环节中,该软件项目应该是来自企业的真实项目,同时,为满足教学的要求,可对项目进行必要的修改和分解,使其具有适当的难度和规模,确保学生在项目实施的过程中能有效地运用新学习的知识和技能,并最终完成作品。
2.构建与实际工作环境相似的教学环境。按照真实性学习理论,以来源于企业的项目为载体组织项目课程,同时,还应构建与实际工作环境相似的教学环境,按照实际软件开发过程中的分组协作模式进行教学,使学生了解真实的企业工作过程。
3.进行必要的解释与引导。虽然项目教学法提倡以学生为主体,由学生自主完成项目,但教师在下达任务之后还必须在适当的时机介入学生的项目活动,对新的知识进行必要的讲解,并引导学生将新知识运用到项目中,以达到教学目的。
4.给予恰当的评价与鼓励。按照鼓励教学的理论,适当的鼓励有助于提高学生的学习积极性,激发学生的创造潜能。教师在对学生的作品进行评价时应尽可能地发现作品中的闪光点,并鼓励学继续努力、不断完善,从而增强学生的自信心,提高学习的积极性。项目教学法的分析与研究 4.1 教学效果分析
经过我们的教学实践发现,采用项目教学法进行C语言教学的班级有以下显著的变化: 1)学习氛围发生明显的变化。传统模式教学的班级课堂上,学生死气沉沉,大多数学生在睡觉或看其它书籍,只有少数学生在听课,而采用项目教学法的班级,绝大部分的学生都积极地参与到项目中来,并能主动地承担项目中的任务,查找资料,或向老师咨询解决问题的方法,而这种学习氛围的变化还带动了其它课程的学习积极性,整体班风、学风明显进步。
2)学习能力得到提高。按照终生学习的理论,学习能力的大小将决定其最终取得的成就。经过项目教学法锻炼的学生,往往更容易找到问题的关键,并学会通过各种渠道去探索思考解决问题的方法,而不是一味地依靠老师,在项目过程中提高了学习的能力,这对学生今后的发展非常重要。
3)团队意识普遍增强。项目的开展过程就是一个团队协作的过程,这种长期的团队协作共同完成项目的经历,使学生真正体会到团队协作的优势,并最终形成团队意识,这种团队意识不仅表现在C语言的学习过程中,并被带到了运动会、艺术节等各种集体活动中。
4)学习效果明显不同。虽然,从学生期末考试的成绩上看不出这种学习效果有什么明显的提高,但是,在我的后续课程《软件工程》中发现,经过了项目教学法学习的学生,非常容易接受软件工程的思想,能将它与之前学过的C语言联系起来,并运用软件工程的方法完成软件的开发,而以往的学生要理解软件工程则要困难的多,并且很多学生直到毕业也不知道如何开发一个完整的软件。
4.2 存在的问题与不足