“高级语言程序设计”课程实验教学改革与实践

时间:2022-05-21 16:24:01 来源:网友投稿

摘要:针对现阶段“高级语言程序设计”实验课程存在学生学习兴趣不高、实验案例设计不合理等问题,本文提出了应编写适合学生的实验指导书,并通过明确上机实验的目的、强化教师在整个实验课中的引导作用、包装具有实时性、时代感的案例提高学生实验兴趣,阐述如何开发趣味性、综合性的教学实验案例,以及如何改革课程考核方式等观点。

关键词:高级语言程序设计;实验教学;教学改革

引言

“高级语言程序设计”课程是计算机及相关专业非常重要的一门专业基础课,是大学一年级学生的第一门专业课程,同时它也是后续专业课程的基础。“高级语言程序设计”课程开发语言通常选用C语言,但由于C语言的数据类型较多、表达式丰富、语法结构较复杂,使它成为一门教师难教、学生难学的课程。[1]同时,“高级语言程序设计”课程的实践操作性非常强,需要大量的上机实验才能掌握。上机实验课程中学生不仅需要运行以及验证程序,还需要充分理解程序设计的方法、理念以及编程技巧。[2]因此,教师要教好这门课程,不仅需重视课堂理论教学,还需要加强实验环节,学生只有在上机实验课程中才能真正学会如何编写程序和调试程序,也只有通过上机实践才能更好地掌握“高级语言程序设计”课程的理论知识。

现阶段“高级语言程序设计”实验课程存在的问题

1.学生的学习积极性不高

大学一年级学生刚刚接触到C语言,就要面对相对枯燥的一行行程序,主观上容易产生畏惧情绪。再加上C语言的语法比较抽象,对计算思维要求较高,并且C语言又不像其他编程语言一样能够简单实现美观的界面,学生设计的程序也只有简单的输入输出,看起来不像学生生活中用的各类软件,所以学生普遍反映,“高级语言程序设计”课程难学,实用性不强,导致较多学生在学习中没有积极性和兴趣。[3]此外,上实验课前学生也没有做好充分的实验预习,从而导致在上实验课时,有的学生坐在计算机前没有编程的主动性,有的学生只是将教材上的程序输入到计算机中,其实并不知道程序中用到哪些理论知识,更不知道实现程序的算法如何设计,一旦编写的程序出现错误或操作失误,只知道问老师哪里有错,并不知道如何修改程序错误,甚至有部分学生上机只是去抄袭或者拷贝别的同学的程序,最后实验报告也是欺骗老师应付了事。

2.课堂教学中没有突出语言课程本身的特点

笔者所在的学校在“高级语言程序课程”的教学中已更换过多本教材,但大多数C语言教材的重点都是放在介绍语法上,对算法的设计应用介绍相对较少,大部分只用了很少的章节来分析,因此学生在实验课上机编程时无法形成软件工程的概念,使其在编程时只能够理解理论知识,而不知道使用理论知识解决实际问题。

3.案例设计不合理

笔者在“高级语言程序课程”实验教学过程中使用案例教学法,案例贯穿整个实验教与学的过程。然而,目前实验课程选择的案例并不十分合理,主要有以下几个问题:①实验课程时间有限,选择的案例难以覆盖理论课程的全部知识点,针对性也不够强;②并没有针对不同教学阶段的教学要求,选择、设计合适的实验案例;③案例设计缺乏趣味性,难以激发学生的学习兴趣;④设计的案例相互之间缺乏联系,欠缺可拓展的空间,更没有可思考和挖掘的空间,缺乏时代感无法吸引学生课后思考,不利于培养学生的独立思考问题的能力和创新思维。

4.实践教学环节重视不够

目前,对“高级语言程序设计”课程的考核方式通常采用笔试的形式,上机考试所占比例不够或者不进行上机考试。这种考核模式使得学生主观上认为实验课不重要,课后也不会主动地去编写程序,也就导致对程序编译运行过程中遇到一些常见问题的处理、编译等功能应用检测的理解与应用就不会到位。

5.缺少师生课后交流平台

目前,大多数院校的“高级语言程序设计”课程都是合堂课,人数较多,教师无论是课上还是课后都难与所有学生一一交流。教师通常只是通过作业、课堂提问了解学生的学习情况,普及面较窄,难于及时接收到学生的想法和学习过程的反馈信息,甚至对学生课后的疑问也不能及时解答。

“高级语言程序设计”实验课程改革与实践

1.编写适合学生的实验指导书

已出版的上机实验教材都附有程序答案,学生在实验课程中容易产生惰性心理,抄袭实验教材上的程序,因此,选用自编实验指导书灵活性更强。教师自编的实验指导书可根据实际教学大纲编写,针对性更强。传统实验教材中的上机实验往往更注重C语言的语言规则,较少体现算法的设计,与软件开发的思路脱节,而自编实验指导书可将重点放在语法,也可将重点放在算法的设计,灵活性更强。传统实验教材没有理解容易、生动有趣的范例,与实际生产生活距离较远,使得学生一看题目就不感兴趣,自编教材可将题目设计得更接近时代、生活,吸引学生注意力。此外,自编的实验指导书采用的都是教师精选的实验题目,能够让每一个题目灵活体现一个或多个知识点,并且这些题目都是教师通过多年教学经验总结出来的最具代表性的题目。

2.提高学生编程的兴趣

爱因斯坦说过,“兴趣是学习最好的老师”,教师应在实验课上加强培养学生上机编程的兴趣。

