从C语言课程设计看如何培养学生的软件开发能力
来源:用户上传
作者: 周素林
[摘要]本文通过对C语言课程设计中的教学方法、考核手段的介绍,探讨了在实践中逐步提高学生软件开发能力的方法。
[关键词]课程设计 教学方法 考核手段 能力培养
一、引言
近年来,各高校越来越重视对学生实践能力的培养,各类课程设计在教学中所占的比重明显增加。对于计算机系的学生,尤其是以培养应用型人才为目标的学生,开设各类课程设计课就显得尤为重要。
本文以C语言课程设计为例,介绍了在实际教学中所采用的教学计划、教学方法以及考核手段,通过对各个教学环节的分析和总结,探讨了如何在实践中培养学生的软件开发能力的方法。
二、C语言课程设计教学计划
C语言技术是计算机最重要的应用领域之一,也是发展较快的领域之一。其应用早已渗透到各个行业,C语言系统的开发、管理与维护是计算机专业人员必须要掌握的基本技能。因此在完成了理论教学之后,后续的C语言课程设计的安排是很关键的。
我们根据学生的实际情况,制定了相应的教学计划。要求选修C语言课程设计的同学必须先修C语言原理,具有程序设计的基础。课程的主要内容包括C语言设计概述、需求分析、概念结构设计、逻辑结构设计、C语言的物理设计、C语言的实施和C语言系统的管理维护。本课程以实践为主,教学目标是使学生能独立设计C语言应用系统,掌握C语言设计的过程和方法。根据本课程的特点,充分重视上机实践的环节,课程在机房上,有利于学生学习。
本课程安排在一个学期内,教学周数为18周,每周6学时。每周具体内容安排如表1。
三、各阶段教学方法
由于各阶段的任务不同,要求也不相同,因此分阶段采用不同的教学方法,以一个学生熟悉的、容易理解的C语言项目开发过程为主线,贯穿整个教学过程,将相对枯燥的理论知识与实践联系起来。
题目选取阶段是C语言课程设计的初始阶段,也是决定能否达到教学目标的关键性阶段。如果题目选取得太大、太难,或者是学生不熟悉、很难接触到的领域,做起来太困难,会影响学生的积极性,势必会影响到后期的学习效果。而题目太简单,又达不到教学标准。因此在本阶段,采取教师提供参考题目,学生自主选择的方法。教师根据开题报告整理出小组题目以及成员,并简要分析选题的难易程度。在第二周的开题讨论上让每小组派代表进行发言,大家分析讨论题目的可行性,对于选题不合理的,重新修改。这阶段可以充分调动学生的积极性,活跃大家的思维,实际教学效果良好,很多学生的选题都具有现实应用意义。
题目确定完之后,就要进行需求分析。很多学生认识不到这部分的重要性,选定题目后就想开始代码的编写工作,往往做了一半就进行不下去。因此教师在课堂上要通过实例充分讲解需求的分析重要性,讲解具体的需求分析方法,使学生理解需求分析是整个设计过程的基础,同时掌握基本的需求分析技能。在需求分析阶段,要尽可能收集课题的完备需求,可以利用不同小组互相模拟实际用户的形式,增加学生的交流能力和开发兴趣。在需求分析阶段,要完成系统的数据流图和数据字典。高质量的完成需求分析工作可以巩固学生在理论课上学到的数据流图、数据字典等基础理论知识,并提高学生的归纳总结能力。
确定用户需求后,进入系统设计阶段。系统设计阶段要完成应用系统的设计和C语言设计。应用系统的设计要完成课题应用软件的架构设计和具体功能模块的划分。C语言设计要结合应用系统的设计,逐步完成C语言的概念结构设计、逻辑结构设计和物理设计。概念结构设计阶段是整个C语言设计的关键,该阶段通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型;逻辑结构设计阶段要将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化;物理设计阶段要为逻辑数据模型选取一个最适合应用环境的物理结构。C语言设计不但可以加深学生对ER图等理论知识的理解,还有助于提高学生的软件系统设计能力。
系统实现阶段,教师对采用的教学案例代码进行演示,针对不同的程序设计语言对C语言的连接部分进行讲解,并给出相应的示例代码。此阶段主要是学生动手编写代码,完成系统功能。要指导学生编写高质量的代码,包括变量的命名方法、代码的书写规则、代码的注释规则等。这阶段教师可采用启发式教学,对于学生在设计中遇到的问题,要引导他们学会查找资料,自己思考解决。
系统测试阶段,包括单元测试和集成测试。要指导学生进行测试用例的编写,掌握正确的测试方法。对于C语言系统,还要进行C语言的性能测试和容量测试。通过系统测试,使学生掌握正确的测试方法,有效提高软件的质量。
四、考核方式
教师在每个阶段都会进行检查,对完成情况进行记录。开题阶段,要求学生以小组为单位,完成开题报告,并确定选题是否合理。在需求分析阶段,要求每组上交需求分析。在接下来的系统设计、实现及测试阶段,要求学生详细记录设计思想、设计方法、实现过程及测试结果,整理出完整的课程设计报告书。最后由教师综合考虑以下几方面的因素,给出总评成绩,包括文档的完成情况、开发环境的选取、系统功能实现情况、用户界面的设计以及现场演示答辩的效果。通过以上方式,较综合、客观地评价了学生的文字及语言的表达能力以及系统设计、程序开发的能力。
五、结束语
教学实践表明,这种形式的C语言课程设计,可以使学生有效地巩固对基础理论知识的掌握,可以使学生系统地了解软件开发流程,提高学生的软件工程化开发能力,增强学生的就业竞争力,并且可以建立学生的团队意识,提高学生的交流和协作能力。
参考文献:
[1]马宏伟等.校园网络环境下学生管理信息系统的设计与实现.山东建筑工程学院学报,2001年12月.
转载注明来源:https://www.xzbu.com/2/view-463001.htm