APP下载

C程序设计阶段式分层实验教学探究

2018-01-09曹海英元元郝兵

电脑知识与技术 2017年34期
关键词:程序设计分层实验

曹海英+元元+郝兵

摘要:在C语言课程的教学中不仅要让学生掌握C语言语法与程序结构,更重要的是培养学生掌握常用的算法并且能够利用计算机语言设计程序,解决实际问题的能力。实践能力的培养主要依靠实验教学,高校需要重视C语言的实验教学,在开展实验教学时可以依据学生对知识掌握、应用的认知规律,进行分层试验教学。

关键词:程序设计;实验;教学;分层

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2017)34-0128-02

大多数的理工科院系都选择C语言作为程序设计学习的入门课程,因为C语言语法结构简洁精妙,程序代码少,运行效率快且高效,程序设计人员都愿意使用C语言去描述算法,所以想提高利用计算机求解问题的能力,就必须掌握C语言。C语言能够深入系统底层,用C语言可以编写设备驱动程序和操作系统。很多新型的语言都是衍生自C语言,如C++、Java、C#,掌握了C语言,有了C语言的基础,经过简单的学习,就可以用这些新型的语言去开发软件。从上可知C语言在程序设计中占据重要的地位。

1 C程序设计教学内容

C程序设计作为高校的计算机基础核心课程,教学过程中不仅要让学生掌握C语言语法与程序结构;更要通过该门课程的教学让学生掌握一定的程序设计算法与思想,培养学生利用计算机求解问题的能力。提高C语言编程能力必须依靠一个又一个上机实验,不断地“思考——编程—调试—运行—测试—反思”,这就需要保证C语言程序设计课程的实验教学学时。但随着高校教学改革的不断深入,教学课时在不断的缩减,因此需要教师在教学的过程中,不能面面俱到的讲授,而是必须梳理知识脉络,以“理论够用,突出实践”为原则,将课程教学内容进行整合优化,形成教学内容逻辑框架,如图1所示。

2 阶段式分层实验教学

C程序设计课程的实验教学环节在课程教学中具有重要的作用,充分利用有限的实验学时开展高效的实验教学,可以帮助学生理解程序设计的思想,学会运用理论知识编程解决实际问题。按照学生的认知规律和软件工程思想,在实验教学时,可进行阶段式分层实验教学。

2.1 阶段式实验教学

第一阶段:引起求知欲。为了提高学生实践应用能力,需要在有限的学时内组织好实验教学。教学应从诱发和激起求知欲开始,让学生产生知与不知的矛盾,激发起求知的内在动力。可以采用生活中的原型实例,例如:在学习switch语句设计多分支选择结构程序时,可以引入银行排队系统的小票、政务大厅服务选项选择等实例,通过提出这些身边的依据数字选择进行服务的实例是如何通过switch语句实现的问题,必定能引起学生的学习兴趣,再逐步引导学生利用switch语句设计程序,解决该类问题。

第二阶段:引导设计算法,找出解决具体问题的数学模型,确定使用计算机思维解决问题的基本思想方法和步骤。通过算法的表示方法如:自然语言、结构化流程图、伪代码等对解决问题采取的方法和步骤进行具体的描述。包括需要什么数据(输入什么数据、处理什么数据,输出什么结果);采用结构化程序设计中的顺序结构、选择结构、循环结构中的什么结构;使用什么语句以及如何安排这些语句等。建议选择使用结构化流程图来描述算法,并且可以直接在RAPTOR软件中绘制流程图,验证算法是否正确。

第三阶段:利用最新学习的C语言的知识与技能,实现程序编写。在编写程序时要注重培养学生养成良好的程序设计风格。编写的源程序要文档化,标识符应按意取名,复杂的数据结构、程序的主要功能应加注释。程序中语句构造的原则是:简单直接,不能为了追求效率而使代码复杂化。不要一行多个语句,不同层次的语句采用缩进形式,使程序的逻辑结构和功能特征更加清晰。

