课程设计问题及改进措施

课程设计问题及改进措施

摘要:C课程设计是学习C语言的一个重要实践环节,能够促进学生C编程知识和技能的巩固,以及对综合项目开发的掌握,然而以往的C课程设计教学效果并不理想。笔者首先对以往C课程设计教学中存在的问题进行分析,其次提出了相应的改进措施,最后对教学实践情况进行了总结。

关键词:课程设计;编程知识;程序

1引言

C程序设计是高校计算机相关专业普遍开设的专业基础课程,也是第一门程序类课程,对于后续的专业课程学习有着重要作用。该课程实践性很强,学生必须通过大量的编程实践,才能掌握好C语言的基础知识和程序设计能力。C课程设计是C程序设计的一个重要实践环节,一般安排在课程最后的1~2周,集中时间完成一个综合项目的设计。C课程设计是对C程序设计课程平时实验教学的延伸和补充,能够加深学生对C语言基础理论知识的理解,提高学生的编程和调试技能,培养学生分析问题、解决问题的能力,培养学生文献资料应用能力、调查研究能力、创新能力、工程素养和团队精神[1]。

2C课程设计教学中存在的问题

以往的C课程设计教学中存在一些问题,一定程度上影响了课程设计的教学、评价质量,达不到C课程设计教学的初衷。下面对主要存在的几个问题进行分析。

2.1课程设计时间不充分

课程设计一般安排在理论教学完成之后的1~2周,这时学生刚学完C理论基础知识,对于这些知识和编程技能还未系统地复习,而课程设计需要熟练运用这些知识和技能进行完整项目的开发。学生在此之前并没有任何的项目经验,对软件工程开发方法和过程都比较陌生,再加上还有其他课程需要学习,1~2周的时间显得略有不足,致使学生匆忙完成项目设计及报告书写,使得课程设计问题较多,报告过于简略。

2.2项目完成质量不高,报告简单

从学生最终提交的项目代码和项目报告来看,部分项目设计得过于简单、功能不完善以及系统实用性欠缺,项目质量不高。部分学生直接拷贝现成的项目代码,未能完全理解项目的设计思路和算法内容,导致项目报告过于简单,重要设计部分未能阐述清楚,导致期末考核成绩较低。

2.3小组个别成员不积极参与

C课程设计的教学目的之一是培养学生的工程实践能力和团队精神。因此,课程设计一般以3~4人小组为单位进行项目开发,根据学生的能力差异,在软件开发的不同阶段小组成员分工协作,每人承担一定的开发任务,比如在编码阶段,有的成员负责主模块的编码,有的成员负责某个子模块的编码,等等[2]。课程设计的初衷是希望所有学生都能认真参与全部过程,完成各自任务,并与其他成员有效配合共同完成整个课程设计。但是仍有个别学生消极怠工,过分依赖组内其他成员,使得团队中有的成员超量完成了任务,而有的成员却没能有效参与到项目的开发中。

2.4答辩未能有效评价小组所有成员

课程设计的最终考核方式是期末答辩,一般是让小组成员先自行阐述项目设计的思路、技术方案、系统功能及重难点等,然后由教师提问,学生回答问题。课程设计的成绩组成包括项目代码成绩、项目设计文档成绩、答辩时阐述成绩和回答问题的成绩,各部分按照一定比例构成。从提问和回答的环节发现,有的小组是由项目主要负责人回答了大多数问题,使得这种提问考核仅仅体现了个别学生的水平,并不能客观评价每个学生。这种考核方式使得部分学生在做项目设计时抱有侥幸和依赖心理。

3C课程设计的改进措施

针对以上存在的问题,为促进C课程设计教学质量的提高,从以下几个方面对课堂教学进行了改进。

3.1改进课程设计的开设形式

从课程设计的时间不充分和项目完成质量不高等问题可以看出,目前C课程设计的时间设置和教学安排等存在一定的问题。要从根本上解决这些问题,就要科学、合理地安排课程设计教学时间,从教学内容安排、学时分配及教学方式上进行合理的调整。在实际教学中,将C课程设计独立设课,适当增加C程序设计课程的学时,并均设置为实践课程。课程教学以项目为导向,采用案例驱动方式。在课程的教学安排上,将教学分为两个阶段:第一阶段为知识点项目实训,对综合项目设计中普遍涉及到的知识点进行分阶段单项巩固,为综合运用做准备;第二阶段为综合项目实训,完成一个小型综合项目的开发并撰写项目设计报告。知识点项目实训主要包括程序流程、函数、数组、结构体、指针及链表、文件和综合项目的搭建等实训单元,总共22学时,每个单元根据内容的重要性和难度分配相应课时。综合项目实训总共10学时,按照软件工程的开发过程逐步推进,并完成项目设计报告的撰写。

3.2加强项目开发引导和过程监控

为改进项目完成质量不高和学生参与不积极的情况,应在独立设课形式下,逐步引导学生开展项目设计,并对整个教学过程进行有效监控。在项目实训开始时,首先由教师对本次实训内容简要介绍并进行示范讲解;其次,学生在课上独立或分组完成实训内容;最后,教师进行答疑解惑或组织学生对某个问题进行讨论。有的实训内容的示范需要较长的时间,为了不占用实训课上时间,可以将这些示范内容制作成教学视频,放到教学网站上。学生在课外能够反复观看,并跟着边学边做。在综合项目实训阶段,根据软件工程的开发过程给学生安排任务,依次按照总体设计、详细设计、编码和测试等阶段进行。为加强项目实训的过程监控,督促学生认真完成任务,保证教学质量。教师可以在每次的实训课上,提前布置下次上课的抽查内容,要求学生对本次课涉及到的算法设计或相应内容上台讲解或示范,抽查情况计入个人课程成绩。让学生带着任务或问题完成每个实训项目,能够督促学生认真参与到项目设计中来,激发学生学习的积极性。当被抽查学生上台讲解或示范时,优秀的表现对于同班同学有激励、促进作用。

3.3改进答辩形式和内容

为保证答辩评价的全面客观,通过对以往答辩评审方式的仔细分析研究,可以考虑在以后的项目答辩环节稍作调整,由原来的个别同学进行全部项目阐述,改为由项目负责人总述项目情况,其他成员各自围绕自己的分工对项目进行阐述。提问阶段不再向项目组统一提问,改为参考分工内容向每个成员单独提问并评分。这就要求每个学生不仅要掌握项目整体情况,还要认真完成自己的分工任务,具备扎实的C程序设计知识和技能,熟悉软件工程开发方法和过程,与其他成员相互配合。答辩形式和内容的改进,对学生参与项目设计的认真程度也有促进作用,让学生不再抱有侥幸心理。为更好地体现答辩评价的效果,在项目选题之后应指导学生合理进行小组成员项目分工,并进行审核。

4结语

以往的C课程设计教学存在的一些问题,使教学效果受到了一定影响,需要针对这些问题不断进行分析研究,探寻改进措施并付诸实践。对C课程设计独立设课之后,再加上教学内容和教学方式等的改进,使学生对C程序设计的知识及技能掌握的更加熟练,参与课程设计的态度更加认真,极大地提高了C课程设计的教学质量。有的学生在课外还积极参与了一些学生科研团队,使得后续相关课程的学习效果得到明显提高。

参考文献

[1]陈承源,冯骊骁.C语言课程设计实践教学改革研究[J].软件工程,2017,20(8):44-46.

[2]毛雁明.项目驱动法在高级语言课程设计中的研究与实践[J].开封教育学院学报,2015,35(4):118-119.

作者:李倩 单位:成都大学信息科学与工程学院