第一篇: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语言程序设计》教学与实践
浅谈《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语言不也是由一个一个的函数组成的吗?没想到想汇编这样的低级语言也可以这样。在汇编语言的子程序和宏中,我个人更感觉宏的运用更像我们高级语言的子函数,通过定义好的宏,我们在后面直接调用就可以了。尤其是宏带参数的宏跟C语言中带参数的函数真的很像,根据参数的不同调用宏就能得到不同的结果。而汇编中的子程序没有这个传递参数这个功能。在调用子程序的时候要注意各寄存器中的内容。子程序是在程序执行期间由主程序调用的,它只占有它自身大小的一个空间,他不仅是源程序级别 简化,形成的目标代码较短;而宏调用则是在汇编期间展开的,每调用依次进把宏定义体展开一次,它是源程序级的简化。因而它占有的存储空间与调用次数有关,调用次数越多则占有的存储空间越大。如果宏调用次数较多的话,则其空间上的开销也是应该考虑的因素
汇编程序给人感觉最烦的就是好多程序的结果不能直接通过运行EXE文件显示出来,而更多的是经过DEBUG单步调试才能看到其内在变化,看是否正确。在初次接触汇编的几个汇编工具时,有一种神奇的感觉,因为汇编程序不像其他的高级语言一样需要编译器,而是直接的就能在记事本上编写,然后进行汇编和
连接就可以了。学习汇编调试,关键就是要掌握DEBUG的运用。我们在实际的调试中,最常用的几个命令有:D:显示内存单元的内容。T:单步执行。G:连续单步执行。G:连续单步执行。我们编程也只用过这几个。说到这个DUBUG我就不得不说我之前有一次的经历了。我在最后一次的上级实验的编程中我用到的是AX这种寄存器,我按照我自己的程序认真走了好几遍,找不到一点错误,但程序运行就是不对,我为此郁闷了好久。后来只有一步一步的单步调试。由于是最后一个综合实验,实验比较长,我就一直盯着AX内容的变化,经过我的苦苦等候才找到了错误,就是在DOS功能运用的时候出现了错误。也就是执行下面这条指令Mov ah 02h,int 21h,其实这两条指令中里面还包含好多的微指令,不自己亲自调试一下根本就发现不了问题。正是因为这些微指令对AX寄存器的影响所以才导致了我的错误。于是我就感觉学好汇编步进要把指令学好,还要把DEBUG学好,这样才能少走好多弯路。
学完汇编这门课我也对之前的高级语言中的一些知识有了更新的认识,能够让我们更好的理解高级语言,尤其是高级语言中的C语言,汇编语言对于内存的操作都是基于内存地址的,而C语言中最令人头疼的指针概念,说白了就是内存的地址指针的学习和应用中最头疼的就是在指针这个抽象的概念和实际的内存单元之间建立思维映射,而这些恰恰是我们在汇编语言学习中频繁做的一件平常事另外,对于C语言中的数据类型形参实参函数调用全局变量局部变量等概念及操作,我们都可以用汇编语言中的一些操作相关联,把这些抽象的概念和过程,通过汇编语言形成一个具体的映像,深度剖析,这样我们才能真正的学会学好C语言计算机科学的各个方面是一个统一的整体,只有多方面穿插,交互才能更好的搭建计算机知识体系,汇编语言本身还是一门很重要的应用技术。首先由于汇编的操作由于跟硬件紧密相关,所以,很多硬件设施的嵌入式编程使用的都是使用的汇编语言,因为汇编语言更直接,更有效率!我们现在的数码产品很多,而这些数码产品赖以生存的芯片,主板等,都包含了嵌入式程序,而这些程序中,汇编语言的使用是相当重要的!我想如果我们以后想从事嵌入式这方面的话汇编语言是必备的一种本领。而且我也正是想从事这一方面。我想如果想学好计算机编程技能,如果想做一名合格的编程人员,如果想在计算机编程之路走的更远,我们只有,也必须从汇编语言开始,才能完整、完善的建立计算机编程知识体系!所以对于我自己来说,要以今天的学习为跳板,为今后的汇编语言的继续学习打好基础。愿自己在计算机这条道路上越走越远。
第四篇:C语言程序设计心得
C语言教学心得交流
通过本次教师发展在线的C语程培训中,我受益匪浅,几位教授的精彩演讲,让我找到了自己的不足和日后教学中的改革方向和内容。同时,也让我感觉到了,有今天各位教授的良好教学效果,这其中包含了他们的艰辛、背后的大量付出和无私奉献。
我是一直从事C类语言的教学工作,对C语言的教学已有5年教龄,在这几年的教学过程中,我们也一直在寻找好的教学方法和新的教学理念。通过本次学习,我总结要教好《C语言程序设计》这门课,最基本要把握好以下几个方面:
(一)要重视实践环节,上机调试成绩非常重要。
学习一门语言,就是要按照它的语法来编程。要编程,当然就要上机操作来验证你程序的正确性。所以上机非常重要,通过执行你所写的程序,完成你所写程序的目标,最终达到你的目的。而且通过执行程序,你会发现程序中的错误,从而使你了解你所学知识中的不足,同时,要学会根据编译时提示的错误来改正程序中发生的错误,以便下次不会再犯同样的错误。
(二)基本语法学习虽然枯草乏味,但是它相当于高楼大厦的一砖一瓦,一定要下硬功夫让学生掌握熟练。
C语言的语法部分。这部分内容是学好C语言的基础,只有学好了这些语法,才会写程序,看程序。所以对一个初学者来说,这部分内容是非常重要的,所以要扎实地熟悉每一个语法,并能根据这些语法来编程。
(三)学习要抓住重点,难点部分要多讲、多学、多练。
通过这次学习使得我对C语言的重点,难点,以及易出错的地方把握的更精准了。当然,这只是针对我个人而言。在C语言学习过程,重点就是数组,指针,以及结构体了。难点也是它们了,不过数组和结构体还是挺简单,所以在此主要就指针方面谈谈自己的看法。
下面谈谈通过这次学习,结合我们学校的教学情况,打算对该课程的教学进行如下几个方面的改革:
(一)理论教学内容的组织
C语言的重点知识包括:结构化程序设计方法、流程图的组织、三种程序设计结构、三种基本数据类型和三种自定义数据类型;难点包括:结构程序设计方法、算法的分析、流程图的组织与设计、函数、指针等。
根据知识内容和每年的新学时安排,我们将理论教学内容分为授课内容和自学内容两大模块。
(1)授课内容
C语言的授课内容分为两阶段:①基础准备阶段 这部分内容确保学生“实用、够用”,主要包括三种基本数据类型(只要求掌握常用的int,float,char);三种常用运算符及其表达式(赋值、算术、逻辑(包括关系));三种程序设计结构(顺序、选择、循环)。②实训项目驱动阶段 这部分内容主要是“实训实战”,主要包括数组、函数、指针和结构体。通过第一阶段的学习,学生已经具备了一些程序设计的基础知识,在这一阶段将通过一个实训项目的完成来熟悉主要内容,同时巩固第一阶段的成果。
(2)自学内容
课本中的内容上课没重点介绍或者说就是没提到的,划为自学内容。但这些内容,我们并不是在课堂要求学生回去自学:要求过高,规矩过多,这样效果不佳。而是让学生在实验中发现问题后,带着问题去学习,去找答案。
例:整型 我们只介绍int基本类型,当学生想计算n!时,学生测试5!=120时,他可能会去测试20!、50!,这时,存放阶乘的变量Factorial再定义为int,结果就是0了,这时问题就来了,他就会去寻找正确的处理方法(long int)。
(二)实验教学的安排与设计
教学改革方案确定后,我们对本课程实验教学上从多方面进行了教学更新。我们考虑到学生处于了解计算机语言及编程的初级阶段,有许多最基础的内容有待掌握,所以本课程的实验教学不太适合完全以项目开发的形式进行,注重的是加强模块化实训。
(1)上好第一节实验课
我们常说“上好第一节课”,那么第一节实验节的重要性也不言而喻。这节课对培养学生的学习兴趣、增强学生的学习信心、锻炼学生的自主学习等多方面影响很大。
第一次实验项目是—熟悉Turbo C的运行环境,主要是掌握一些在TC中的一些键盘操作方式。一般是教师给学生提供程序代码(三个),但我们在学生不知情的情况下,给学生两个有语法错误的和一个正确的程序。这样,当学生运行正确的程序时,知道计算机可以帮我们处理问题,原来程序就是这样写的;当学生运行错误的程序,首先他会诧异(老师给的程序原来是错的),于是要求他们自己修改,尤其是有时一个致命错误导致的10多个errors,被学生修改后,没有了errors或所剩无几,这时学生表现的很兴奋、很有成就感,从而加强了本课程的学习兴趣和信心。
(2)分两阶段进行 实验内容与理论教学内容相互应,在基础准备阶段,这方面教学方法上主要是加强操练。通过各种大小程序、多重训练和一个问题的多种解法来加强语法知识点的掌握和训练,开阔学生编程的思路,掌握编程基础。同时,在这过程中我们严格把关,让学生课后认真准备,每次进实验室时,应有写好的完整代码,上机调试,发现问题同时解决问题,要求认真完成实验内容,并在课后书写实验报告。鼓励学生多写程序,要加强实践环节,首先要从量上有个划分。在实训项目驱动阶段。本阶段实训项目的设计非常重要,原则是既要使学生有切入点能够动手又要使各章的内容之间有联系点。
(三)案例教学法
C语言的教学,教师一般受传统应试教育的影响,狠抓理论考试,忽略了程序设计能力的培养,把授课重点放在程序设计语言的基本语法的讲授和掌握上,所选的编程实例大多用于语法规则的验证和说明,仅从程序设计语言的使用这个单一的角度进行教学,而使得大多数学生在学完本课程后,“吃不透、用不活”,表现为学生在程序调试时,对程序中出现的逻辑错误经常不知所措,在开发较大的应用程序时,不知道如何入手。
采用案例教学法,以程序设计为主线,以编程应用为驱动,通过案例和问题引出教材内容,重点讲解程序设计的思想和方法,穿插讲解相关的语言知识。使教学效果既有深度又有广度,学生实际动手能力大为增强。
以上是我个人结合我院C语言程序设计的教学情况,自己总结了几点看法和一些改革措施,拿出来和大家一起分享,请大家多提宝贵意见。通过这次学习,我将会灵活运用几位教授的教学经验,根据我院的教学对象,调整一些上课方法和措施,望能更好的提高教学质量。
第五篇:《C语言程序设计》双语教学的实践与思考
《C语言程序设计》双语教学的实践与思考
摘 要:本文结合《C语言程序设计》两年多的双语教学实践和成果,对双语教学中的教材选取、教学过程的实施、教学方法与手段等进行了探讨与总结。
关键词:专业课程 双语教学 高等教育
一、引言
双语教学(Bilingual Teaching)是用两种语言作为教学媒介语进行教学的活动。一般是指在用母语进行教学的同时,用非母语进行部分或全部非语言学科的教学模式,其最终目标是使学习者能同时使用母语和非母语(一般指英语)进行思维,能在这两种语言之间根据交际对象和工作环境的需要进行自由切换。通过《C语言程序设计》双语教学的一线教学实践,探讨双语教学中的教材选取、教学过程的实施与教学效果,分析了目前双语教学中的若干问题,并提出了解决问题的对策。
二、教材的选择
双语教学强调教学资源的保障,外文原版教材具有语言纯正、内容新颖、表达生动、逻辑性强等特点。《C语言程序设计》这门课的双语教学实践已经进行了两年多,在教材的选择上,根据中文教材的内容和难度为标准选取了相应的教材。使用后发现这本教材全书用示例教学的概念,结合了大量的案例对知识点进行阐述,能够引导学生积极去思考问题。同时该教材的内容与教学大纲比较吻合,基本涵盖了本课程的核心内容,学生反映较好。
三、利用形式多样的教学手段
在前期参阅大量的国内外参考书,并结合这两年的教学实践的基础上,对教学内容进行合理取舍,采用多媒体教学,结合大量的图片、动画、影音素材对晦涩难懂的内容进行形象化展示和讲解。例如,在讲解冒泡排序程序时,采用了动画的形式,同时在网络上下载了“舞动的冒泡排序”的相关视频,不仅丰富了课堂形式,而且使学生获得更多的直观印象,加强了对抽象内容的理解。
《C语言程序设计》是一门实践性很强的课程,不仅在课堂上使用生动形象的多媒体教案,还专门安装了Visual C++6.0英文版软件,授课过程中穿插进行演示。在课堂的编程演示过程中让学生一起经历编写程序的失败和成功,同时让学生养成利用开发工具的帮助系统来和阅读程序编译时候的输出信息来编写程序的习惯。在编写程序的过程中,我会故意编写几条语法错误的语句让学生去解决,如果碰到学生对编译输出的英文形式的错误和警告信息不理解,就和学生一起阅读英文的输出信息,再一起分析错误产生的原因。Visual C++6.0程序开发工具的演示使学生感觉到书本上描述的理论不再是抽象的、空洞的,而是具体的、可以实现的,极大增强了学生的兴趣和自信心。
四、加强实验教学环节
《C语言程序设计》是一门理论与实践相结合,而且更偏重于实践应用的课程。该门课程可以让学生通过大量的实例和实验来弄清楚程序设计的基本理论,进而弄清楚理论的一般性英文表述,获得阅读英文理论书籍的能力。因此,应提高上机实验课的质量,做到精讲多练。其中,精心设计实验教学题目可以取得很好的效果,实验题目在形式上都采用Visual C++6.0的英文程序设计环境。由于是双语授课,学生的接受程度不同于中文授课,可以针对每一个知识点给学生布置一个实验题目,随时检验课堂上的教学效果。在完成基础性实验的前提下,加大设计性、综合性实验要求,学生可以独立完成,也可以通过与其它同学相互借鉴与合作完成实验,从而大大提高了学生的思维能力与动手能力。
五、及时收集反馈信息
双语教学需要不断收集来自学生的反馈信息,以便根据学生的具体情况作出相应调整。反馈信息来自两个方面:一方面,在教学过程中多听取学生对课堂教学效果的反馈信息,及时调整讲课节奏;另一方面,每学期结束前通过问卷调查的形式收集学生对双语教学的一些意见和建议,以便对教学方法进行及时有效的调整。经过两年的双语教学实践,总体教学过程采用:100%英文课件,20%至50%左右的英文讲授,50%英文板书。2013-2014学年第一学期结束后,我在两个双语班级做的一次问卷调查可以对双语教学的效果作为评判。《C语言程序设计》双语课程,以班为单位,按比例随机抽样,用无记名方式进行了当场问卷、当场回答的调查。此次调查共发放问卷96份,回收96份,其中有效问卷90份,有效回收率为93.75%。问卷由笔者设计,共20题,主要调查学生英文水平、本次双语课程教学效果、教学模式、教材和教学内容选择、双语教学定位以及双语学习措施等方面的内容。问卷结果显示,绝大多数同学对这门课程总体是满意的,对于课件86%的同学认为能满足他们的要求,有近75%的同学表示需要经常参考中文教材,有近40%的同学有意愿参加全国二级等级考试,82%的同学认为课堂上30%至50%左右的英文讲授比例是合适的。但仍有20%左右的学生表示在英语基础比较差的情况下,既要克服语言障碍,又要学习专业内容,难度还是相当大的。总体来讲,大多数同学对双语教学还是持肯定的态度,在双语教学方面取得了较为满意的教学效果。
六、结束语
经过两年多的双语教学实践,我感到目前对《C语言程序设计》这门课程实行双语教学还是可行的。不仅大部分参与的学生受益,参与试点的任课教师也在建设新的教学环境的过程中,不断提高自身的教学水平、口语水平和专业英语的阅读能力。双语教学是高等教育改革的重要组成部分,是高校教学方式的一种新的尝试。作为一个新课题,双语教学在实践中仍面临着大量复杂而艰巨的工作,需要我们不断地实践与探索。