第四阶段:程序测试与错误分析,调试,修改程序。通过程序的测试可以发现程序中的Bug,调试解决这些Bug,是提高程序设计能力的最有效的手段。程序出错可以分为:编译错误,链接错误,运行错误。在程序学习初期,常会犯前两种错误,主要是不熟悉C语言的语法,或者是调用标准库函数时,函数名没有拼写正确,这样的错误通过引导学生学会查看Message窗口的提示信息,找到错误的位置,修改即可。最难的是运行错误,可能出现程序无法正常运行,或者使用测试用例进行测试时,运行的结果与预期不一致。对于程序无法运行,往往在程序中存在隐藏的逻辑错误,不容易发现,在调试时可以引导学生合理的使用调试工具:设置端点、单步跟踪、监视窗口;并且合理配合调试方法:逆向推理、分治排除、缩减输入等。找出程序错误,促使程序正常运行。

程序能够正常运行时要设置典型的测试用例,根据要测试程序的结构还是测试程序的功能,分别进行软件工程中的白盒测试与黑盒测试。这样可以培养学生以软件工程的思维去开发程序,使学生在学习程序设计的初级阶段就树立正确的软件工程观点。这样做不仅可以为学生将来从事计算机应用设计打下良好的基础,而且有利于培养学生分析问题的完整性,提高学生的解决实际问题的能力。

第五阶段:优化程序,找出最优的解决方法。在实验教学中,相同的实践内容,学生可以给出很多的解决问题的方法,通过教师的引导,让学生发现自己的程序设计的不足,优化算法、优化代码。算法优化主要考虑时间复杂度、空间复杂度的问题,需要程序执行所耗费的时间要少,并且程序在运行过程中占用临时存储空间小。代码优化一般需要与算法优化同步进行,代码优化主要涉及具体的编程技巧。同样的算法与功能,不同的写法也可能让程序效率有差异。一般而言,代码优化主要是针对循环结构进行分析处理。

2.2 分层实验教学

在C语言的学习中要求学生程序设计的能力在教学中逐层提高,从基本的程序设计,到涉及数组、结构体、指针的中级程序设计能力,以及涉及文件的高级程序设计能力。在进行实验教学设计时可以设计综合型的实践内容,比如学生点餐系统,在学习的过程中,分层次逐步完善系统功能,如表1所示。

相同的内容可以根据学生对知识的掌握规律即认识、理解、掌握、应用,分层设计实验教学内容。实验教学内容层次分为验证型、应用型、综合型、设计型。实验教学的难度逐层递进、在不断的实践中逐步提高其C语言的编程水平。

3 结束语

学习程序设计语言的目的不仅仅是掌握知识点,还要理解程序设计的思想,学会运用理论知识编程解决实际问题。实验教学不仅可以使学生加深对理论知识的理解,强化记忆,而且可以很好地锻炼学生的实际动手操作能力,培养其逻辑思维方式和计算思维方式,引导学生学会如何应用所学知识解决实际问题。想要提高实验教学的教学质量,需要根据学生学习的规律与实际情况不断地进行教学探索。

参考文献:

[1] 谢鹏,曾升,白金鑫,等.原型实例在C语言程序设计课程中的应用[J].山东工业技术,2016(12).

[2] 李文娟,郭永紅.基于C语言的学生成绩管理系统的设计与实现[J].中央民族大学学报:自然科学版,2016(2).

[3] 刘光蓉.融入计算思维的C语言实验教学设计[J].实验室研究与探索,2015(10).

[4] 顾泰龙,李远静.基于C语言的计算机软件编程实验研究[J].软件工程师,2013(8).

[5] 赖永秀,李凌,饶妮妮.任务驱动法在C语言实践教学中的应用[J].实验科学与技术,2012(3).

猜你喜欢

程序设计分层实验
基于Visual Studio Code的C语言程序设计实践教学探索
做个怪怪长实验
一种沉降环可准确就位的分层沉降仪
从细节入手,谈PLC程序设计技巧
雨林的分层
高职高专院校C语言程序设计教学改革探索
NO与NO2相互转化实验的改进
实践十号上的19项实验
PLC梯形图程序设计技巧及应用
跨越式跳高递进与分层设计