1根据学生特点,在教学过程中多种教学方法并用
第一堂课后,我们会针对学生的特点,并参照专业特性,多种教学方法并用,进一步提高学生学习热情及课堂教学质量。1.1案例教学法我们选用教务管理系统中的学生成绩管理部分作为案例,以便让学生在理解项目功能及开发过程中不出现盲点,且有机会提出建议并实现。通过这样的方式,改变了传统教学中理论与实践脱节的局面。每一阶段教学中都呈现一段相对完整的程序,前一阶段的结果成为下一阶段教学的基础,下一阶段的工作又对前一阶段的成果进行改进和完善。学生也在知识点的反复使用中不断加深对基础理论的理解,并借助案例和技能训练,逐步学会思考,有效提升问题求解能力、动手能力及团队协作精神。1.2问题教学法由于学生的整体知识架构不稳固,我们创建问题时既要考虑巩固已学知识点,又要尝试通过学生解决问题时在认知上的冲突,来激发他们的学习兴趣,并主动进行探索求解。比如我们在探讨“条件语句表达式”时,创建了如下程序:#include<stdio.h>main(){inta=0,x=35;printf("条件判断之前x的值为:%d\n",x);if(!a)x=3;elsex=4;printf("条件判断之后x的值为:%d\n",x);}大多学生的答案是:条件判断之前x值为35,之后x值为4。而正确结果是:条件语句之前x值为35,之后x值为3。答案完全出乎学生的意料。这种“冲击”让学生的学习欲望高涨,他们会主动向教师阐述对已学知识点的理解及得出答案的理由,并请求教师共同分析原因,为教师的知识讲述埋下了绝佳伏笔。学生也在解决问题的过程中,不断巩固知识点、领会计算思维方式并运用所学解决问题,最终完成自我构建知识的过程。1.3类比式教学指针是C语言中的一个重要概念。因为涉及内存的动态分配,加之经常与链表等动态数据结构搭配使用,其强大灵活的数据操纵方式一直让学生望而生畏。通过实际教学,我们发现在讲解存储单元、存储单元地址及存储单元内容等基本概念时运用类比法效果较好——学生宿舍恰似一个个存储单元,宿舍号就是存储单元的地址,宿舍里的学生就是存储单元的内容。当我们要找到某位学生时,只要知道他(她)所在的宿舍号即可。相应的,要使用存储单元中的数据就必须知道存储单元的地址,只不过指针地址用了一个变量存放,这个变量即指针变量。通过类比,将抽象的问题具体化,学生在理解指针即地址时更容易。在此基础上,可以进一步对比指针类型和一般数据类型的特性,让学生发现指针操纵简单变量的用处,更好地理解指针如何处理多字节变量等内容。1.4启发式教学教学过程中根据教学任务和学生的实际情况,适当采用启发法,能调动学生的学习积极性和主动性。比如,我们会利用求1+2+3+…+100的值来讲解程序循环结构。这是一个循环累加问题,每次循环累加一个递增的自然数,经过100次循环后,得到这个数列之和。我们会让学生思考后再表述他们的想法,自然引出课堂的知识点——循环和嵌套循环,然后让学生根据知识点,确定循环条件(i<=100),循环体(sum+=i)及循环增量(i++),并尝试用while循环、dowhile循环和for循环分别写出程序,以区分异同及各自优势。在此基础上,通过求表达式1+3+5+…+99的值,提示学生注意由于步长值的变换,程序中循环增量就由i++变成了i+2。继续增加难度,让学生发现在求表达式l-2+3-4+…-100的值时,数列的相加项呈加减交替,在相加项中增加变量t即可解决符号变换的问题。增设的t项初始值为1,相加项表示成t*i,i仍是一个递增序列,循环一次后t=-t,循环体也就相应变成了sum+=t*i。这样由浅入深的引导让学生比较容易理解问题,并产生一定兴趣。很多时候,他们会主动要求进一步增加难度。我们也会将类似求表达式1!+2!+3!+…+100!的值,或是求表达式1+1/3+(1*2)/(3*5)+(1*2*3)/(3*5*7)+…+(1*2*3*…*n)/(3*5*7*…*(2*n+1))的值这类题目抛给大家。不仅活跃了课堂气氛,也使得一题多解多问,达到从点到面启发学生主动思考,逐步从“授人以鱼”到“授人以渔”的教学转变。
2课外延伸展望
对初学者而言,理解程序设计的思想和能动手编程是两码事。在编程中他们不可避免地会遇到很多的困难,如果得不到及时的帮助,一定会影响学习的信心和兴趣。我们在保留传统的师生面对面答疑基础上,又增加了网络在线答疑方式,集课堂、实验、网络教学于一体,拓展“教”与“学”的空间和时间。并尝试筹建学生俱乐部,由学生自行组织、管理,主要是针对各级赛事、科技创新和应用性软件项目开发,教师仅仅提供稍许业余指导,真正实现学生的主体作用。
3结束语
“C语言程序设计”课程的理论性和实践性要求较高,在实际的教学过程中必须针对学生的层次,结合专业的需求,充分选用各种有效的教学方法调动学生的学习积极性,提高自觉能力,使学生真正地成为课堂内外的“主体”,教师则辅以“主导”角色最大程度地提高教学质量。课题组在C语言课程的教学实践中注重了学生心理的把握,并针对不同知识点采用相宜的教学方法,收效良好,具体表现:①教学有的放矢,学生自信增加。针对三本学生的具体情况,我们设立的课程目标是:让每个学生都听得懂,愿意听,并逐渐进行自觉思考。教学中,我们充分考虑学生在理解知识点中可能出现的问题,利用多种教学方法从他们能理解的角度着手讲解、引导,使学生逐步加深对C语言的认知。课题实践后,我院C语言程序设计课程的逃课率急剧下降,并激发了部分学生学习程序设计的兴趣和创造性。②突出重点,提高效率。尽管我院C语言程序设计的教学课时在逐年递减,课程中还不断增加一些关于C++面向对象的内容,由于把握了C语言教学中重点,并与学生有效沟通,使得课程通过率并不低于过往。③学生综合应用能力整体提升。由于学生对C语言特性的理解及应用方法掌握较好,实验课时能较为准确地发现编程中的常见错误,并对程序调试有了一定的想法,团队协作能力也进一步增强。
作者:罗恺韵 朱成彪 吕远方 单位:湖南文理学院芙蓉学院