计算机课程实验设计论文

计算机课程实验设计论文

1规范编写程序工作意识

在学校,计算机课程实验是学生积累编程经验的主要途径,以软件工程为准则,建立学生的工程意识尤为重要。计算机专业都开设了软件工程的课程,在软件的开发周期中,软件编码其实占用了整个开发周期的1/3的时间,那么,剩余的2/3的时间主要用于软件的需求分析、详细设计,以及测试。需求分析以及详细设计占整个开发周期的大部分时间。在计算机课程实验中经常看到这样一个场景:学生两手空空,或者带一本C语言,C++语言书籍进入实验大楼,开始实验时,端座在计算机旁边,拿着实验题目,直接进行编码….编码完成后,点击运行。经常发现,无论实验程序题目多么简单或者复杂,学生编写程序只有一个函数;编写的程序代码经常出现大量的逻辑冗余;编写的程序结果基本上都不能顺利完成,出现结果异常。从学生的代码中可见一斑,摒弃其编码规范。从这些侧面现象可以看出,学生的代码是不够严谨的,或者是没有通过认真的设计与思考的,试想也这样的态度去编写程序,怎么可能出现“软件人才”。计算机程序是一个系统的逻辑组合。程序要求逻辑的严谨,而严谨的逻辑不是在实验中“临了时抱佛脚”产生的。这样走完一堂课,与没有“上课”没有多大的区别。课程实验实践过程中,应该遵循软件工程原则,在学生拿到课程实验之前,应该要求学生对所涉及到的实验题目进行相应的设计。设计的内容按照软件开发体系结构,首先对系统框架进行设计,对程序进行模块化分割;其次对其进行类结构设计,在类结构设计中可以绘制UML图,数据流向进行设计;最后,是实验算法的选择以及比较。并且这些设计内容应该以文档的形式展现出来,以此来指导实验设计。无规矩不成方圆。软件课程实验必须遵守软件工程原则。让学生统一思想,应该将实验内容的需求分析,以及详细设计作为课程设计的主要组成部分,方才能有效地解决问题。以软件工程为准则,规范学生编写程序工作意识。

2建立专业的程序编写习惯

程序是逻辑的组合,其本质是代表人的逻辑模型思想。如何让计算机读懂我们的思想,在学习中最直接的方法就是编码,通过程序编码、编译、连接后成为计算机能够进行逻辑运行的指令,利用计算机的快速反应,较高的存储效率,完成某个逻辑模型的解答。逻辑是解决问题的方法,那么,让学生编写出,清晰明了、简洁高效的代码,让其表现出业务逻辑思想,是高校教师应该考虑的教学问题。下面两组代码:要求用for循环实现,如果用户输入数据为100,返回100以内所以正整数之和,否则返回用户的输入数据。在计算机实验过程中,需要编写编码规约,让学生遵守编码规则,让其通过在编码规约中去体会代码编写的要点。在掌握计算机语言的同时,编写出简洁、干净的代码程序。因为编写程序也是一门艺术。虽然在开始实施有些困难,但是千里之行,始于足下,万丈高楼起于累土,只有通过规范性的程序编码,才能出现干净、简洁的程序代码,以此来提升学生的实践动手能力,也可以通过代码规范,来规避一些在编写程序中出现的技术问题,比如C++程序中,由于编程者用new申请对象,而不用delete释放内存的计算机资源管理问题。在计算机实验教学中,通过建立规范程序编写规约,帮助学生建立专业的程序编写习惯,是提升学生掌握计算机语言的有效途径。

3化自身专业素质

软件程序是逻辑思想的集合。逻辑思想的冗余会直接影响到程序运行的效率。比如数据存储冗余,影响运行速度。对于学生而言,在上学期间,还无法接触到对海量数据的处理。在计算机课程实验中,经常编写的程序只有10几行。处理的数据量最多也是在kb的数量级上。所以当学生编写完应用程序后,基本上不考虑程序的运行效率,因为无论用什么逻辑算法,处理结果都基本相同,计算机都会在2s内完成逻辑运算。这就麻痹了学生对程序逻辑运行性能的认识,从而对程序逻辑算法无法拥有一个清楚的认知能力。这就出现了为什么软件程序员多,但是高级软件人才匮乏的原因之所在。纵观程序处理,抽象其本质,主要为排序、查找、存储,相关业务的数学运算。这些都是课堂教学的基础,而这些往往也是我们学生容易忽略的地方。为何会忽略?因为他们在校学习期间,缺乏实际工作的实践,缺乏对基础知识的认识,重视度不够高,最后参加工作后,往往做不到“信手拈来”。对于某些行业,对程序的性能要求比较高,在这样的业务下,可能会要求学生重构哈希表、堆存储等算法,才能够解决业务上的性能要求。计算机实验是对课堂知识的实践,所以在实验课程设计中,应该突出基础知识的差异性,以及其在工作中的实践性。能够结合实践让学生对课题知识拥有一个清楚的认识。比如在学习完成数据排序后,学习了冒泡排序、二分排序、快速排序等排序逻辑。针对上述内容的课程实验,通过实验是让学生能够掌握上述算法思想,在课程实验中让学生实践课堂上所学的专业知识,编写相关算法程序,帮助学生强化自身专业素质。在课程实验中,经常会看到这样的一个题目“教师给予学生100以内的20个随机数,让学生分别应用冒泡排序,二分排序依据快速排序对其进行数据排序"。这样的实验内容无可厚非,让学生进行编程实践掌握上述排序算法。但是这样就会出现一个问题,哪就是无论是选择用什么排序方法,计算机完成排序后所用的时间基本相同,完全无法体现出各种算法的优越性。课程实验设计应该结合实践工作,教师在计算机课程实验的实践过程中,可以结合对外软件企业,抽取部分相关业务,让学生进行课题练习。就以上述排序为例。以1G的企业财务文本文件数据,让学生对其中的某一财务数据为依托,让其对文本文件内的数据进行数据排序,并且输出前200位数据,输出到另外的文件中。至于排序的算法,由学生自己选择。大多数的学生在看到该题目后,在上机实验中,大多数都选择了冒泡排序算法,实现对该文本的排序,结果可想而知,由于数据量大,等学生完成了排序过程,启动运行后,20分钟内,都无法完成排序。而有的同学选择了快速排序算法,3分钟内,完成了该排序事务。显然对于学生而言,这样的课程实验才是有效的,通过这样的实验,才能够让学生体会到逻辑的本质,对各种算法拥有清楚的认识。通过计算机课程实验教学,提升学生的专业素养。

4结语

提升学生的程序语言认识是一个循序渐进的过程。计算机课程实验教学主要注重学生动手实践。需从作业准则、编码规范,以及逻辑算法出发,规范化实验教学,通过专业化的知识培养与实践,方可提升计算机课程实验教学品质,提升计算机课程教学水平。

作者:董芳 单位:集宁师范学院计算机系