《C语言程序设计实践》课题(18篇)
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程序设计(第二版)》 清华大学出版社
2.《C语言程序设计实践》课题 篇二
关键词:C语言,程序设计,机考,分层教学,课程改革
《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.
[2]肖潇,贺细平.C语言程序设计教学探索[J].计算机教育,2011(5):65-68.
3.《C语言程序设计实践》课题 篇三
C语言程序设计课程是计算机专业一门非常重要的课程,很多教师觉得这门课程难教,学生也觉得难学。针对这一现象,根据实际教学经验,本文对这门课程的教学改革与实践进行了研究。其中对教学思想、教学手段、方法和成绩考核方式等内容进行了较为全面的论述与剖析。
一、引言
目前,C语言程序设计这门课程已经成为高校学生的公共基础课程,并且是多种程序设计语言学习的起点,对于这门课程的学习,学生往往很难掌握,感觉比较枯燥,并且目前教师在这门课的教学过程中,还主要采用传统的单一教学模式,即黑板加粉笔。课程的教学形式主要是理论教学,教学的重点放在程序设计基础语法知识上,使学生感觉困惑,枯燥,不知道如何来利用这些知识把所学到的基础知识综合应用起来,且很难掌握编程思路。因此如何教好这门课程仍然是我们值得研究和探索的话题。本人根据十几年的实际教学经验,进行了研究和思考。
二、要转变教学思想
传统的教学思想都是先从程序设计基础开始讲,然后再进行程序设计,类似于盖房子。这样的方法往往是常量、变量、数据类型等这些语法基础知识讲得很多,占用了一定的学时,也没能使所学到的知识得到够实际运用,且无法掌握程序设计思想。所以应该运用树木生长的原理,要树根、树干、树枝、树叶一起长大。
三、教学方法的改革
1、因材施教,不能所有同一专业的班级同一个进度,同一种考核内容,要因材施教。在实际教学中掌握到不同班级的学生能力也不会完全相同,有的甚至相差很大,学生接受能力强进度就可以稍微快一些,如果学生接受能力不是很好,就放慢节奏,不能只强度进度,不顾学习效果。这个现象很普遍,在实践中对接受能力高的学生提出了高要求,包括平时的作业以及考试题的难易程度也增加了,同时对该班加快了授课进度。在有限的时间内学到了更多的知识,达到了良好的学习效果。
2、要实例化。比如在讲数据交换时,学生往往很难明白在计算机里两个数到底是如何交换的,这时我们就可以举个形象的例子,比如两个文具盒里各有一只笔,要交换这两只笔的例子。
3、学并快乐着。很多学生觉得这门课程很枯燥,为此我们提出口号“输入理想的程序,输出快乐的人生”,如果学生感觉做程序是一种煎熬的话,可以用C语言来编制一个身边的一些常见管理工具,这样既实用,又熟悉,比如可以编一个调查问卷的程序、超市的收费系统等,从中可以学到很多知识,再有就是学生成绩管理系统,如果这个和文件联系起来,可以提高学生的编程能力。学生在程序编写过程中,不断调试、改错、直到成功,很有成就感。
四、教学手段的改革
根据本专科学生的培养目标,结合自己多年的教学经验,通过对传统的《C语言程序设计》教学模式进行改革与实践,变老师主导型教学为与学生交互型学习的教学过程,在教学过程中不断探索新的教学方法和尝试先进的教学手段,首先,对教学用例进行了调整,用生活中常见的案例原型进行讲授。其次,充分利用现代教育技术资源,将实验环境搭建于课堂之上。从备课——上课——上机实践,进行了一系列的改革探索,很好地解决了C语言程序设计教学中出现的种种问题。结果表明:教学改革后,课堂气氛活跃了,开小差的同学少了,听课效率上去了,学生学习主动性也加强了,课外主动学习的兴趣浓了。进而,程序设计能力得到了普遍提高。
本人积极进行多媒体教学的尝试,大大革新了课堂教学的形式手段和途径 ,利用多媒体教学,借助多媒体辅助教学形象、直观的优势,对课程教学进行改革,可以提高学生学习C语言的兴趣和效果。多媒体教学模式的广泛应用,使教育技术更具有时代特色,更加科学化和系统化。运用多媒体教学,能够充分利用教学资源,对教与学的整个过程进行系统设计,能够达到利用最少时间得到最大的教学效果。但是本人觉得C语言程序设计这门课程并不适合完全采用多媒体教学,多媒体辅助教学在C语言程序设计这门课程教学中有利有弊,本人在实践中采用“多媒体教学模式”与“传统教学模式”相结合能达到很好的学习效果。
五、成绩考核方式的改革
学生的考试考核方式是实现人才培养目标的重要组成部分,一个课程教学方式的改革与实施,其教学效果好坏评定应当凭借一个科学的测量方法,通过参照一个较为完善的课程标准进行科学的测量,再对测量结果进行科学地分析与判断,最后得出科学公正评价结论。为此,对学生的理论和实验都要考核,尤其要改变去过以理论为主的考核形式,本人认为这门课程实验课的考核应该占很大比例,在成绩考核过程中,实验考试成绩占70%,理论考试成绩占20%,平时成绩占10%,平时成绩包括出勤、作业、课程设计、课堂提问等,实践教学中证实,这种方法的确使学生编程能力得到很大提高,并且考核方式公正客观。
[1]谭浩强.C语言程序设计[M].清华大学出版社,2000.
[2]杨文君,杨柳.C语言程序设计教程[M].清华大学出版社,2010.
4.c语言实践报告 篇四
做完这个课程设计,我们的自信一下子提高了;尽管对于有些人这种程序会很简单,可对我们c语言初学者来说,已经很不容易了。这次体验为以后的学习计算机的我们增强了信心。享受劳动成果的滋味实在很美妙啊!虽然对着电脑做程序,有点累有点热,可是当看到劳动成果时,真是别有一番滋味在心头啊!世上无难事,只怕有心人,的确如此。做完这个程序最大的收获就是感受到了集体的力量,当然个人的智慧也是很重要的哦!
忙碌了一个多星期,在大家的共同努力下,我们总算将此程序设计出来。尽管不是自己独立完成,但仍然很高兴,因为在设计的过程中,让我了解到要设计一个程序,查找资料是至关重要的,在他人的基础上,再根据自己所学进行修改与调试,最后设计出自己想要的程序,这过程艰辛,但只要你持之以恒,成功指日可待。
5.c语言实践报告(范文模版) 篇五
二级学院:信息与工程学院 系别:计算机科学与技术系 专业:信息管理与信息系统 课程名称:高级语言程序设计
班级:姓名:
实验名称:
电话订餐信息处理
实验目的:
题目要求:
一个小饭馆的生意非常红火,要想用餐必须提前一天打电话预订,假设我们是饭馆负责接受电话预订的服务员,我们需要做些什么呢?首先,需要准备一张大小适当的白纸,等待顾客的电话。李红最先打进了电话,她预约第2天中午12点用餐,用餐人数5人,服务员在纸上做了如下记录:“李红 12点 5人”;接着,刘娜、汪涵、孙杰和赵君分别来了电话,服务员根据他们的要求做了记录,此时纸上记录的内容是: 李红 12点 5人 刘娜 11点 2人 汪涵 11点20分 3人 孙杰 10点30分 5人 赵君 13点20分 6人
孙杰随后又来电话,将用餐时间推后一个小时,那么记录的内容也应该做相应的修改。刘娜来用餐以后,可以将其信息从纸上划去 编写程序处理电话订餐的情况
实验步骤:
首先建立结构体类型,然后函数声明,编写主函数,定义函数,调用函数。完成后,对程序进行调试,确定所编写的程序是否能够运行。
实验内容:
#include
void insert(int *p);void inquire(int);void change(int);void dele(int *p);void show(int);
void main(){ inti;int count=0;do {0 printf(“1.......插入n”);printf(“2.......查询n”);printf(“3.......修改n”);printf(“4.......删除n”);printf(“5.......显示n”);printf(“6.......退出n”);scanf(“%d”,&i);switch(i){ case 1: insert(&count);break;case 2: inquire(count);break;case 3: change(count);break;case 4: dele(&count);break;case 5: show(count);break;case 6:break;default:printf(“输入错误!”);break;} }while(i!=6);} void insert(int *p){ inti,number;if(*p==max){ printf(“用餐已满n”);return;} printf(“请输入编号:”);scanf(“%d”,&number);for(i=0;i<*p;i++)
if(guestlink[i].num==number)
{ printf(“已有相同的编号”);return;}
guestlink[i].num=number;
printf(“请输入姓名:”);scanf(“%s”,guestlink[i].name);
printf(“请输入人数:”);scanf(“%d”,&guestlink[i].sum);printf(“请输入用餐时间:”);scanf(“%s”,guestlink[i].time);(*p)++;} void inquire(int p){ inti,number,flag=1;printf(“请输入要查询的编号”);scanf(“%d”,&number);for(i=0;i
if(guestlink[i].num==number){ printf(“姓名:%s”,guestlink[i].name);printf(“用餐时间:%s”,guestlink[i].time);printf(“人数:%dn”,guestlink[i].sum);flag=0;}
if(i>=p&&flag==1)printf(“所查询的编号不存在”);
}
void change(int p){ inti,number,flag=1;printf(“请输入要修改的编号”);scanf(“%d”,&number);for(i=0;i
scanf(“%s”,guestlink[i].name);
printf(“请输入用餐时间:”);scanf(“%s”,guestlink[i].time);printf(“请输入人数:”);
scanf(“%d”,&guestlink[i].sum);flag=0;} if(i>=p&&flag==1)printf(“所查询的编号不存在”);}
void dele(int *p){ inti,j,number,flag=1;printf(“请输入要删除的编号”);scanf(“%d”,&number);for(i=0;i<*p&&flag;i++)if(guestlink[i].num==number){for(j=i;j<*p-1;j++)
guestlink[j]=guestlink[j+1];flag=0;
(*p)--;
} if(i>=*p&&flag==1)printf(“输入的编号不存在”);}
void show(int p){ inti;printf(“编号 姓名 用餐时间 人数n ”);for(i=0;i
实验结果:
实验体会:
6.C语言在工程实践中的应用 篇六
C语言在工程实践中的应用
作者:卫星君
来源:《电脑知识与技术》2013年第01期
摘要:C语言具有较强的数据和图形处理功能,能将所得数据依据函数对应关系绘制出工程所需函数曲线实现图形屏幕显示,并保存图形用于输出。将C语言的字符模式转换为所需分辨率和颜色值的图形模式,正确使用C语言表达函数对应法则,准确计算出工程数值,通过调用C语言库函数画出对应函数值在坐标上的点,从而实现图形的精确绘制。用以上方法对地震勘探原理中的多次叠加振幅特性曲线进行了成功绘制。
关键词:C程序;函数曲线;图形
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)01-0080-05
手工绘制工程问题中的一些复杂函数曲线比较困难且不精确,同时函数计算过程会产生大量的数据。如在绘制地震勘探多次波叠加特性曲线时,要决定叠加参观与测量系统中的具体参数,还要给出单位叠加参量的值,期间还会产生大量的数据。通常绘制曲线的方法是先给出多个单位叠加参量,然后依据方程计算出每个点的坐标。显然使用这种方法若取的点少,曲线误差很大;若取的点多,计算及绘图过程非常繁琐。我们可使用C语言提供的较强图形库函数,直接调用这些函数实现绘制复杂函数曲线。绘图过程中注意问题
1.1 图形模式初始化
C语言在TURBOC编译环境下有两种显示模式,一种是字符模式,另一种是图形模式。在字符模式下只能显示字符,即80列,25行字符。程序缺省的是字符模式。在字符模式下不能显示图形和进行绘图操作。要进行图形显示和绘图操作,应切换到图形模式。设置图形模式,可用原型在graphics.h中的函数initgraph(int far *gdriver,int far *gmode,char
7.《C语言程序设计实践》课题 篇七
关键词:实验教学,立体化教材,网络学习平台,过程性评价
0 引言
《C语言程序设计》是计算机专业以及理工类非计算机专业一门重要的基础课程, 该课程作为一门程序设计语言的入门课程, 不仅要求学生掌握一门高级程序设计语言, 更重要的是学习程序设计的思想, 培养学生良好的程序设计风格和思维方式。衡量学生是否真正掌握了这门课程, 不仅仅是熟悉了语法, 掌握了一些算法, 更重要的是, 能够利用所学的知识独立解决一些问题, 因此这门课程是一门实用性很强的课程。切实加强实践教学环节重视对学生自主学习、研究能力和创新能力的培养, 对于提高C语言程序设计课程的教学质量具有重要的意义。鉴于此, 探索对实验教学的改革对提高该课程的教学质量有着重要的作用。多数任该课程的老师都普遍反映, 一些学生对编程实验兴趣不大, 尤其是进行到课程相对较难的内容时, 更是如此。这就要求我们必须重新审视该课程实践教学环节所面临的种种问题, 以期得到很好的解决。
1 存在的问题
1.1 实验课时间相对较少
在C语言的教学中, 实验课的时间占课程的三分之一, 明显感觉学生无法按时完成实验任务。较少的实验时间让学生无法在实验课上完成当次实验所要完成的任务, 只能依靠学生课下自己找时间再继续完成, 这样势必会存在一些问题, 学生可能因为在完成实验任务的时候, 对于遇到的问题不能及时得到辅导与解决, 而会“知难而退”, 大大削减了学生对课程学习的积极性。
1.2 实验教材与教学资料有待完善
目前大部分实验教材都是实验指导与习题集合二为一, 实验项目基本上都是编写程序, 而每一个实验题目都可在本书中找到答案, 学生只要把源程序输入计算机, 进行简单的调试就可以得到实验结果 , 用不着去温习、思考和创新, 因此, 一旦布置一些实验指导书以外的问题, 或者将原有的问题进行扩展, 大部分学生就会束手无策, 不知如何解决。这样不利于培养学生循序渐进的发现问题、分析问题、解决问题的能力和创新能力。
1.3 实验教学与理论教学结合不紧密
传统的语言程序设计的实验教学就是上机调试程序, 只追求将程序调试通过就万事大吉, 但往往结果却事与愿违, 很多同学独立解决一个问题, 不是想不出问题解决的算法, 就是即使有了算法, 编写出来的程序也是语法错误一大堆。因此, 要想实验任务能够很好的完成, 还要督促加强相关的理论知识的学习和掌握, 只有这两个环节都抓好, 才能真正提高教学质量。
2 加强实验教材建设
2009年10月广东省教育厅下达的“广东省高等学校计算机基础课程教改与实践项目”的课题“C语言程序设计立体教材开发”的资助及要求下, 我们集中精力编写一本好用的、有助于提高学生的自学能力和动手实践能力的一本立体化实验教材。
教材本着是通过大量的不同层次的实验任务训练, 着重培养学生读程序、分析程序、修改程序以及编写程序的能力, 以达到提高学生动手编程、解决实际问题的能力以及知识的综合运用能力这一目标, 构建了“文字教材+辅
导学习光盘+网络学习平台”三位一体的立体化学习资源, 使本课程的实践教学由原来单一的按照实验指导书上机调试程序, 转变为学生依托立体化学习资源进行自主学习。
该实验教材除了介绍实验环境和与各实验配套的习题及答案外, 重点集中在实验指导部分, 该部分共有11个实验, 其中2个为综合性实验。每个实验项目的设置如下所示 (综合性实验除外) :
实验名称、实验目的、相关知识点概要及示例、实验任务、读程序改错、程序扩展、编写程序。
每个实验的实验任务都设置了3个层次, 第1层次为读程序改错, 目的是读简单程序, 读懂并纠正程序中的错误, 这些错误, 一般都是初学者易犯的常见错误, 通过改错训练, 避免以后编写程序时犯同样错误;第2层次为程序扩展, 目的是训练学生读程序的能力, 在分析、理解程序的基础上, 模仿原来的程序对程序进行扩充改写, 使得学生能够完成部分编程, 为独立完成编写程序打下基础;第3层次为程序编写, 训练学生独立编程的能力以及解决实际问题的能力。经过“读懂-模仿改写-编写”的实践过程, 在由浅至深的逐步引导中熟悉理解和掌握程序设计的思想、方法和技巧, 并能熟练掌握及运用程序的调试、追踪方法。同时在配套的光碟中还提供了每个实验项目的训练目的、问题分析及解决方法、流程图、参考程序等, 以便于学生自主学习。网络学习平台是基于Blackboard构建的, 里面包括实验环境介绍视频、教学资源、教学难点动画演示, 在线练习, 网络答疑等。
3 实验教学改革
鉴于之前在实验教学中存在的问题, 我们对《C语言程序设计》课程进行了教学改革, 主要体现在以下几方面:
3.1 加强实践教学环节
加大实验学时, 将理论和实验学时的分配比例定为1:1, 这样学生可以有充分的时间进行上机实践, 促进学生对课程的消化理解, 提高学生动手解决问题的能力。除此以外, 期末考试采用上机考试, 因此要求学生不仅能够编写出程序, 而且还要能够调试、运行出程序的结果, 因此学生会更重视上机实践环节。
3.2 借助立体化资源, 培养学生自主学习、协作学习的能力
利用现有立体化教材, 我们把过去简单的布置给学生编程的实验任务转变为“预习-实践-总结”相结合的方式, 避免学生在实验课上因为没有准备而无作事事, 避免学生写出的程序错误一大堆而不知所措, 浪费了很多实验课的宝贵时间。具体做法是:在理论课之后, 实验课之前必须自行完成基本的上机实验任务, 首先包括实验指导书上面的阅读程序改错题、网络学习平台上的在线测试题, 为顺利完成程序扩展和编程题扫清语法障碍;其次, 完成程序扩展题和编程题程序的编写, 为顺利完成实验任务奠定了基础。在此期间, 学生存在的问题可以根据学习平台上的学习资源 (C语言实训教程光盘中的相关资源选择性的放在课程的学习平台上) 进行自主学习, 也可以通过平台上的讨论板进行交流。实验课的任务主要是完成前期预习阶段编写好的程序的调试、运行, 解决预习过程中遗留的问题。完成所有的实验任务后, 对本次试验进行总结, 完成实验报告, 使得学生对本次实验有更深刻的认识。
3.3 加强过程性评价
对于一门实践性较强, 同时逻辑性又较强的课程来说, 要想能够取得良好的教学效果, 平时学习的积累过程是非常重要的。因此, 我们非常重视学生平时的学习过程, 除了传统的记录学生的到课情况、完成作业和实验情况外, 我们鼓励学生积极利用网络教学平台上提供的各种学习资源, 包括巩固基础知识的教学课件、在线练习题、常见问题解答, 也包括教学重点难点解析的动画和视频, 开阔学生视野的经典编程案例以及其它的优秀的课程网站等等。鼓励学生共同探讨学习, 分组讨论, 积极在讨论板中发言, 提出问题或者解决问题, 并且利用Blackboard的课程统计功能, 将学生在平台上学习的痕迹记录下来, 作为平时成绩的一部分, 提高学生对本课程学习的兴趣以及自主学习的意识。这样, 通过日常的积累, 巩固了学生的基础理论知识, 极大的提高了实践教学质量。
4 结束语
针对《C语言实训教程》课程实践教学环节存在的问题, 我们从实验教材建设入手, 按照最初制订的 “边建设, 边使用, 边改进”的原则, 在2010年上半年以网络教材的形式在全校9个开设《C语言程序设计》的班级试用, 并且进行了一系列教学改革, 取得了良好的效果。学生的总评成绩较以前有明显提高, 学生对课程和老师的满意率也显著提高, 在学生对整个部门任课的26名教师的教学质量评价中前7名就有5位是《C语言程序设计》的任课教师, 这是历届以来对C语言课程组老师总体评价最好的一次。这说明我们通过立体化教材资源的建设, 以及通过资源利用采取的一系列实践教学改革得到了学生的认可, 取得了初步的成效。
参考文献
8.《C语言程序设计实践》课题 篇八
关键词:scrum;C语言;课程设计;项目
C语言是一种实践性非常强的课程,从教学的效果上看,尽管学生掌握了很多与C语言相关的语法知识,但是学生在解决C语言实际应用问题时漏洞百出,包括程序流程不清、基本语法改错能力较差以及查找逻辑错误能力较弱等。
一、Scrum敏捷开发概述
Scrum的开发团队总是先开发对客户具有较高价值需求的产品。在每个Sprint中,Scrum开发团队从产品Backlog中挑选最有价值的需求进行开发。Sprint中挑选的需求经过Sprint计划会议上的分析、讨论和估算得到一个Sprint的任务列表,我们称它为Sprint backlog。在每个迭代结束时,Scrum团队将交付潜在可交付的产品增量。
二、Scrum敏捷开发在C语言课程设计的应用
由于C语言课程设计是一门实践性非常强的课程,本文将scrum敏捷开发方法应用到C语言课程设计上。根据敏捷开发的思想,以学生为核心,加入scrum开发方式,培养学生的团队合作精神、创新能力以及编程能力。通过项目任务的方式引导学生主动思维,主动学习,深刻理解软件设计的思想,加深他们对C语言重要知识点的理解。具体的安排为,将课程设计密集地安排在一周,给学生提供充分的上机时间。
1.项目分组及角色扮演
小组的角色分配按照Scrum敏捷开发方式分为三个角色,即产品负责人、Scrum Master、团队。产品负责人的职责为,确定课设题目的功能,决定发布的日期与内容,接受或拒绝接受开发团队的工作成果。Scrum Master的职责为,能够及时地为团队成员提供帮助,保证各个角色及职责的良好协作,解决团队开发中的障碍,做为团队和外部的接口,屏蔽外界对团队成员的干扰,保证开发过程按计划进行。团队的职责为开发、测试、界面设计等,确保课程设计达到阶段性与总体性目标,并且团队成员在每个阶段性目标内不能变化。
2.项目具体设计过程
首先每个小组将课程设计的题目按照功能的核心程度,进行sprint块状划分,将最重要的,最核心的部分先进行设计。小组内要召开sprint计划会议,确定功能块需要完成的任务,并将任务的关键程度进行分配,分配给每个成员。在这一个步骤中,任务是以小时计算的,而并不是按天计算的。
其次,课程设计小组进入sprint开发周期,在这个周期内,每天需要召开Daily Scrum 会议。整个sprint周期结束,召开Sprint验收会议,将成果演示给教师。
最后,小组成员召开Sprint终结会议,小组成员互相总结问题与经验。这样周而复始,按照同样的步骤进行下一次Sprit。
本文提出了在C语言课程设计中引入敏捷开发scrum项目教学模式,介绍了Scrum概念以及Scrum敏捷开发在C语言课程设计的具体应用,通过本文提出的C语言课程设计模式,能够使学生有效地提高自主学习能力、协调能力以及团队合作精神。
参考文献:
[1]刘磊.项目课程视野中教师课程能力解析[J].职教通讯, 2011(01).
[2]刘磊.项目课程实施之学习模式探究[J].新疆职业教育研究,2010(03).
9.C语言程序设计2 篇九
1、C语言语句的分类:
表达式语句、控制语句、函数调用语句、空语句和复合语句。
表达式语句:如a=3;c=a+b;等
控制语句:如:if(a>b)c=a;for语句和while语句和switch语句等
函数调用语句:函数名(实参表);
空语句: ;这条语句的含义是什么也不做。
复合语句:{语句1;语句2;„„},其功能上相当于一条语句。
2、数据的输入和输出
(1)输入函数
scanf()函数,格式为scanf(格式控制,输入项表),如scanf(”%d,%f”,&a,&b);
该函数的运行过程是人首先根据双引号内的格式输入数据,然后电脑把这些数据存放到输入项表中的地址中去。Getchar()函数,该函数为无参函数,即括号内没有参数,其作用是要求人在键盘上输入一个字符。
(2)输出函数
Printf()函数,格式为printf(格式控制,输入项表),如printf(“%d,%f”,a,b);
该函数的运行过程是计算机从输入项表中去获取要输出的数据,然后根据双引号中的格式控制来输出。
Putchar()函数,如putchar(a);其作用就是输入变量a的字符数据。
3、格式控制说明
(1)格式控制包含两部分:一是普通字符,这部分内容被简单的复制到显示;二是%后跟着的字符为格式字符。如:printf(“a=%d,b=%f”,a,b);这条语句中“a=”、“,”和“b=”都是普通字符。
(2)格式字符
%c:输出一个字符;
%d:输出一个整型数;
%ld:输出一个长整型数;
%f:输出一个实数;
%lf:输出一个双精度的实数;
(3)附加说明
%后有+或-号:加号表示右对齐,减号表示左对齐,默认为加号;
10.c语言课程设计设计报告 篇十
C语言是一门通用计算机编程语言,应用广泛。下面是小编为大家整理的关于c语言课程设计的设计报告,欢迎大家的阅读。
高等职业教育的目标及侧重点不同于普通高等教育,其培养的学生在毕业后应能直接上岗,具有熟练的实践操作技能。教育部《关于以就业为导向深化高等职业教育改革的若干意见》中指出,高职教育应“坚持培养面向生产、建设、管理、服务第一线需要的‘下得去、留得住、用得上’,实践能力强、具有良好职业道德的高技能人才”。
因此,加强实践性课程教学,对保证人才培养质量显得尤为重要。我院为贯彻《关于全面提高高等职业教育教学质量的若干意见》精神,针对区域经济发展的要求,灵活调整和设置专业课程,以就业为导向,加快专业课程对应的课程设计改革。目前,我院按照由浅入深、不断深化的教学规律,构建了实践教学三层次四环节的实践课程体系。实践教学三层次包括基本技能、专业拓展、综合创新,四环节包括实验、实习实训、设计和课外实践。“C语言课程设计”是我院信息类专业的必修专业基础课程设计,在“C语言程序设计”课程教学结束后的下一学期进行,历时2周,40学时。课程开设的目的在于培养学生分析问题和解决问题的能力,为学生提供一个动手、动脑、独立实践的机会。
21项目教学法“项目教学法”是基于建构主义教学理论的一种教和学的模式。著名的瑞士心理学家皮亚杰认为,知识不是通过教师传授得到的,而是学生在一定的情境下,借助他人的帮助,利用必要的学习资料,通过意义建构的方式而获得的。美国项目管理专家约翰·宾认为:“项目是要在一定时间里,在预算规定范围内需达到预定质量水平的一项一次性任务。”
“项目教学法”是通过实施一个完整的项目而进行的教学活动,旨在把学生融入有意义的任务完成的过程中,让学生积极地学习,自主地进行知识的建构,在课堂教学中把理论与实践教学有机地结合起来,充分发掘学生的创造潜能,提高学生解决实际问题的综合能力。因此,在教学活动中,教师将需要解决的问题或需要完成的任务以项目的形式交给学生,在教师的指导下,以小组工作方式,由学生自己按照实际工作的完整程序,共同制定计划,共同或分工完成整个项目。
在项目教学中,学习过程成为一个人人参与的创造实践活动,注重的不是最终的结果,而是完成项目的过程。在高等职业技术教育中,项目是指以生产或制作一样具体的、具有实际应用价值的产品的工作任务。在技术领域,很多小产品或一些复杂产品的模型都可以作为项目,如:在信息类专业,可以开展微机组装、网站建设、信息管理系统开发、局域网构建、单片机制作、多媒体课件制作等项目;在电子类专业,可以开展报警器、LED、门铃、家电组装等项目;在商业、财会和服务行业,所有具有整体特性并有可见成果的工作也都可以作为项目,如商品展示、产品广告设计、营销策划等。
22项目教学法的基本特征项目教学法与传统的教学法相比,有很大的区别,主要表现在改变了传统的3个中心:以教师为中心转变为以学生为中心;以课本为中心转变为以“项目”为中心;以课堂为中心转变为以实际经验为中心。项目教学法具有以下特点:
实践性。项目“源”于企业,项目的主题与真实世界密切联系,由浅入深,选择的项目具有典型性、实用性。
自主性。提供学生根据自己的兴趣选择内容和展示形式的决策机会,让学生能够自主地进行学习,从而有效地促进学生创造能力的发展。
发展性。长期项目与阶段项目相结合,构成了实现教学目标的认知过程。
评价特殊性。项目型教学的评价注重学生在项目活动中能力发展的过程,测评内容包括学生参与活动各环节的表现及作业质量,避免了传统的一张试卷定成绩的弊端。测评可以采用自评、小组评、教师综合评等方法。教师只有明确并抓住项目化教学特点,才能更好地完成教学目标。
31教学内容为了更好地开展课程设计教学,经过多次实践和摸索,总结出学生在具体实施项目中一般存在2个方面的知识不足:
第一,在教学内容上,由于前导课程在教学上受学时影响,很多教师对指针、结构体、共用体和文件基本操作的知识介绍不甚完善、系统,更难谈上辅以实例加以消化。对此,针对学生在这些知识点上的掌握程度,利用4~6个学时,实施区别式的、辅导性的、实例化教学。
第二,学生对项目管理知识知之甚少,针对此情况,采用2个阶段实施有别于常规教学的补课行动。第1阶段为项目准备阶段,利用2~4个学时,安排曾经做过项目且做得比较好的学生,现身介绍项目的准备工作、项目实施过程要完成的工作、项目验收及作业提交的工作等。在学生介绍中,教师穿插讲解,辅以点评。第2阶段为项目实施阶段,教师应针对学生发生的问题,及时给予指导,直到学生弄懂为止。
32教学要求切实保证教学质量和教学效果,本着“学以致用”的原则,要求学生做到以下3点:第一要做到“学有三备”,即:在项目实施前做好知识储备,在项目实施中做好安全防备,项目结束时做好被评准备。第二要写好“三书一报告”。“三书”即每个项目组要做需求规格说明书、概要设计说明书、详细设计说明书,“一报告”即人人都要做课程设计报告。第三要做“四自”参与者。“一自”即自律,要求学生自觉履行学生守则和项目实施有关规则,不迟到、不早退、不缺席,实施点名制度,若无特殊原因,有5次旷课者自愿以重修论处;“二自”即自尊,要求学生尊重知识、尊重学习规律、尊重项目组成员、尊重教师、尊重自己;“三自”即自信,要求学生相信自己能够按时、按量、按质完成工作内容,遇到困难时,沉着、冷静,理性地寻找问题解决的办法;“四自”即自强,要求学生不满足自己已有的成绩和以往与课题项目组共同取得的成绩,用创新和超越的思想,做出比以前哪怕是前进一小步的事情。同时也要求教师做好相应的工作,如做好项目整体规划、精心准备、努力激发学生参与行为、为人师表、表扬为主、批评为辅、多分析、精点评等。
33项目实施进程项目教学法是一种生动、灵活、多样化的教学方法。在项目实施过程中,既不能生搬硬套地利用一个时间标准,又不能影响项目实施的整体进程,因此对时间的灵活处理是非常关键的,也是值得商榷的。
34明确项目内容,帮助学生立项立项首先要审题。当学生拿到项目列表时,最不能忽略的问题,就是提醒学生审题。审题恰当对学生以后开展各项工作是关键。审题时,学生首先要考虑自己的长、缺处,做到扬长避短,也就是说审题就是学生自己审自己完成该项目有多大的能力,有没有信心。只有学生明白自己,才可以避免以后实施项目过程中走弯路。同时既要建议学生在组建项目组时,考虑所在组的其他学生的长处和短处,又要尽量避免使被学生认定的差等学生没人愿意与其组合,而成绩好的学生又抱团的现象发生。
根据近几年带课程设计的经验,关于如何合理选择项目,建议教师应从学生的角度考虑以下4个因素,协助学生做好选题:
规模。项目规模太大会影响项目的完整性,项目规模太小难以体现课程的实践性。
难度。项目难度一定要适中,既要激发学生学习的兴趣又不能影响学生的自信心。
实用性。项目的选择应该是现实世界真实的工作任务,具有一定的现实和实用性。
11.浅探《C语言程序设计》教学 篇十一
关键词:C语言;项目化教学;教学方法
中图分类号:TP312.1-4 文献标识码:A 文章编号:1674-7712 (2014) 18-0000-01
《C语言程序设计》作为计算机专业的基础课,在整个课程体系中占有重要地位。在C语言教学过程中,教师的教学方法和学生的理解接受能力的差异,对教学效果都会产生直接的影响。总结多年来的教学经验和教学体会,结合学生在学习程序设计类课程的思维规律和模式,把一些经验和方法总结出来,希望能对C语言教学有所帮助。
一、现行教学和学习中存在的问题
现行教学中理论课与实践课相对分离,不能相互促进。理论课中往往只注重对教材知识的分析和灌输,而在实践课程中,老师很难监控到每个学生,了解他们是否都在认真编写、调试程序。这就造成理论课没有起到为实践课打基础的作用,实践课也没有起到巩固、应用理论课的作用。《C语言程序设计》是一个逻辑性很强的课程。学生在面对具体的程序设计时遇到的问题与教材中的内容相距甚远,这使大多数同学感到无从下手。这其中的原因可以分成两类:一方面目前高校使用的大多数教材中,结构都基本相同。在每一章介绍完了概念之后,提供一些例题解释相关概念的使用方法,并在章节结束后针对本章中出现的内容提供一些练习题。考试也主要是测试学生对于教材内容的掌握程度,而与实际应用相距较大。这种考试实际上主要是测试学生对书本中的基本知识的掌握程度,而忽略了对学生解决实际问题的能力的培养。另一方面为了应付考试,学生更多注意的是教材中的典型例题与老师指定的重点内容,对于程序的系统概念没有真正理解,特别是没有程序整体设计的概念。这样做的结果就是学生在学习时一切围绕老师讲课的内容,特别是老师讲授的例题。学生在学习的过程中,没有注意如何综合运用相关内容来解决具体问题,导致学生在学完程序设计课程进入应用阶段时,面对具体的专业设计要求无从下手。
二、提高教学效果的方法和途径
(一)明确课程目标。本课程的目标主要是提高学生解决实际问题的能力,适应社会需求。对C语言程序设计课程的教学而言,强调实践性是在教学中特别重要的问题。老师的教学不应仅仅是传授知识,应该以培养学生的实际应用能力为主。C语言的内容繁多,在有限的课时内不可能也不必要面面俱到,所以必须突出重点,突出实用性,关键在于教会学生正确运用C语言编写程序,一些细节、具体规则和进一步的知识可以让学生在今后的应用中来不断学习和掌握。教师应始终坚持以应用为中心,以算法为基础,以培养学生的实践能力为核心,突出技术实用性和再学习能力的培养。
(二)进行教学改革。1.教学内容改革。高职学校学生的培养就是要直接面对社会需求,招之即能用。因此,程序设计课程要以社会对编程能力的需求和技术发展为依据,调整教学大纲和教学内容,以适应技术岗位能力要求,设计课程体系。在课程设置与建设中,要充分体现教学内容在训练和提高学生实践能力方面的要求,强化学生的实际开发和应用能力。总结本人多年的教学经验,结合其他老师成功的教学方法,采用项目化教学方法可以达到很好的效果。这个项目应具有以下几个特点:(1)实用性。本项目就是一个具体的实际需求,是解决现实性中一个实际问题而设计,这样也能提高学生的兴趣和热情;(2)完整性。本项目的程序设计是系统的、完整的,要能全面运用整个课程学习的知识,案例的设计贯穿整个课程的学习,随着课程的学习不断完善。
2.改变教学思想和方法。培养学生对C语言的兴趣及正确的思维模式。《C语言程序设计》注重由设计算法到书写程序并进行调试的整个过程,显得抽象、复杂,这也是大多数学生抱怨程序设计太难、太深奥、不好学的主要原因。在教学过程中,先介绍项目的整个程序设计框架,目的是使学生先对程序有个初步的印象,再结合教材,简单介绍该例子中用到的语句,让学生对该语言的学习有一个大概的了解,避免学生对学习语言望而生畏。整个教学过程中应该把“解题思路、方法和步骤”当作授课的重点,从而让学生明白如何分析、解决实际问题,逐渐培养学生进行程序设计的正确思维模式。计算机语言程序设计中算法是其灵魂,是教学重点,也是教学难点,而语言只是表示形式。没有正确的算法,计算机将解决不了任何问题。对于C语言所涉及到的算法,应进行部分精讲多练。通过案例分析,重点讲解程序设计的思想和方法,辅以語言知识的介绍,将课程内容分为若干个主题,以项目程序设计为贯穿各主题的主线。每个主题的教学过程由“要点讲解”、“练习/上机实践”和“疑难解答”三个阶段组成,然后提出项目中的问题,以学生独立完成为主,教师只提供必要的辅导,培养学生探索问题和解决问题的能力,更有利于创新能力的培养。整个课程教学围绕一个工程项目进行,通过逐步拓展的实训项目和设计,将每一阶段的学习进行小结性的贯穿与能力提高。将C的知识点都溶化到项目的程序编写中。
3.改革课程考核方式。(1)平时上机训练时给学生留一些编程习题,每次根据学生编写情况进行测评并占据期末总成绩30%;(2)期末前,要求学生完成本课程项目的整体设计,考核学生综合解决问题的能力,占据期末总成绩30%;(3)期末进行理论考试,占期末总成绩的40%。
(三)展示学生作品,激发学生的学习欲望。计算机软件课程具有多样性、复杂性和求异性特点,我们要针对每个学生任务完成的情况,让同学们展示自己的学生成果,及时肯定学生的成绩,这样会有利于激发学生的学习热情,保持学生的学习兴趣,对学生的后续学习将产生强大的动力和自信心。
(四)培养学生的自学能力和创造性。学生学习计算机语言的最终目的是编写满足实际需求的程序,所以在教学中教授的不仅仅是具体语言的语法知识,更重要的是通过这门语言学习,培养学生遇到实际问题自己分析问题、解决问题的能力。我们可以通过给学生布置作业的形式让同学们自学,老师既要要求学生独立思考、自主学习,又要鼓励学生间进行协作学习。教师可以分配一些比较复杂的问题,由几个学生组成一个小组合作解决,这样同学们可以互相探讨学习方法,协作解决一些遇到的问题。通过解决问题,锻炼学生综合应用知识的能力、培养其创造性和合作精神。
参考文献:
12.《C语言程序设计实践》课题 篇十二
1 本课程的教学目标与设计思路
1.1 教学目标
本课程的教学目的是:希望能通过课程的学习,使学生具备计算机程序设计的基础知识及方法,掌握C语言的语法规则,了解算法的基本知识。能够使用掌握的语法规则描述算法思想,并具备排除程序错误,调试并成功运行的能力。在实践教学过程中应注重学生分析问题能力的培养,能用编程思想来解决专业领域的实际问题,最终形成清晰的逻辑意识[1]。
1.2 设计思路
按照“以能力为本位,以职业实践为主线,以项目为载体的项目课程为主体的模块化专业课程体系”的总体设计要求,该课程以学会C语言程序设计语言,形成程序代码阅读理解与代码编写的基本技能为基本目标,培养学生良好的编程风格与清晰的逻辑思路。教学设计的整体思路是以项目为主线,任务为中心,重整教学内容。不再沿袭理论与实践相分离的教学模式,通过在完成项目的过程中,教师引导,学生练习的方式,让学生总结学习重点最终使学生从被动接受知识变成主动掌握知识。
2 教学内容
2.1 教学内容与学时安排
通过“学生成绩管理系统”这个项目以理论知识够用即可的原则对教材重新整合,将该项目分解为8个子项目,由单项技能向综合技能的提升。课程共80学时,理论与实践各占一半。通过8个具体任务的子项目分别介绍基本涵盖了C语言程序设计的知识点及技能的内容。学生通过这些子项目了解C语言各知识点在实际任务中的应用,掌握设计开发一个项目的工作流程及方法。整合后的教学内容打破教材章节界限,按“制作项目”的需要灵活安排教学内容[2]。本课程教学模块的分配如表1所示。
2.2 教学重难点
教学重点是理解C语言的基本概念,掌握三种基本程序设计结构(顺序、选择和循环)掌握数组的概念及使用方法,掌握函数的定义及参数的传递,理解指针的概念。很多时候虽然学生对概念掌握非常熟悉但在实际编程过程中,会遇到很多问题,比如if语句在嵌套过程中多分支情况,多重循环时程序重复执行的次数,函数在嵌套调用与递归调用时能否顺利返回等问题,这也是教师在教学过程中需要突破的难点。
2.3 突破重难点的方法
教师在引导学生学习过程中如何突破重难点呢?将语法知识融入到项目中,只需掌握最常用最基本的语法知识,摒弃不常用的方法,使学生通过项目开发理解并掌握基本的语法知识,突出理论知识在具体项目中的使用方法。围绕一个具体主线项目如“学生成绩管理系统”进行难点讲解,以实际应用作为突破口,使学生能理解循环嵌套在实际中的应用,提高学习兴趣,提高感性认识,培养应用思维。将理论和实践有机结合起来,形成以培养学生动手能力为主线的一体化教学模式,使学生在“做中学、学中做”[3]。
3 教学的组织与实施
3.1 教学组织形式
本课程的采取教、学、做一体化的教学模式,所有的课程都在实验室完成,理论知识与项目开发相结合,教师引导学生思考完成项目的思路,在学生将思路实体化的过程中,教师讲解相关知识点,鼓励学生尝试将C语言的知识转换成具体程序实现任务要求,做到真正的理论与实践相结合。
3.2 教学设计
在教学过程中主要以案例导入→知识点学习→课堂讨论→动手实践→项目考核的教学模式来开展课堂教学。教师在课前通过案例与学生分析项目具体要求,学生讨论实现该任务的具体思路。让学生自己提出要实现该任务可能遇到的问题,教师通过整理学生的问题,抛出与本次任务可能有关的知识点以及技能点。师生共同构建课程的理论知识,并将理论知识融入项目中。在教学过程中可以让学生分享编程思想,鼓励学生创新,教师可以适当提出开发性问题,激发学生的创新潜能。根据学生掌握程度考虑结合简单的单片机知识并参考现实生活中常见的小项目例如交通灯的设计与制作,通过该项目是设计使学生了解如何通过程序控制硬件电路,不但使学生对单片机有感性认识,而且进一步提高程序设计能力。
3.3 教学方法
1) 工学结合
作为子项目知识点的扩展将实际问题或企业实际开发项目引入课堂教学(如电子时钟、抢答器、交通灯、学生成绩管理系统等项目),进行适当简化处理,作为教学和实验实训项目。
2) 根据课程和内容采取了灵活多样的教学方法。
在教5学过程中,采取了以工作过程为导向的学习过程,综合运用基于工作过程的项目教学法、任务驱动法、案例导入法、分组讨论法等教学方法开展教学。整个课程教学方法灵活运用,根据内容需要选择教学方法,各种教学方法交错使用,互相融合[5]。
4 考核方式
本课程的考核方式采取过程考核与期末上机考核相结合的方式。其中过程考核包括平时出勤(5%)、作业(5%)、课堂表现(5%)、实验实训考核(35%);其中上机考核(50%)[5]。实践考核根据6个子任务考核学生对知识点的掌握情况,每个学生一台电脑,独立完成考核内容,在规定时间内根据学生的程序编写、调试、运行等情况对学生考核进行评价。
5 教学效果
课程改革后,学生的学习积极性有极大的提高,学习效果也较为显著,近几年来我院参加省级或国家级的比赛战绩显赫。获得国家级奖项2项,省级比赛一等奖6项,二等奖11项,三等奖10项。学生评教过程中,本课程教学团队主讲教师一直受到学生好评,好评率为90%以上。
摘要:C语言是编程语言的基础,该文以电子相关专业的实用角度出发,从课程的教学目标、设计思路、教学内容、教学的组织与实施、考核方式等方面对C语言程序设计课程进行教学改革。通过实践结果证明,该改革措施效果良好,有利于学生能力的提高。
13.《C语言程序设计》学习心得 篇十三
通过这一阶段网络的学习,我总结出以下几点,在今后的教学过程中可以尝试加以注重:
(一)激励学生学习兴趣,充分调动学生学习积极性
学习兴趣就是学生在心理上对学习活动产生爱好、追求和向往的倾向,是推动学生积极主动学习的直接动力。爱因斯坦说过:“兴趣是最好的老师,真正有价值的东西,并非仅仅从责任感产生,而是从对客观事物的爱与热忱中产生”。我国古代教育家孔子也说:“知之者不如好之者,好之者不如乐之者。”只有“好之”、“乐之”方能有高涨的学习热情和富有创造性地去完成学习任务。明确学习目的,激发学习兴趣
只有学习思想端正,学习目的明确,学生才会有学习的动力,才会有学习的自觉性。有的学生认为C语言已经落伍了,没有什么用,我们要使每个学生明确即将学习的知识与社会的关系,告诉学生学习C语言是建立程序设计思想,学习程序设计的各种基本概念、方法、技巧,培养良好的程序设计风格。在讲C语言程序设计课程前,收集大量招聘C语言编程人员的就业信息及毕业生从事C语言编程工作的收入、工作条件、工作岗位等学生十分关注的重要信息。同时,也列举了大量用C语言完成商业性软件工程,以激发学生学习C语言的动机的热情。学生有了主动性,才会自觉地学习这门课。
(二)设计问题,开发智力,引导学生自己解决实际问题
在教学过程中,我们提倡学生在课堂上发现问题、提出问题,对于学生在练习中所遇到的问题,教师不能马上告诉答案,应当适当的启发和引导让学生自己找到答案,培养他们的思考能力。同时教师要精心设计一些富有启发性的问题,达到开发学生智力的目的。这样做有两方面的意义:一是为了引人入胜,激发学生的学习兴趣;二是对知识本身提出疑问,加深对问题的认识和讨论,这也是推动 C 语言课程教学艺术化的途径之一。
(三)强化课程设计,加强学生能力培养
课程设计是整个课程学习的总结与提高,通过必要的课程设计,切实加强学生的能力培养,通常课程设计贯串整个教学环节,设计内容以具体的软件系统的开发为基础,重点让学生掌握软件开发的基本思路与方法。课程设计必须以学生为主,教师的指导重点放在总体方案制定、设计进度上。教师在课程设计过程中应经常到学生中去答疑,检查学生设计进度与设计方案、设计结果的正确性,及时发现问题并辅助解决。课程设计尽量做到每个学生的设计有所差别,并要求学生独立完成设计环节。对学生的设计方案不追求最优,只要合理就支持学生坚持完成,最后在考评阶段进行重点点评。
课程设计结束时学生必须上交课程设计说明书,同时还要进行答辩。学生答辩结束教师给予正确引导,指出设计中存在的问题,并指导学生如何完善。答辩前学生要事先准备大量的知识点,答辩过程不但锻炼学生的表达能力,还能使学生认识到自己的设计的优缺点,也了解了别人的设计思想,开阔了视野。总结
14.c语言程序设计怎么学习 篇十四
1.在编写各类单片机功能程序时,不要急于书写,一定要先想出一个很好的结构和方法,虽然你写出来的程序可以正常运行,但是你是否想到了它的可维护性,可阅读性等等一些很重要的因素呢?所以一定要先想出一个很好的架构在来开始编写。
2.c文件,和h文件设计的要求。C语言显得非常的自由,但我们在工作中为了程序软件的种种原因,一定要规范自己的写法,这对自己和他人都是有利的。在单片机的程序中,我们应该把一个模块功能建立一个单独的C文件,这一C文件中包含和该模块功能全部相关的函数体,同样把和该C文件相关的常量,表达式等等也单独的建立一个h文件,最好是只让它对应的C文件引用,不要让其它的C文件进行引用,这样很好的体现程序的模块化和内聚性。在对单片机的内部寄存器进行操作的程序,我们应该单独的建立一个文件,只允许MCU内部的寄存器名出现在该文件中,你试想一个,在你的所有文件中这这里出现一个寄存器名,那里出现一个寄存器名,是不是可读性不好,没有实现程序的模块化呢?在程序过程中我们应该把多次用到的变量和常量最好的定义为宏,这样当这些变量 ,常量要更改时,就可以很方便的更改,不用大量的去寻找。在使用文件包含时,一定要注意路径的选择,什么时候用,“ ”,不用出现重复编译的情况,有时重复编译可能编译器没有报错,但是这样明显不好。要学会很好的使用条件编译语句,这对我们的程序很有用,在很多小型的操作系统中,都有硬件裁减的功能选择,这正是利用了条件编译,需要这一功能时我们就定义它,不需要时就不去定义,显得很方便。
3.指针的妙用。C语言的特色就在于它的指针。很好的使用指针能让我们的程序更加的有条理性,同样它也是C语言中语法最难的一点了,所以在使用时一定要注意。具体的好处太多了,在这就不在多说了,大家自己体会就能很好的明白了。
15.《C语言程序设计实践》课题 篇十五
1 传统C语言程序设计教学中存在的问题
通过对学生进行访谈以及课堂教学的观察与研究, 传统C语言程序设计课程的教学现状很不理想。很多学生认为C语言程序设计这门课程很难学, 学起来很枯燥, 缺少学习兴趣, 还有一部分学生认为自己学不好该门课程, 缺少信心。学生在学习C语言程序设计这门课程的过程中, 不能很好理解课程的基本概念。在上机操作时, 不知道如何设计算法, 算法分析之后, 不知道用什么语句来表达算法, 出现语法错误时, 不知道如何纠正等。如此种种导致学生上机实践效果很不理想。出现这些现状的主要原因在于传统C语言程序设计教学中存在如下问题。
首先, 在教学内容方面, 传统C语言程序设计教学的内容偏重于理论, 对实践环节不够重视。C语言的基本概念多, 内容繁杂, 纯粹的语法讲解使得C语言程序设计的教学内容枯燥抽象。过于重视理论知识的教学使得实践应用与理论知识联系不紧密, 学生运用C语言解决实际问题的能力得不到很好培养。
其次, 在教学方式方面, 传统C语言程序设计教学严格按照教学计划的进度进行, 教师在规定时间完成相应的教学计划, 课堂教学基本采用“满堂灌”的方式。学生被动接受知识, 教学主体是教师, 师生之间的互动很少。学生学习时缺乏自主性和学习兴趣, 课堂上的学习氛围很沉闷, 很难培养学生的实际应用能力, 教学效率很不理想[1]。
最后, 在考核方式方面, 传统C语言程序设计往往采取期末考试成绩占70%, 平时成绩占30% 的考核方式。这种一张试卷定成绩的考核方式, 缺少对学习过程的监督。有些学生平时不怎么学习, 往往在期末考试时突击复习, 反而得到较高的分数。这种只重视考试结果的考核方式, 不利于培养学生提高解决实际问题的能力。
2 C语言程序设计课程教学改革措施
基于C语言程序设计传统教学存在诸多问题的现状, 为了激发学生学习C语言程序设计的兴趣, 促进学生积极、自主学习, 提高C语言程序设计教学效果, 适应国家地方院校向应用技术型高校转型的要求, C语言程序设计课程教学需要进行改革。教学改革既要与应用技术型高校转型相结合, 又要考虑到学生的现有基础。教学过程中, 需要以实践应用为主导, 以理论为基础, 拓展学生的知识范围, 提高学生利用C语言解决实际问题的能力。针对C语言程序设计传统教学中存在的问题, 对教学中的各个环节进行如下改革。
2.1 教学内容的改革
电子科学与技术专业的学生在大一下学期就开始学习C语言程序设计这门课程, 对于接触计算机时间不长的学生来说, C语言程序设计的基础几乎为零。偏重于理论知识传授的传统教学, 不利于学生对该门课程的学习。进行教学内容的改革, 应抛弃传统教学内容中枯燥乏味的语法概念, 设计实用有趣的经典实例, 把语法基础知识的讲解融入到实例分析中, 提高学生的学习兴趣。
如图1 所示, C语言程序设计课程主要由四部分内容组成。在传统C语言程序设计课程教学中, 重点放在C语言基本概念的讲解上, 而基本概念是枯燥乏味的理论知识, 从而使得学生一开始就对该门课程产生厌烦心理。为提高学生的学习兴趣, 把教学重点放在后面的基本控制结构、数值与指针、函数这三个部分。每一部分设计一些有趣案例, 在对案例进行分析、编程的过程中, 穿插讲解C语言的基本概念。对于课程体系中的后三个重点模块, 教学内容也要做如下调整:简化表达式强制类型转换、运算符优先级等内容;删除多维数组、多重循环等内容;强化三种基本控制结构、基本数据类型、算术运算符、二维数组等内容。这种教学内容的改革, 能有效提高学生的学习兴趣。
2.2 教学方式的改革
对于电子科学与技术专业的学生来说, C语言程序设计课程主要是为后续课程单片机原理及应用而开设的, 教学过程中应采用“以理论为基础, 以应用为目标”的教学理念, 强调培养学生C语言程序设计的应用能力, 并不是要抛弃理论方面的教学, 而是要放弃传统教学中“先学理论, 后学应用”的教学方式。以学生应用能力培养为中心的教学理论, 需要对C语言程序设计课程的传统教学方式进行改革。
在C语言程序设计课程的教学中, 单纯介绍C语言基本语法不利于培养学生的学习兴趣。改革后, 把C语言作为一种实践工具, 主要讲解程序设计方法, 通过程序案例讲解语法重点和难点。把“问题驱动”教学法应用在C语言程序设计教学中, 在讲解语法的过程中不仅仅停留在理论层面上, 而是通过实例教会学生应用语法[2]。如图2 所示, 采用问题驱动式教学方法, 巧妙设计教学任务, 让学生分组进行讨论, 提出任务解决方法。学生在完成一个个具体而真实的任务过程中要对任务进行分析, 提出问题, 并研究解决问题的方案。改革后的教学方式可以有效培养学生主动学习、探索并解决问题的能力以及创新能力。
2.3 考核方式的改革
传统考核采用平时成绩占30%, 期末考试占70% 的方式。期末考试的一张试卷几乎就能决定学生该门课程的成绩, 这种考核方式缺乏对学生学习过程的监管。部分学生平时不努力, 期末进行突击复习, 反而得到了高分。这种只注重语法等细节知识的考核方式不利于学生解决实际问题能力的培养。改革后的考核方式更注重过程监督和综合素质的培养, 为了让学生注重平时学习, 可以将平时成绩提高到60%, 平时成绩主要由平时上机操作考核 (包括程序设计和调试能力、代码规范程度、课程实验) 占20%、平时作业 (包括实验报告、课后作业) 占20%、平时出勤和平时上课表现 (迟到一次扣1 分, 旷课一次扣5 分, 上课违纪一次扣1 分) 占20% 综合给出, 而期末成绩只占40%。通过对平时进行监管, 要求学生认真对待每一堂课, 避免期末为了应付考试而突击复习的现象[3]。这样不仅让学生真正学到了东西, 同时也减轻了学生期末的考试压力。
3 兴义民族师范学院电子科学与技术专业C语言程序设计课程改革效果
本次实践采用的教材是李梦阳、张春飞主编的C语言程序设计, 在没有改变大章节的前提下, 把每一章的内容进行教学改革, 改变传统逐节讲解知识点的方式, 每一节的教学内容中含有多个知识点, 把这些知识点都融入每一个精心设计的案例中。通过一学期的实践, C语言程序设计课程的教学改革取得了一定成效, 教学效果很好, 学生学习兴趣得到提高, 会积极主动去学习编程, 利用C语言解决实际问题的能力明显提高。学生不仅可以使用C语言解决简单的计算问题 (第三次上机操作) , 还能够对复杂的数组进行处理 (第五次上机操作) , 有些学生甚至能够利用C语言编写用户界面 (课后任务) 。在以往的C语言程序设计课程教学中, 学生很难解决这些问题。
4 结语
C语言程序设计是一门实践性很强的计算机高级语言课程, 对于电子科学与技术专业的学生来说, 熟练运用C语言进行编程对后续课程单片机原理与应用的学习非常重要。只有不断创新, 对教学内容、教学方式、考核方式进行相应改革, 才能提高C语言程序设计的课程教学质量。教学过程中以培养学生应用能力为目标, 应用问题驱动式教学方法进行教学, 使C语言程序设计这门课程的教学更加具有科学性, 从而取得更好的成效。
摘要:C语言程序设计课程是高校电子科学与技术专业的专业基础课, 笔者针对该专业C语言程序设计课程传统教学存在的问题, 对该课程的教学内容、教学方式、考核方式提出了新的思路, 改革实践取得了很好的教学效果。
关键词:C语言程序设计,教学改革,电子科学与技术
参考文献
[1]王爽, 陈鸿.高校计算机语言类课程教学改革与实践的探讨[J].时代文学, 2014 (24) .
[2]余丽红, 徐存东, 林春景.基于CDIO的C语言程序设计课程教学改革探究[J].中国科教创新导刊, 2011 (16) .
16.C语言程序设计课程的教学探索 篇十六
关键词:C语言程序设计 课程教学 教学效果 教学方法
C语言是国内外广泛使用的计算机语言,学会使用C语言进行程序设计是计算机工作者的一些基本功。C语言程序设计是计算机相关专业的一门专业基础课。在计算机课程体系中,C语言程序设计是学习其他计算机课程的基础,也是引领学生进入计算机学科领域的第一门课程,学生学习C语言程序设计的效果,将对其他课程的学习积极性产生影响。因此,C语言程序设计课程的教学显得非常重要。作者根据多年从事C语言程序设计课程的实践,对该课程教学实践中遇到的若干问题进行整理,并提出一些解决思路,以供同仁们参考。
一、培养学生的学习兴趣
C语言程序设计课程是计算机相关专业学生所接触的计算机类课程的先行课程之一,学生在学习这门课程时,往往对程序设计满怀期望和好奇心。教学初期,要把握时机,对学生好奇心理加以利用,提高学生学习兴趣,提高学习效果。随着课程的深入,所学内容逐渐增多、学习难度加深,教师如不一如既往地特意培养学生学习兴趣,学生在学习中遇到的各种挫折都可能打击其学习兴趣。教学中、后期,要调用各种教学方法和手段,强化学生的学习兴趣。可以根据教学内容设计适宜的、学生感兴趣的题目供学生讨论,在讨论中以学生为中心,并进行适当的引导,使讨论富于情趣,寓教于乐,达到较好的教学效果,强化学生的学习兴趣。比如,在讲授起泡发排序时,教师先用多媒体课件将算法思想陈述清楚,然后随机抽取教室中就坐的一列学生,由全体学生根据算法思想对抽取的同学的身高进行排序,这样可以让所有学生在都参与算法的演示,以加强学生对算法思想的理解,在轻松愉悦的环境中培养学生的学习积极性。
二、授予算法思想
C语言程序设计课程的是一门专业基础课,其教学目标就要体现“专业”与“基础”两个方面。一是,使学生掌握各种C语言本身的语法与程序结构,二是,使学生通过该门课程的学习掌握一定的算法和常用子程序的编程实现,学会用C语言编写程序,实现所需处理的任务,为后续课程打下坚实的基础。
算法是程序的核心,是程序的靈魂。语法是程序的外壳,是程序的工具。教学中,要处理好算法与语法的关系。不能把重点放在语法规则上。语法是重要的,掌握不好语法就无法编写出正确的程序,但是,只学会语法,甚至把语法背得滚瓜烂熟,也不可能编写出好的程序。要把重点放在算法思想上,通过大量的实例讲解和练习使学生学会怎样设计算法,编写程序,解决实际问题。算法思想与语法知识的关系就如“授予渔”与“授予鱼”的关系。教育不是要“授予鱼”,而是要“授予渔”。因此,C语言程序设计课程“授予算法思想”最为重要。
三、改进教学方法
在教学实践中采用多媒体教学与传统教学相结合的方法。多媒体教学信息量大、变换快速、表现直观、操作简便,教学活动很容易出现课件喧宾夺主的不良倾向;教师容易忽视教学策略和教学方法,忽视教学难点和重点,忽视与学生的交流;学生忙于观看课件,无暇做笔记,无暇思考。因此,在C语言程序设计课程中一定要注重适时适当地采用一些传统的教学方法,加强与学生的交流,在课堂中注重与学生的互动,杜绝采用填鸭式教学方法。教师要从学生的主宰转变为学生学习的引导者,课堂教学要从过去的“满堂灌”“填鸭式”转变为学生自主探讨,尽可能把时间还给学生,使学生从被动的“受教育者”转变为主动的“探索者”。
此外,教师要注意在每一堂课结束之后对所学内能进行归纳小结,整理教学内容的内在联系。在整门课程的教学过程中,注重各种C语言程序结构之间及数组、函数、指针、结构体与共用体之间的比较,使学生总览全局,对各种C语言程序结构之间及数组、函数、指针、结构体与共用体之间的差异和联系有宏观的把握,促进对各种C语言程序设计知识的理解和掌握。
四、抓好实验教学
程序语言的学习最终的目标就是能够熟练地根据具体问题设计适合的算法将其转变为C语言程序,解决实际问题。所以,实验是C语言程序设计课程必学、必练的教学环节。学生对实验内容的掌握程度直接反映学生对C语言程序设计课程的掌握程度。
C语言程序设计课程是计算机相关专业学生的开设的第一门专业基础课,学生对该课程的学习思维的把握需要一个循序渐进的过程。因此,在实验教学中,教师要把握循序渐进的度。一开始,可以学生非常熟悉的问题设计实验内容,在实验中为学生给出完整的实验程序,其目的是让学生掌握C语言程序设计课程的上机环节及编程的基本方法。接下来,可以根据第一次的实验,设计一个有关语句、语法、程序结构等环节的实验内容,是学生对C语言程序的基本结构、基本的语法特点有一个总体的印象。之后便可以根据教学内容来设计实验内容。
在实验教学中,对于实验内容的设计除了要与教学内容相结合外,还要注意实验内容满足学生的兴趣。而且,一定要把握好实验预习、准备关。除了最初的两次实验之外,其他的实验,一定要要求学生做好充分的准备,严格要求学生在实验之前提交实验程序。我们的做法是将课后作业与实验内容合二为一,学生因为对布置的内容有准备,所以尽管实验内容多,但也能较好地完成,能较好地达到实验教学的预期目标。而且,学生对自己的学习目标的达成及完成情况更加清晰、明确,对于C语言程序设计课程的学习亦随着实验内容的增多和。
五、结束语
C语言程序设计课程具有鲜明的实践目标性,教学中,教师一定要结合学生实际,合理设计教学内容及教学环节,用恰当的方法方式引领学生进入更加广阔的计算机相关专业领域。
参考文献:
17.C语言程序设计心得体会 篇十七
在设计打字游戏的过程中,通过我们小组各成员之间的相互讨论和合作,我们完成了打字练习的程序设计。在这个学期中,我们已经学习了《C 语言程序设计》这门课,但是我所学的知识最多也就是在做作业的时候才会用到,平时没有什么练习的机会,这次的设计是我第一次通过自己构思,和同学讨论并且不断查阅资料来设计一项程序。这次设计,不仅巩固了我以前所学的知识,还让我对c语言有了更深一步的了解,掌握了更多的技巧和技能。
C语言是计算机程序设计的重要理论基础,在我们以后的学习和工作中都有着十分重要的地位。要学好这种语言,仅仅学习课本上的知识是不够的,还要经常自己动手,有较强的实践能力。只有多动手,经常编写程序,才能发现我们学习上的漏洞和自己的不足,并在实践中解决这些问题,不断提高自己转化知识的能力。
在这次课程设计中,我们首先对系统的整体功能进行了构思,然后用结构化分析方法进行分析,将整个系统清楚的划分为几个模块,再根据每个模块的功能编写代码。而且尽可能的将模块细分,最后在进行函数的调用。我们在函数的编写过程中,我们不仅用到了for循环、while循环和switch语句,还用到了函数之间的调用。由于我们是分工编写代码,最后需要将每个人的代码放到一起进行调试。因为我们每个人写的函数的思想不都一样,所以在调试的过程中也遇到了困难,但经过我们耐心的修改,终于功夫不负有心人,我们成功了!
18.《C语言程序设计实践》课题 篇十八
《C语言程序设计》是高职学生普遍反映较难的课程, 为了提高学生学习本课程的兴趣及寻求更好的教学效果, 本文探究了该课程的教学改革与实践应用。
2. 高职《C语言程序设计》课程特征及教学现状
根据我校电气自动化专业多年开展《C程序设计》这门课程的教学实践, 我们把这门课程定位为:夯实基础, 培养灵活应用能力, 全面提高学生综合素质。夯实基础, 是指对程序设计语言共性的重点内容、基础算法要重点强调, 同时要注意拓展一定深度。培养灵活应用能力, 是指培养学生独立编程, 重在培养学生的逻辑思维能力。教学组织中分组进行, 每个人既有独立的工作内容, 其互相之间又密不可分, 需要小组协作才能完成任务, 从而全面提高学生的综合素质。
我校电气自动化专业开设《C程序设计》来一直是在机房进行教学, 可安排学生课余时间整个班级有计划上机。多年教学实践表明, 教学内容和教学配套相对比较完善。但是从教学效果来看, 不尽任意, 在教学过程中摸索发现, 机房边讲边练有时候效果并不太好, 因为机房机器噪音大, 同学分散, 注意力不容易集中, 尤其讲授算法和语法知识的时候比较困难。
3.《C语言程序设计》教学改革实践
为解决当前《C语言程序设计》课程所出现的问题, 针对课程特点, 结合电气自动化专业学生培养目标要求, 我们认为该课程采用项目化教学方式, 从以项目为载体, 通过教学方法改革、教学内容的重难点及化解的调整、考核内容与方法改革等方面进行教学改革。具体实施如下:
3.1 教学方法改革
以项目为载体, 设计由浅入深的项目, 在教学方法上采取项目化教学为主线, 贯穿启发式教学、理实一体化等方法。
3.1.1 项目化教学
通过对完整的项目的系统分析与设计, 寓知识点于项目中, 让学生充分理解知识点在实际项目中的作用, 从而学习他人编程经验, 由模仿编程到自主设计, 从而真正提高编程水平。
《C程序设计》的实践教学是与理论教学同等重要的教学, 只会在纸上完成C语言的教学, 不是真正的程序设计, 因此C语言课程的目的就是在计算机上实现程序设计。为达到这一目标, 应当注意教学的每一环节, 做到每一小节有项目小模块, 若干个小模块组成一个完整小项目, 全部课程结束后有综合性项目设计。在综合性项目设计中我们将学生分成若干个小组, 分别完成诸如“个人财物管理软件”等项目。通过项目化教学, 使学生实际编程能力、团队协作能力有了较大改善。
3.1.2 启发式教学
每个项目中, 要启发学生首先分析该项目要实现什么任务, 有哪些措施, 这些措施在编程时如何实现。带着问题去研究, 激发学生学习兴趣, 发现问题, 提出问题, 最后解决问题。例如, 在讲解程序实现时, 不是灌鸭式地给出程序, 而是从分析任务入手, 找出解决问题的方法, 再给出算法, 与学生讨论算法实现的基本思路, 最后编写出完整的程序。
3.1.3 理实一体化教学
《C程序设计》是一门较为特殊的课程, 它是一门理论与实践结合的非常紧密的课程, 采用项目化教学方法并非完全弱化理论, 在项目中应做到理论与实践并重, 课堂教学与项目上机调试同步的原则, 做到“做中学, 学中做”, 用理论去指导实践, 又从实践中加深对理论知识的理解, 特别是对函数、指针、结构体、文件等知识的理解, 最后能编写具有一定实用价值的程序。
3.1.3. 1 项目中涉及的算法等知识在教室里进行。
计算机应用软件侧重操作, 而算法等知识更像是外语和数学的学习, 上机只是为了验证其结果, 更注重逻辑思维能力和抽象思维能力, 可以说程序是数据结构与算法的结合。因此, 这次实施教学改革将项目中涉及偏理论性的编程教学放在教室内进行, 更有利于学生聚精会神调动大脑思考。
3.1.3. 2 教学中加强算法, 弱化语句。
算法是程序的灵魂, 语言只是工具。对于初学者来说, 算法不在于优, 算法是否容易理解容易接受更为重要。如编程交换两个变量x、y的值, 给出两个算法, 两个算法均需三步实现, 但算法1首先定义一个中间变量t: (1) 将x中的数据送给变量t, 即x→t; (2) 将y中的数据送给变量x, 即y→x; (3) 将t中的数据送给变量y, 即t→y。算法2同样是三步, 但直接运算, 运算结果分别再存入两个变量, 其过程为: (1) x+y→x; (2) x-y→y; (3) x-y→x。笔者多年教学经验表明, 高职学生很容易理解算法1中借助了中间变量的算法, 而算法2则很难被学生接受。因此对初学者来说程序的清晰易懂远比变量个数、程序长短更重要。
3.1.3. 3 编程教学中最大的难点是如何培养学生独立编程。
学生独立编程的过程不是一蹴而就的, 需要循序渐进。首先精讲例程, 分析算法, 画出流程图, 给出完整程序, 让学生在算法、流程图、程序三者中建立联系;其次培养学生多分析程序, 这一步十分重要, 为培养学生独立编程打下了基础;然后让学生通过程序填充和程序改错加强程序理解;最后给出类似任务, 让学生分组讨论完成;经过以上多个环节练习, 大部分学生可独立编写简单程序。例如, 在讨论分析实现了s=1+2+3+……+99+100的程序后, 要求学生实现s=1-1/2+1/3-1/4+……+1/99-1/100。学生分组讨论, 学生很容易找出两个项目的类似之处, 一个是求和的每一项的符号要考虑, 另外还要考虑前者是自然数直接累加, 后者是自然数的倒数累加, 这样学生很快写出了程序。在这种由浅入深, 逐步分解的过程中, 环环相扣, 学生夯实了基础, 编程灵活性大大提高。
除传统的课堂项目外, 开展组织C程序设计兴趣小组等, 极大地调动了学生学习兴趣。
针对学生差异, 在编程教学的内容和深度上根据实际情况分层次要求, 因材施教。对于高职高专来说, 教学内容可以做部分削减, 只要掌握顺序结构, 分支结构中容易理解的if语句、switch语句, 循环结构中常用的while语句、for语句, 函数定义及调用方法, 数组、指针、结构体的定义及使用等, 让学生在一系列由浅及深的项目实践中, 学会程序设计, 通过一些简单的算法设计实现某项任务功能。
3.2 课程重点和难点的调整
以往教学中往往落入本科教学的简化版的套路, 过多地侧重算法、数据结构等理论性的知识, 而这些正是高职学生学习的困难, 以至学习兴趣不高, 效果不理想。结合电气自动化专业人才规格定位、培养目标和生源实际情况, 在教学中及时调整教学重点和难点。
课程重点为:通过一系列项目使学生掌握C语言编程的基本语法、基本结构、基本算法, 培养学生程序设计的基本思想。
课程难点为:指针、程序应用。鉴于当前指针这一部分知识点在程序设计或系统开发中已较少使用, 只讲授较容易理解的一级指针。用C语言实现一些实用性较强的程序代码编写, 主要通过典型项目实现, 而不是枯燥地单纯讲解。
3.3 考核内容与方法的改革
考核分为实践考核和理论考核。
实践考核主要以每一项目的上机实验和学期末的上机考试两部分组成, 占总评成绩的60%。其中每一项目的上机是检验学生应用相关知识编程的能力, 该部分总成绩的30%;学期末的上机考试是检验学生综合应用知识编程的能力, 该部分总成绩的30%。
在考试知识点中分为入门知识点与提高知识点, 根据学生的能力进行, 理论考试占总成绩的40%。
3.4 教学改革实践结果分析
以电气自动化1301班 (26名) 为例, 以IBM SPSS Statistics19软件为工具进行配对样本T检验。建立虚无假设H0:μ1=μ2, 即先假定两次测验成绩之间没有显著差异, 即该改革对教学改进没有效果, 本实验假定显著水平α=0.05。如表1、表2、表3所示:
由表1可看出, 实施教学改革前26名同学的成绩的平均79.72分, 标准差6.017, 标准误1.203。而进行教学改革后26名同学的成绩平均86.44, 标准差5.245, 标准误1.049。
本次样本共抽取26名同学, 由表2知相关系数为0.922, 说明改革前后彼此高度相关。本实验中取α=0.05, 即置信度为95%, 如果P<0.05, 则拒绝H0, 否则, 还不能拒绝H0。
由表3看出, 改革前后成绩差异为-6.7200, 双尾P为0.000, 小于显著性水平0.05, 因此拒绝原假设, 即项目化教学改革前后成绩存在显著性差异。由此可见, 《C语言程序设计》实施项目化过程教学改革, 极大地提高了学生的学习兴趣, 加强了学生的逻辑思维能力, 教学效果有了很大改善。
结束语
《C语言程序设计》课程在实施项目化教学改革实践中, 既注重实践又在实践项目中化解重点、难点, “做中学、学中做”, 用理论去指导实践, 又从实践中加深对理论知识的理解。根椐学生的自身特点将考核的知识点分为入门掌握的基本知识点与提高掌握的知识点, 这样对于基础较差的学生可以选择入门掌握的基本知识点作为考核内容, 对于基础较好的学生可以选择提高掌握的知识点, 从而适应不同能力的所带来的差异, 每个学生都在自己原来的基础上取得一定的进步, 增强了学生的自信。
摘要:通过设计实现完整的项目, 在项目中贯穿教学内容, 培养学生分析问题、解决问题的能力, 达到独立编程。本文以高职电气自动化专业为例, 分析《C语言程序设计》课程教学现状, 找出问题, 探索有效的教学方式。以项目为载体, 通过教学方法改革、教学内容的重难点及化解的调整、考核内容与方法改革等进行教学改革。
关键词:项目化教学,教学方法改革,教学内容的重难点,考核内容,方法改革,配对样本T检验
参考文献
[1]杨维钟等.SPSS统计分析与行业应用案例详解.清华大学出版社, 2013.
[2]吴喜之.统计学:从数据到结论 (第三版) .中国统计出版社, 2009.
[3]薛薇主编.SPSS统计分析方法及应用.电子工业出版社, 2009.
[4]张悦.项目驱动教学法在C语言课程中的应用[J].职业教育研究, 2007 (2) :164-165.
【《C语言程序设计实践》课题】推荐阅读:
《C语言程序设计》双语教学的实践与思考01-13
《C语言程序设计》说课稿07-13
c语言程序设计试题四08-06
c语言程序设计实验三03-03
c语言程序学习心得11-17
c语言atm程序模拟02-04
c语言程序设计第一章07-18
c语言程序设计试题集07-28
c语言程序设计第2版02-13
C语言程序设计课程教学设计08-27