首先,教师应引导学生明确上机实验的目的。每次理论课后,教师应布置上机课的实验预习内容及上机实验的任务,明确上机实验的案例,并要求学生准备好上机调试所需的数据。这样,学生可以带着任务实验,避免了盲目输入程序,提高了实验效果。

其次,教师在整个实验课中主要起引导的作用,要将大部分上机实验的时间留给学生独立思考解决问题。学生进行实验之前,教师应以讲解重点、难点和注意事项为主,尽量不要面面俱到。学生自己动手发现问题、解决问题,不仅可以发现自己编写的程序中存在的语法、逻辑错误,同时也可以充分地感受到自己分析问题、编写程序解决问题的乐趣。

最后,教师应将案例重新包装,增强案例的实时性、生活感和时代感,从而增强学生解决问题的兴趣。例如,对题目“输入两个数,求它们的最大值”,学生看来索然无味,没有什么兴趣去做。笔者将其包装为:“有一场2012~2013赛季NBA总决赛,对阵双方是东部冠军迈阿密热火和西部冠军圣安东尼奥马刺队,请输入两队比分并输出哪支球队获胜?”学生学习热情高涨,纷纷测试各种情况,更有学生提出“两队比分相同怎么办”这样的问题,可见,若学生对案例感兴趣,学习的积极性也会提高。

3.教学实验案例的开发

教师应把实验教学和学生自身特点结合,开发系列具体的趣味性实验案例。同时,教师应该开发与学生生活相关的综合实验案例,通过综合案例的实践,学生能够了解如何将所学的理论知识应用到现实生活中,如何通过设计软件服务其他行业。通过这种方式,既可以提高教师教与学生学的针对性,又能够调动学生学习的主动积极性,实现理论教学与专业实践的有机融合。教师在设计实验案例时应注意以下几个问题。

首先,实验案例尽量不要采用验证性实验。验证性实验只是简单录入程序查看运行结果,更注重语言规则。学生按教材上规定的程序做实验,整个实验过程是被动的,难以调动学生的主观能动性,实验效果不佳。同时,验证性实验中,学生只知其然,不知其所以然,如出现问题,学生只会照着书上的程序核对是否录入错误,不知道如何使用编译器查看错误,大大降低了学生的学习兴趣。因此,采用验证性实验教学只能使学生产生厌学情绪,难于培养学生的独立思考和创新能力。

其次,应设计阶进式案例,注重案例的延续性。教师应将教案设计成阶梯式,从易到难,让学生逐个台阶实现案例,台阶的跨度尽量不要太大。例如,笔者在引导学生实现“求最大值的案例时”,将其设置成阶进式案例,先让学生用选择结构实现“输入2支NBA球队的比分,谁将获胜”,再让学生用复杂的选择结构实现“输入3支NBA球队的胜率,谁排名第一”,让学生用循环实现“输入30支NBA球队的胜率,谁排名联盟第一”,最后让学生用数组实现“输入30支NBA球队的胜率,谁排名联盟第一”。运用阶进式案例进行教学,学生能够产生浓厚的兴趣,不断地编写、测试和修改优化程序,学生的编程能力和计算思维得到进一步提高。

最后,整个实验课程的案例应从属于一个大的综合性、设计性案例,应将“高级语言程序设计”课程设计的综合案例中的各个功能模块分解到整个学期的实验课程中,用以提高实验的延续性、扩展性。例如,笔者在课程初期将课程设计中的一个题目“NBA信息管理系统”展示给学生,让学生知道“我要做什么”,然后将各个功能模块,如球队排名、球队信息录入等功能,分解到各个章节实现,产生了较好的教学效果。教师设计综合性、设计性案例,能够以实现一款软件作为一项长期任务,再按不同功能模块分解开来,形成每一个知识点的短期任务。在学生学过每一章之后,要求他们复习这些相互联系的模块,以使实验课程具有连贯性。因此,以实验课程的学习过程中,始终都有一个总任务的驱动,学生将获得到一步步迈向成功的喜悦。

4.改革课程考核方式,增加上机考试次数

课程考核是提高及检测教学效果的重要手段。“高级语言程序设计”课程通常采用“期末笔试考核+平日成绩”的方式,平日成绩包含平时理论作业、上机作业、理论测试、上机测试。这种考核方式更加注重理论知识检测,使得学生将关注的重点放到对理论知识的掌握,这样并不利于学生编程能力的提高,更不能有效考查学生软件开发的能力。笔者将考试形式由笔试改为“笔试+上机测试+平日成绩”,在加大上机测试考核分数比重的同时,增加上机测试次数,将3次测试分散到学期的3个阶段,这样可以减少上机测试的偶然性,更公平、更合理地评价学生的学习效果。在这种考核机制下, 学生的编程能力普遍有较大提高,有效地激发了学生的学习热情。

总结

笔者根据多年的一线教学经验,围绕“高级语言程序设计”实验课程改革,进行了探讨。教学实践证明,通过对“高级语言程序设计”实验课程的改革,能有效激发学生学习兴趣,提高教学质量。

参考文献:

[1]刘丹,刘德山.C语言程序设计课程综合性和设计性实验研究[J].计算机教育,2012(09):75-80.

[2]胡香娟.C语言程序设计实验教学方法探讨[J].科技创新与应用,2012(06):266.

[3]陈婷.语言程序设计实验教学改革探究[J].实验技术与管理,2010(27):182-184.

推荐访问:教学改革 实践 高级 课程 实验

版权所有:天海范文网 2010-2024 未经授权禁止复制或建立镜像[天海范文网]所有资源完全免费共享

Powered by 天海范文网 © All Rights Reserved.。鲁ICP备10209932号