第一篇:2013年下期C语言教学工作总结[定稿]
2013年下期C语言教学工作总结
—李乐年
C语言是一门高级程序设计语言,使用广泛,表达能力强,目标代码运行效率高,可移植性好,既具有高级语言的优点,又具有低级语言的许多特点,既可以用来编写系统软件,又可以用来编写应用软件。因此《C语言程序设计》课程在教学中占有重要地位。
《C语言程序设计》是对口升学计算机专业的一门核心专业基础课程,该课程是一门实践性与应用性较强的课程,目的是培养学生算法设计的基本思想和程序设计的基本技能。课程的内容主要涉及C语言的基本概念、基本语法以及C语言程序设计的基本方法,在教学中既要重视严谨的系统理论教学,又要重视实践性环节和案例的讨论与分析,为以后有关课程的学习和从事软件开发奠定基础。以下是本人在《C语言程序设计》课程教学过程中的一些经验和体会,与大家共勉。
一、提高教师自身素质
教师首先要提高自身的政治素质和业务水平,及时了解最新的科技成果并掌握C语言应用技术的发展方向,要不断拓宽知识面,具备一定的知识高度,同时不断研究与改进教学方法,理论联系实际,提高自身的教学水平。
二、合理选择教材
高职教育是针对岗位一线培养应用型、技能型人才的,而目前高职教育的C语言教材普遍存在的问题是结合岗位的针对性不强,技能训练的实践性不够。教材是提高教学质量的基础和前提,是学生系统学习知识的依据,一本好的教材应能培养学生的自学能力和独立思考能力,使学生能够依据教材理解课堂教学内容,深入了解本学科各个领域的知识。在选择教材方面应注重以下几个方面:(1)充分考虑高职高专教学的特色,理论知识要够用,注重理论联系实际,突出实用性。(2)语言表达要通俗易懂,在内容编排上尽量符合初学者的要求。(3)注意点与面的结合,注重基础与新技术的结合,使教材不仅是师生教与学的媒介,还是能够培养学生编程能力的工具。(4)在选择好的教材的同时,教师应积极编写符合实际教学需要的高质量的教材。
明确C语言课程的教学目标,培养学生模块化程序设计的逻辑思维能力,掌握程序设计的基本语法规则和程序调试方法,具备初步的分析问题与解决问题的能力。主要的教学目标包括:掌握C语言语法,能够熟练运用基本程序结构解决简单问题,理解模块化程序设计原则并能针对复杂问题进行合理分解,掌握基本算法分析与设计知识。
1.作为计算机专业的基础课,目的是使学生掌握程序设计的基本方法并逐步形成正确的程序设计思想,能够熟练地使用C语言进行程序设计,具备调试程序的能力,为 1
后继课程及其他程序设计课程的学习和应用打下基础。学生要在理解C语言的基础上更加专注于理解《算法》或者《数据结构》等课程,而不至于被语言本身的复杂语法现象干扰,要强调C语言的实用性。另外,在掌握C语言的基础上,比较容易学习其他主流编程语言,学生通过对C语言的学习,可以获得针对基本程序结构的程序编写与程序调试知识。
2.学生对C语言的熟练掌握可以在一定程度上降低后续计算机硬件技术基础课程的学习难度。计算机硬件技术基础课程中有很大一部分内容是对汇编语言的学习,同样作为面向机器模型的程序设计语言,C语言仅仅是抽象程度更高一些,其程序结构与汇编语言具有一定的相似性,C语言的编程经验对学生学习汇编语言会有很大的帮助。
3.对于非计算机专业理工类学生而言,该课程有比较强的工业基础应用前景,C语言为用计算机解决实际问题提供了方法,是后续理论与实践教学的基础和重要工具,同时也是计算机二级考试所统一要求的课程之一。教学内容的改革应本着突出基础理论知识的应用和实践能力培养的原则,以应用为目的,以“必需、够用”为度,加强针对性和实用性。
三、注重教学过程,优化教学方法,把握教与学的关系
高职高专C语言课程理论性强,概念性强,抽象而且复杂,在教学过程中要注意的问题主要有:培养学生对C语言的兴趣;教给学生正确的学习方法;加强实践教学环节;有效地组织课程设计;培养学生分析和解决实际问题的能力。教学过程是教师和学生的双边活动,只有既注重教,又注重学,才能真正做到教为学服务。教师所要做的就是传道、授业、解惑,开阔学生的思路,激发学生学习的积极性和主动性,激发反思,调动潜能,引导学生讨论,帮助学生解决遇到的问题,寓教于学。只有把握好教与学的关系,才能优化整个教学过程。
1.将案例带到教学中来。C语言是应用性很强的一门课程,既有理论,又有实践,既讲方法,又讲动手能力。采用案例教学法可以改变“满堂灌”的做法,将学生的眼、手、脑全部调动起来,培养学生的学习兴趣。本人在上课过程中,将课程内容分为若干个主题,以程序设计作为贯穿各主题的主线,每个主题的教学过程由“要点讲解”、“自学/上机实践”和“疑难解答”三个阶段组成。通过案例分析,重点讲解程序设计的思想和方法,辅以语言知识的介绍;然后通过上机练习,包括基本训练(自测作业和主题作业)与综合训练(大型作业),教师针对学生暴露出的问题答疑解惑,结合案例教学,努力将C语言作为解决实际问题的工具,强化学生的编程能力,在分析程序与程序设计的过程中使学生逐步熟悉语法,应用语句,提高学生分析问题、解决问题的能力,由浅入深、由易到难、循序渐进地使学生在实践中掌握知识,培养程序设计能力,逐步理解和掌握程序设计的思想和方法。最终在课堂上教师扮演“和方法,运主导”角色,而学生真正地成为“主体”。
2.切合实际的分组教学。要真正掌握程序设计的思想用语言解决实际问题,综合训练势在必行。整个过程以学生独立完成为主,教师提供相应的理论辅导。经过这样的模拟实际软件开发的演练,不但提高了学生的学习兴趣,培养了学生问题求解和编程能力,还有利于培养他们探索与创新的能力,更加有利于激发学生学习的积极性。
3.分层次教学。即标准化教学与个性化教学相结合,结合不同专业、不同班级学生的具体情况,制定各有特色的教案、讲稿和教学课件。既发挥群体智力优势,又充分发挥教师个体的教学风格特长,有利于提高教学水平。
4.加强实验课与理论课的联系。在理论课上将上机实验任务题目进行讲解,也可以将案例算法作为实验内容。实验课程可以分为两部分,实验任务问题作为理论课的内容在课堂上讨论、讲述,确定实现算法。对于同样的题目,可以确定若干不同的算法,比较其优劣,分析其原因。上机实验的任务是完成已确定算法的编码实现和运行。这种做法相当于在教师带领下,对实验内容做了集体预习,贯彻了“算法重于语法,语法重于编码”的课程指导原则,综合运用学过的知识,加强实践教学。学生只有通过大量的练习,才能真正掌握语言知识,培养程序设计能力,逐步理解和掌握程序设计的思想和方法,学会利用计算机解决实际问题。
5.充分利用多元化、现代化的教学手段。在教学过程中应多方位应用现代教育技术手段,尤其是多媒体辅助教学手段与网络化辅助教学手段。在课堂教学中采用多媒体教学课件,加强直观教学,可提高学生的空间想象力。教师应从最简单的C语言程序的调试入手,详细演示C语言程序的调试过程与调试细节,同时让学生参与进来,实现教师与学生、学生与学生的双向交流和互动,提高学生的学习兴趣,加深学生的理解与记忆。使其检验自己本阶段的学习成果,加强对所学知识的吸收和消化。
2013年12月
第二篇:C语言实践教学工作总结
C语言实践教学工作总结
——现代技术中心邵莉 实践教学工作一如既往的开展,新学期,面临新的挑战,虽然在上学期计算机文化基础实践课程的教学实施经验基础上,我们本期的教学任务对我们这批刚踏足讲台的新人来说又提出了新要求,这学期我从事的是3个C语言程序设计教学班的的实践教学工作,从四月份开课以来,随着课程的逐步深入,这学期的C语言程序设计实践教学各个项目都按照预定的教学计划顺利开展,四个项目将在本周结束,相较于上学期计算机文化基础实践教学,我感触颇多,无论是从教学对象、教学内容、教学过程,还是教师的课堂教学设计,都出现有新的变更,学生由最开始被引领入门至兴趣日益增浓,通过平日学生提交上来的报告册及项目成品中并存的优缺点,我觉得这门课程的开展直至本周新课结束,有很多值得回顾的点滴:
一、教学对象的改变,学生由被引领者到探究者(学习主动角色)的转变:本期我所教授学生层次与上学期计算机文化基础4个教学专科班的学生有所差异,通过一学期的教学课堂现场发现,两批学生间最大的差异是现在的学生有自我约束能力较强,课堂思维活跃,善于逆向分析特质,故在按时提交作业及实践报告册方面做得比较好!
前两个设计项目学生能按照老师课堂上讲解的思路,进行统筹的程序思路分析,再设计出自己的作品,项目批改时,发现第一、二个项目基本上有我的思维模式在里面,学生的思路有点被我上课的引导固化了,稍欠缺点灵活独特的自我想法,但这也和前两个项目的内容有关,Hellow World和烟花制作,涉及知识点非常基础,我们在进行课程设计时,想到让他们
顺利从理论到实践的知识点上的映射过渡,怎么避免学生项目成品中这种千篇一律现象?我们开始采取主动,抓住学生稍纵即逝的灵感与创意是关键,在烟花制作中,我也发现了学生中个别自我探索的痕迹,从审美上,还有平时项目答疑时学生试探性的提问:“老师,我如果想达到**效果,可以不呢?”这些新的尝试,我们都不放过,通过鼓励他们动手尝试,再让他们把自己想法给其它同学讲解,大家一致讨论,即便最后被否定也无所谓,这样做法的结果是:越来越多的同学开始学会自主发现,合作探究,不断对我们所设计的项目原型思路提出新的挑战,直到第三个项目贪食蛇结束时,批改作业的过程中,我惊喜地发现学生中间突出创新的作品渐渐多了起来!然后在项目总结时,再把这些难能可贵的创意作品在班上展示,以激发学生们后继的探索。
教学现场中有源于学生的教学灵感的迸发:
四个项目顺利进行到现在,最初进行教学设计时,我们还是继承上期的“案例驱动,引导教学”课堂教学方法,所以我们通过设计几个单项项目在课堂上分批分次引导学生完成,教师与学生,学生与学生间形成互动交流----即“师-生”、“生-生”互动。本着教师少讲,学生多练的原则,教学过程的设计还是以教师为点,学生为面发散开来的,前面两个项目我们是在收,将学生的思维敛在具体项目流程和实施上,结果教学任务通过学生上交项目情况反映来看完成得很好,学生通过接受师助及优生助,都能将项目悟透,做出自己的成品,但学生的作业中同时出现了无批次的现象,小组教研中我们都认识到:在课堂上要善于抓住学生中的闪光点,将学生中稍纵即逝的个人想法,加以扩大渲染,或者干脆让他到台上将自己的想
法加以实现,比如:为实现同样一个计算,有同学换种语句编辑达成。这个时候,其实是我们尝试在放,放手让学生发散思考,不断地,贪食蛇有同学将自己的独特构思大胆讲解出来了,通讯录也有同学走在我课堂进度的前面,我想为什么不可以让学生上去讲他对完善这个项目其余功能的理解呢?于是出现了:我设计在通讯录中一条条的添加信息,学生出来的是多人信息同时添加„„
这些都是在学生中迸发出来的,因为他们我才做出了改变,这种突破其实是学生的突破。
教学质量控制,与学生反馈质量与日俱增:
学生报告册的填写,每学期都在做,但针对课程我们进行了调整,对于新格式的报告册,开始学生对各个实践条目的填写要求理解得不是很透彻,比如实践功能与实践目的,其实这二者间的区别本很细微,怎么能够给他们充分理解,就项目二——烟花制作出发,我具体地细化每个条目的填写,还将学生中优秀的报告展示给大家,从中得到些许启示后,后面的填写反馈,我感觉到大家都有进步,不管是内容还是步骤、总结,述说着自己的切身实践所获与体会。在严厉的质量控制下,学生漏交情况几乎没有了,都能在规定时间内准时提交。
项目中最开始出现的个别抄袭现象,是最令人头痛的,杜绝这种现象真的做不到滴水不漏,想要学生接受老师的监督,我们只能尽全力引导学生,让他发觉自己独立完成具有个性化的作品是更具成就感的一件事,更能得到老师及同学的肯定。渐渐地,从作业中发现网上抄袭及互拷现象都销声匿迹了。
课后辅导的多元化:
课堂上现场指导答疑,或者利用辅导时间在办公室或网上答疑,采用师答生问,它能弥补课堂教学中的遗漏,达到我们培养综合实践型人才的目标。随着项目的深入学习,越往后,学生前面的知识易遗忘,我们就得把握好:某些操作性知识点,在以后的项目中穿插反复指导操练以得到巩固和熟练。
教学感悟
整个学期的C实践教学即将结束,还记得刚开学时心里作好的拿下这门课程教学就要吃尽苦头的准备,一路走过来!心里有苦也欣慰,确实相较上期的基础实践,老师付出得要多很多,特别是辅导答疑这块工作量增在,学生迸发出的问题千奇百怪,缜密细致检查是手段!跟学生一路过来。发现自身提高了不少,不仅是教学上还是对本门课程的知识理解上,它们都在日常教学中渗透给我,收获颇丰!相信我的学生也是!
第三篇:《C语言》教学设计
《C语言》教学设计
一、教学设计
本课程的教学设计是根据软件人才的培养目标,突出创新型、应用型人才的培养方案而设计的,实行“基础知识+基本技能+项目实践+技术延伸”的教学理念。
基础知识是指涵盖该课程的主要知识点;基本技能是指通过实验案例来训练学生的基本项目开发技能,巩固提高学生对基本知识点的理解;项目实践是指通过项目形式,训练学生的综合能力;技术延伸则是指涵盖相关领域的最新技术发展,属于不断更新的动态模块。
根据本课程的教学设计我们精选C程序设计课程的教学内容,精心设计教学案例和课堂讨论题目,实验类型和实验内容,通过特定的教学方法来予以实现。
二、教学方法
C程序设计课程主要采取案例教学法和实践教学法。本课程主讲教师利用业余时间深入大连高新园区、软件园区和软件行业的大中小型企业,搜集、整理了大量的教学案例,有效地运用于课堂教学。通过案例教学,增强了C程序设计教学的实务性和应用性,提高了学生运用C程序设计解决实际问题的能力。在多年的教学实践中,总结了多种C程序设计的教学方法和软件人才培养模式,并在计算机教育和电脑知识与技术上发表。具体方法如下:
方法之一:实行“1+3案例教学”的教学方法
“1+3案例教学”的教学方法是指针对每一个难懂的问题或概念,都会找三个案例程序。一个是非常易于理解概念的例子;一个是引起学生兴趣的例子;一个是现实当中非常实用的例子。采用这种方法可以使学生容易理解难懂的计算机程序,又能引起学生的学习兴趣,还能让学生了解企业的实际应用。
方法之二:突出讲授C语言程序设计的普遍性和特殊性
程序设计课程可以分不同层次,C语言只是其中的一种,在这门课的讲授中,要突出程序设计方法的讲解,让学生分清哪些是C语言所特有的,哪些是通用程序设计语言所共有的,这样就可避免讲了一种程序设计语言,再讲一种,既不深入也不透彻。当日后学生根据专业的使用情况及学生的具体状况来选择某种高级语言作为实际操作语言时,学生就具有了学习程序设计语言的能力、扩展的能力,而不是就学C语言而学C语言。但不同的专业对该课程的要求可以有所差异,但不论哪种情况,都不能停留在某种高级语言的介绍,而是要突出讲述程序设计方法,正确地选择算法与数据结构,进行正规的程序设计训练,这样才可深入、透彻的了解程序设计语言的真谛。
方法之三:强调“做中学”的教学模式
“做中学”的教学模式是指在实际的教学过程当中,不是按照从基础理论到专业理论,再到实习的路径来展开教学的,而是把教学顺序完全颠倒过来,先从“做”开始,在做的过程中,以任务驱动方式,通过实例讲授程序设计的基本概念和基本方法,重点放在思路上。学生如遇到问题,再以此问题为基点去学习专业理论。这样做不仅有利于学生实践能力的培养,同时也有助于学生自主学习能力和兴趣的提高。
方法之四:采取粗讲和细讲的方法,缓解课程内容多和学时相对少的矛盾
高校计算机教学的特点是:知识更新快,内容范围广,应用要求高。由此带来的问题之一就是课时的相对减少。在实际教学工作中,我体会到,要缓解课程内容多和学时相对少的矛盾,就是要将“粗讲”和“细讲”结合起来,例如,在《C语言程序设计》课的教学中,前面的几章主要是常量、变量、数据类型、运算符和表达式等一系列规则性、语言的语法要求很强且很琐碎的内容,如果一开始就按部就班地一条条给学生讲解这些规则,常常使学生产生“只见树木,不见森林”、茫然不知所措的感觉。所以应该先通过一个简单的C程序实例“细讲”为什么要制定这些规则,使学生清楚这些规则在程序中的用途,然后对于这些规则“是什么”就可有代表性的“粗讲”,甚至有些部分可以不讲,让学生边用边学。
方法之五:突出重点,鼓励和引导探索式学习
《C语言程序设计》这门课授课的原则是要让学生先抓重点而后才是细节,重点放在思路、算法、编程构思和程序实现上。语句只是表达工具,讲一些最主要的,细枝末节的东西根本不讲,让学生自学,动手上机练,计算机是实践性极强的学科,所学的内容和要实践的东西是一个整体,所以学生可以自己动手来学,书上看不懂的在机器上动手试试,往往就弄懂了,因此很多东西完全是可以自学的。教师应引导学生在解题编程的实践中探索其中带规律性的认识,将感性认识升华到理性高度,只有这样,学生才能举一反三。在这一过程中教师起着很大的引导作用,要求学生在课堂上积极思考,尽量当堂学懂,突出上机训练,在编写程序的过程中,使学生提高利用计算机这个智力工具来分析问题和解决问题的能力。
方法之六:选择合适的数据结构,设计满足限定条件的最优算法在C语言程序设计中,用设计程序解决问题时除了认真分析问题之外,最重要的是选择合适的数据结构,并设计满足限制条件的算法或选择最优的算法。因此,要求学生要熟练掌握各种常见的数据结构,深刻理解某些经典算法的原理和时间、空间复杂度,掌握算法设计的一般步骤。
方法之七:养成良好的编程习惯
让学生养成良好的编程习惯是十分重要的。我们在与国内一些软件公司的技术人员座谈时了解到,中国软件之所以上不去的原因之一就有“习惯问题”。印度十个人编程,会编出一样的东西,而我们十个人编程会有十种风格。因为我们忽略了一个重要问题是“顾客”的感受,因为程序的编写是给别人看的,而不是只给我们自己看的,这样才更符合软件规范的要求。鉴于此,在课堂上我们非常注意让学生养成良好的编程习惯,如:强调程序的可读性、规范性;变量必须加注释;程序构思要有说明;学会如何调试程序;尽量使程序优化;还要求对程序的运行结果做正确与否的判断与分析等。
方法之八:强化实践教学模式
对程序设计教学模式进行改革,以强调动手实践、上机编程为切入点;以任务驱动方式,通过实例讲授程序设计的基本概念和基本方法。重点放在思路上,即:在C/C++语言的环境下,针对问题进行分析,构建数学模型,提出算法并编程实现,同时要求养成良好的编程习惯,在此过程中培养学生的思维能力和动手能力,鼓励学生探索、研究和创新。只有让学生动手,才会有成就感,进而对本课程产生兴趣,学起来效果才比较好。因此,我们的基本思想应该是在理论指导下,让学生动手、动脑更多地上机实践。因为学生只有在编写大量程序之后,才能获得真知灼见,感到运用自如。注重学生动手能力的培养是这门课和以往课程最大的不同之处。
三、教学手段
为了实现本课程确立的教学目标,落实教学内容,改革教学方法,提高教学效率,我们利用课程组教师的优势,应用现代教育技术,长期地进行了教学手段的改革和信息化建设,并取得了很好的成果。
(一)多媒体教学
《C程序设计》课程在我校是最先采用了现代信息技术、应用多媒体技术进行课堂教学的课程之一。本课程组的全体教师早已全部掌握了应用多媒体信息技术进行课堂教学,制作了多媒体课件和多媒体教学案例。通过多媒体教学,突破了传统教学手段的时空限制,节省了大量宝贵时间,增加了课堂教学的信息量,使课堂教学形象化、生动化。随着现代信息技术的不断发展,这些多媒体课件在实际应用中也在不断的修改和完善,其质量不断提高,教学效果也非常好,受到了学生的普遍好评。
(二)网络教学
本课程组较早就开始着手进行网络教学系统的开发建设,目前网上教学资源已经十分丰富,极大地方便了教师与学生之间的交流。在网络平台上,学生可以看到与C程序设计课程相关的所有资料。教师给学生布置作业,学生可以在网上直接作答,教师在网上直接批阅。学生在学习中遇到问题,可以在网上直接向教师请教和讨论。通过课内教学与课外研讨相结合的方式,使教与学有机地融合在一起,有利于学生充分消化和理解教学内容。
(三)实验教学
我们在开展案例教学的同时,积极开展实验教学。通过实验教学,指导学生自己动手完成各项业务操作,使学生验证、理解、巩固了所学的计算机知识;指导学生运用所学的知识,分析和解决实际问题,使知识转化为能力。在验证实验和应用实验的基础上,指导学生进行开拓型训练,使学生拓展了思维,增强了创新能力。
在学时安排上,理论教学与上机实践的学时比例基本为1:1。本课程设置“验证型实验教学+设计型实验+综合型实验教学”的实验教学体系,构建递阶型实践教学模式,验证型实验教学是与理论课同时进行的上机实习;设计型实验是与理论课同时进行的学生自行设计的运用理论学习内容进行实际开发的实验;综合型实验教学是理论课讲授完毕后的集中实训,是综合能力的训练。对程序设计教学模式进行改革,强化实践教学,以强调动手实践、上机编程为切入点,是本门课程的特色。
四、教改举措
(一)精选教学内容,改革课程设计,实行“基础知识+基本技能+项目实践+技术延伸”的教学理念
根据软件人才的培养目标,我们精选C程序设计课程的教学内容,精心设计教学案例和课堂讨论题目,突出创新型、应用型人才的培养。
基础知识涵盖该课程的主要知识点;基本技能则通过实验案例来训练学生的基本项目开发技能,巩固提高学生对基本知识点的理解;项目实践通过项目形式,训练学生的综合能力;技术延伸则涵盖相关领域的最新技术发展,属于不断更新的动态模块。
(二)改革教学方法,实行“1+3案例教学”的教学方法
摒弃了过去传统的灌输式教学方式,采用灵活案例式教学方法和实践教学方法。尤其是采用实用、有效的“1+3案例教学”的教学方法。即针对每一个难懂的问题或概念,都会找三个案例程序。一个是非常易于理解概念的例子;一个是引起学生兴趣的例子;一个是现实当中非常实用的例子。采用这种方法可以使学生容易理解难懂的计算机程序,又能引起学生的学习兴趣,还能让学生了解企业的实际应用,提高了学生的实践能力。
(三)改革作业形式
布置的作业题侧重于应用性,训练学生应用能力。在作业的布置和批改上,均通过网上进行。
(四)改革实验形式
为强调“以学生为中心”的实验教学模式,自主开发了“C 程序设计网络化实验教学平台”。
(五)改革考试形式
为辅助教师加强对学生实践环节的考核,自主开发了“C 程序设计网络化考试软件”,以保证实验教学的质量。
(六)改革教学模式,强调“做中学”
“做中学”的教学模式是指在实际的教学过程当中,不是按照从基础理论到专业理论,再到实习的路径来展开教学的,而是把教学顺序完全颠倒过来,先从“做”开始,在做的过程中,以任务驱动方式,通过实例讲授程序设计的基本概念和基本方法,重点放在思路上。学生如遇到问题,再以此问题为基点去学习专业理论。这样做不仅有利于学生实践能力的培养,同时也有助于学生自主学习能力和兴趣的提高。
第四篇:C语言教学总结
《C语言程序设计》课程教学工作总结
2013至2014学年第二学期我从事了13级计算机科学与技术专业(1)班和(2)班《C语言程序设计》课程的教学工作,该课程分为实践教学和理论教学两个部分。下面就本学期本人的备课情况和这两个班学生理论和实践的学习情况作如下总结:
一、本人教学情况
每节课上课之前,本人都做了充分的准备。
该课程理论部分安排在多媒体教室教学,对于多媒体教室教学,首先,教学课件的质量直接影响着教学效果。在总结以前教学经验的基础上,本学期我制作课件的原则是在囊括所有需要掌握的知识点的情况下,课件的内容尽量简洁,力求做到言简意赅,并将程序的执行流程制作成动态的效果。一方面是避免学生看到大量文字的幻灯片而产生反感情绪,另一方面动态幻灯片不仅能够帮助学生理解同时也能够提高学生的学生兴趣;其次,为了防止学生长时间看着幻灯片听课而走神的情况,在教学中尽量引导学生互动,引导学生思考、回答问题、动笔解决问题、上黑板等;
实践教学安排在机房,在机房上课通常会出现两种主要情况。一种是学生无所事事,为了防止这种情况的发生,本人每次实践课之前都布置了充足的实践内容,让学生有事可做;另一种情况是学生层次不同,有些学生因为不会做而无所事事,针对这种情况,每节课布置的实践任务都分为基础和提高两个部分,对于特别需要提醒或提示的内容,实践之前我会进行讲解、分析 并演示,这样就满足了不同层次的学生的学习要求。
二、学生理论学习情况
这两个班都是本科班,但学生的基础和学习能力与想象的存在一定的差距,因此教学中需要根据学生的掌握情况不断调整。学生在理论学习的时候,由于C语言这门课是程序设计的第一门课,也是专业课的起点,新知识点较多,再加上由于课时的限制,学习进度较快,所以学生掌握起来有点吃力。其中一班学生纪律方面松散一些,上课迟到现象比较严重,所以学生效果相对于二班来说要差很多。二班学生上课积极性较高,听课也比较认真,能够大部分学生,尤其是女生能够积极的和老师互动,学习效果良好。
三、学生实践学习情况
该课程开始安排的机房由于机器陈旧和机器数量的限制,教学效果受到的一定的影响,但很快调整机房后,教学条件良好,教学效果有了明显的提高。实践教学中,同样二班学生积极性较高,遇到问题能够积极主动的问老师或相互讨论,实验报告完成情况良好,而一班气愤比较沉闷,学生不能够主动的问问题,实验报告相对来说不够认真。
四、意见和建议
该课程每周理论/实践课程的分配情况是3/2,总共学习15周,也就是说理论总共45学时,实践总共30学时。C语言这门课程的学习效果直接影响着后面很多课程的学习,该课程必须要保证良好的教学效果,但我校的学生基础较差,学习主动性不够好,所以个人觉得,针对我校学生的情况,提高教学质量的有效手段就是增加学习时间,所以要想提高该门课程的学习效果,就必须增加课时,将该课程上透。另外,我认为当前我系学生的学习任务过重,大部分班级的学生周课时都达到25节以上,对于课堂上的内容,课后学生基本没有消化的时间,所以建议根据应用型本科的教学特点,对于一些不必要的课程直接砍掉,将时间留给一些重要课程,同时也可以降低学生的周课时,留给学生一些自己主动学习的时间。
第五篇:C语言教学建议
教学建议
第1章 C语言程序设计概述
1.本章学习之前一定要让学生了解课程的任务和特点,强化学生的直接学习动机,使学生自觉地训练结构化的程序设计能力,并着手养成边学边做的习惯。
2.相关链接的内容根据学生特征灵活掌握,删除后不影响后续内容的教学。特别是关于补码的内容,学生若不能理解不必强求,以后涉及到补码也可不作介绍。
3.数据存储的概念在后续内容的教学中非常重要,也比较难以理解。这里只是顺便提出几个概念。这里的地址也可以用电话号码作比喻。
4.介绍机器语言和汇编语言的目的是让学生更好地理解c程序的运行过程。
5.C语言的特点和程序构成应结合程序实例讲解,且C语言的特点需要在长时间内逐步体会,不必讲得过细。
6.C程序的执行过程的熟悉,需要让学生亲自编码写一段程序。
7.“基本训练”是在教师的指导下由学生在课内完成的,是课堂教学的一个重要组成部分,这是一种师生互动的教学过程,譬如:在数制之间的转换就是在教士的指导下有学生自主完成的,教师对学生提供的帮助信息是根据现场需要而确定的。“习题”是学生在课外自主或合作完成的。建议此课程实施时开放网络机房,并尽可能为学生提供学习需要的教学资源。条件具备时,可在校园网上建立合作学习的平台。
8.在下章开始之前,要为学生布置于习任务,这是培养学生自主学习能力的一个重要手段。
9.鼓励学生参加一些学习社区,经常浏览C语言程序设计的一些相关网站。第2章 顺序结构程序设计
1.本章在结构上与原有的教材有很大的不同,主要是采用了“任务驱动”的思想。在“2.2数据”一节,集中囊括了基本数据类型、常量与变量、运算符等重要概念。对这些概念目前只要求掌握到“必需”的程度,在以后的程序设计中再逐步加深理解。尤其是不能让学生一开始就记忆大量的“规定”。比较和逻辑运算放在了分支程序设计中。
2.本书的例题、习题都是经过精心设计的,是作者“著作”的成分。[例2-3]就是通过实例来分析和体会自加、自减运算符的运用。教师应该在课前对这些例题、习题作详细分析,体会之中的用意。必要时应亲自调试一下。
3.对格式输入输出的学习,一开始也尽可能简单一些,以保证学生便正常编写、运行程序为宜。当遇到相应问题时,可返回来查阅本节内容。
4.对初学者来说,理解顺序程序结构是理解程序结构的基础。2.5节是作者对顺序程序设计所做的一点总结。这只是一种尝试。恳切希望广大同仁共同完善这一部分内容。
5. 2.6节介绍了三段程序,目的是将学生引入程序设计的大门。学完这部分内容以后,学生就可以着手编写一些解决实际问题的程序了。学习本章时,学生对开发环境尚不熟悉,遇到的问题较多,因此,应酌情增加上机时间。
6.本章习题的第5题有两个目的:一是激发学生学习程序设计的兴趣;二是使学生学习使用C语言中的库函数,因为大量的库函数不可能都由教师讲解。下一章还要用到这些内容。第三章 分支程序设计
1.分支程序使计算机有了判断的功能。本章应该使学生练就分支程序编写的基本功,熟悉分支程序设计遇到中的一些特定问题,譬如:逻辑判断的顺序等。
2.由于传统流程图更为直观,而且已被应用到其它领域(如教学设计),因此,本书主要采用传统流程图,对N-S图仅作简单介绍。建议学生学会绘制传统流程图,学会识读N-S图。
3.学会逻辑表达式的运用是编写分支程序的关键。建议在此方面多做训练。同时应注意,逻辑表达式过于复杂会影响程序的可读性,要让学生体会程序质量的要求,学会在程序的简洁性和易读性上加以平衡。通过[例3-4]可以很好地体会这个问题。总的原则是,手段是为程序设计者带来方便的,而不能让程序设计者为手段所累。
4.条件运算符是C语言简洁风格的典型体现,应该让学生多体会一下。使用if完全可以替代条件运算,因此,条件运算的作用常常被忽视,有些教材甚至认为条件运算中不能使用格式输出函数,而事实上条件运算的功能是非常强大的。
5.在“3.1.5 if的嵌套”中,作者尝试着对嵌套情况和常犯的错误进行了归纳。授课中教师也可以根据自己的经验重新归纳,或者以“试误”的方式让学生体会这些问题。
6.61页 “基本训练”中的第2题,看似一个非常简单的问题,但事实上多数学生很难在短时内编写出正确程序。教师可以让学生在课内编写出程序雏形,在课后完成程序。
7.“3.2 switch”逻辑上比较简明,重要的是通过练习使学生熟悉相关的规定,避免出现语法错误。恰当地设计“条件”也是一个关键。
8.[例3-11]出现了while 结构,起着“毛毛雨”的作用。但不要因此使学生形成理解上的障碍,千万不要过多地介绍循环结构及执行过程。
9.如果学生能够顺利完成65页的“基本训练”,就基本掌握了switch结构的运用。
10. “3.3典型程序举例”起着引路的作用,目的是引导学生发现更多的相关问题,并尝试编程解决。[例3-13]中,使用条件运算表达式可能会更简明一些。
11. 课后作业应特别强调有学生提出问题。发现问题是主动的,与解决教师提出的问题有着质的区别。第4章 循环结构程序设计
1.循环是学生比较感兴趣的问题,也是训练编程能力的重点。在本章可以综合运用前面几章的知识。建议教师酌情加强训练,必要时增加一些课时。
2.循环控制条件是循环程序中的核心问题,需要通过训练使学生获得相关经验。
3.本章例题较多,目的达到“熟能生巧”之效。多数例题都经过了精心设计,因该让学生仔细体会作者的用意。[例4-3]和 [例4-4]让学生体会变量类型的确定,此时可返回第2章看一下关于数据类型的规定; [例4-5]与 [例4-6]、[例4-7]中的两段程序,通过对比的方法使学生了解程序设计的灵活性和创造性,要让学生在程序设计中体会到美的感受([例4-7]中的程序在后面还要用到); [例4-8]的程序非常简明,目的仍然是让学生体会一种方法。
4.第82页和86页上的“基本训练”应该让学生独立完成。
5.[例4-21]和 [例4-22]在繁简上形成的鲜明对比,但目的都是为了领会continue的作用。
6.“4.8典型程序举例”是为了进一步让学生领会“循环问题”。
7.课后作业酌情布置。最好选择其中的若干题目做一次测验,根据结果做一次小结。若教师能够确定学生已达到前四章的学习目标,也可以不再练习,直接进入下一阶段。
8.到此为止,本课程完成第一个阶段,即基本训练阶段,本阶段的特征是对单个“元件”的认识和使用。下一阶段进入“组装阶段”,即中级训练阶段,基本任务是:(1)将单个数据组合成“构造类型数据”;(2)将单个函数组装成一个完整的程序文件。
9.由于任务的变化,后续内容在学习方法上也有一些改变。教师的讲解所占比重应该加大,课堂基本训练逐步减少。上机实习也应由原来的“小周期”变为“大周期”。教师应提前让学生做好思想准备。第5章 数组与字符串
1.学习数组,让学生领会数组元素的存储是构建数组概念的关键。教师应采用多媒体手段,使学生对数组存储有一个形象化的认识。单靠语言和纸制教材教学效果可能会不理想。
2.为了增强程序的可靠性,书中较少使用a[1]++这样的运算,但在教学中教师应该适当地补充这种知识。
3.一维数组的排序是一个重点内容,掌握典型的排序算法,无论对于数据处理还是工业控制都十分重要。每一位同学应通过训练,熟练地掌握一种算法,对其它算法也就很容易掌握了。
4.[例5-7]是一个典型程序,可以扩展到其它问题。教师在使用中可以整理一些类似的问题。学会编写这类程序,也是对前面几章内容的巩固和提高。
5.二位数组繁而不难。关键是抓住元素存放顺序。对关于二位数组的大部分程序,可以有学生自行阅读。通过基本训练,巩固和检验教学效果。
6.字符数组的处理难度不大,但很重要。重点是由学生体会字符数组处理的特点,通过与数值数组处理的对比,掌握字符数组处理的规律。“5.4.4 字符串处理的标准函数”只需理解,不需强化记忆,应在实例中加深理解和记忆。
7.建议学生在课外完成程序的编辑和调试,课内只解决难度较大的调试问题。在调试过程,学生可以结组讨论。
8.习题中的最后一题已经涉及到下一章的内容,这种作业并不是真的让学生“完成”,而是让学生发现和思考相关的问题。第六章 函数
1.这一章是一个关键的章节。前面各章看到的是“树木”,本章看到的是“森林”;前面各章是“零件加工”,本章是“组装”。学完这一章,学生的程序设计能力将上一个新的台阶。教师在讲解这一章时,应引导学生提高站位,而不要只看到一些细枝末节。这里可能有一个思维习惯的问题。如果说在其它章节同学们是一个冲锋陷阵的战士,那么,在本章将为成一名指挥大兵团作战的将军。整体的协调是本章的主要任务。
2.如何处理“结构化程序设计”与“面向对象的程序设计”之间的关系,是一个非常值得探讨的课题。作者曾就此问题咨询过爱尔兰都柏林工业大学的计算机教学专家,他们也认为这是一个很有趣的问题,可以谈上三天三夜。我的意见是,让学生掌握结构化程序设计的思想和方法是有必要的,面向对象的程序设计是以结构化程序设计思想为基础的。当然,对于职业院校的学生来说,将来要做一名高级软件蓝领,可能仅有面向对象的程序设计能力也可以工作。但是,随着职业成长,软件蓝领也可能成为系统分析师,掌握结构化思想就非常必要了。况且,在控制领域,一些结构化的c语言仍在应用。
3.学习本章内容时,可以有2—3名学生组成一个小组,分别编写主函数和子函数。目的有两个:一是让学生体会函数之间参数传递级变量使用的规律;二是培养职业活动中所需要的合作能力。
第7章 编译预处理
编译预处理命令在前面几章已在使用。这一张介绍了宏定义的一些技巧和注意事项,属于较高层次的应用。条件编译命令仅作了解即可,千万不要在此纠缠不清。
第8章 指针
指针运算将数据运算深入到了系统内部,要求学生了解一些硬件知识。一些非计算机专业学生感到学习指针很难,原因就在这里。计算机专业的学生如果在入学初期阶段学习者们课程,同样也存在这个问题。建议教师多使用形象化的比喻,以“黑箱法”讲授。
本章只是介绍指针的基本概念。下一章才涉及到指针的实际应用。学习指针的目的是为了方便操作,对于某些感到暂时难以应用的部分可以暂时删去。
第9章 结构体和共用体
学习本章后,同学们才算真正了解了C语言的数据结构。建议在熟悉结构体的基础上,在对比学习共用体,而不要已开始就将二者对比学习。
用指针处理结构体,是指针的一个重要功能。指针与结构体的结合,才是C语言的精华所在。掌握了这部分内容,在学习复杂数据结构就不难了。
第10章 文件
文件是程序设计中的一个重要概念。应通过综合性实践是同学们掌握文件的操作,通过使用文件牢固树立文件的概念。
要求学生了解文件的概念,让同学知道一个C文件是一个“流式文件”,并不是由记录组成的,为以后学习其它语言文件做奠定基础;
掌握文件的基本操作函数;
宜采用计算机大屏幕投影等先进的教学设备和电子教案、多媒体课件教学。
第11章 位运算
a)本章是C语言的一个特色,也是一个相对独立的单元,这也是将这一章放在最后的原因。
b)学习本章需要有一定的数字电路基础知识。如果学生不了解这方面的知识,教师应加以适当补充。千万不要紧学习“C语言”之中的操作,而不了解这些操作的意义。教师至少让学生了解位运算的用途,在这里留下一个“接口”。
第12章 综合实例
本章要求学生独立设计一个程序。“12.2程序示例”不同于前面章节中的例题,他不是直接供学生使用的程序,而仅仅是一个参考。同学们完全可以设计出不同的程序,即便是不能完全调试成功,这个训练过程仍然是十分重要的。