APP下载

C语言课程设计实践教学改革研究

2017-09-28陈承源冯骊骁

软件工程 2017年8期
关键词:团队合作项目驱动C语言

陈承源+冯骊骁

摘 要:针对传统C语言课程设计中存在的问题,为了激发学生的学习兴趣,训练学生的创新意识,提高学生的综合应用及实践能力,提出了以项目驱动方式和团队合作形式为基础的C语言课程设计实践教学改革方法和具体的实施过程。研究表明,通过课程设计改革,培养了学生的工程设计能力、工程应用能力和团队合作意识。

关键词:C语言;课程设计;项目驱动;团队合作

中图分类号:TP311 文献标识码:A

Abstract:The C language curriculum design is an important link to enhance students' comprehensive application ability and practical ability.In order to solve the problems of the current C language curriculum design and improve students' comprehensive application ability and practical ability,the paper proposes the practical teaching reform methods based on project driven and teamwork,and concrete implementation process of the C language curriculum design.The research proves that the proposed curriculum design reform cultivates students' capabilities of engineering design and application,and teamwork spirit.

Keywords:C language;curriculum design;project driven;teamwork

1 引言(Introduction)

应用型大学是指以应用型为办学定位的本科高等院校,其应用型本科重在“应用”,旨在培养有较强社会适应性和市场竞争力,较好创新思维和实践能力的高素质应用型人才。要想从教学体系建设方面体现“应用”二字,实践教学就是其核心环节。其中,作为本科教育中重要的综合性实践教学环节,课程设计具有综合性强和实践性高的特点[1,2]。课程设计要求学生综合运用所学知识和理论,在教师指导下完成规定的课程设计任务。因此,课程设计既是专业课程教学效果的检验,也是进一步提升学生综合素质的关键[3,4]。

目前,C语言作为计算机技术、信息技术和自动化技术的基础,是计算机专业学生的程序设计入门和必修课。《C语言程序设计》主要介绍编程的基本思想,基本方法和基本理念。《C语言程序设计课程设计》是一门独立的实践环节,是对C语言课程教学的延伸和补充,是对理论知识的综合应用,其目的是加深学生对理论课程的认识,加强学生的编写和调试程序的能力、综合应用相关知识技能的能力,培养学生分析并解决实际问题的能力,激发学生的创造性,锻炼学生的设计创新能力。因此,该课程的扎实训练将有利于后续课程的学习,特别是高级程序语言课程,起到事半功倍的作用。

2 传统课程设计中存在的不足(Drawbacks of

traditional curriculum design)

根据多年对我校计算机专业学生课程设计的指导经验,传统的C语言课程设计实践教学中存在以下问题:

(1)课程设计题目实用性不强

许多设计题目仅仅是教材所涉及的理论知识的扩展、几个编程例题的综合,或者是功能简单的信息管理系统的实现。这些题目基本与工程实践脱节,缺乏实用性。

(2)课程设计内容重复

通常以10人左右为一组,每个分组的学生都是同一个题目。但由于一些题目已使用多年,部分甚至在上下届中有重复,因此设计方案中雷同的现象较严重,很难避免学生间相互抄袭的情况[5]。

(3)课程设计任务缺少创新

对于课程设计的任务,指导教师一般会给出详细的要求,这使得学生没有太多自我发挥的余地。因此学生做设计时基本按照指导书做,但一定程度上影响了学生的创造性。

(4)课程设计方式单一

现有方式一般要求一个学生独立完成一个题目,使得每个学生都得承担分析、设计、编码、调试、测试等工作。但在企业级软件开发中,项目团队一般会分工合作,协同工作。

总的来说,传统的C语言课程设计无法加强学生对C语言基础知识的认识和理解,不利于培养学生的创新精神和开拓意识,不利于锻炼学生的团队协作和工程设计能力。

3 项目驱动法和团队合作法的特点(Characteristics

of project-driven and teamwork methods)

以建构主义理论为依据的项目驱动教学法也叫案例教学法[6]。学习本质上是一个积极主动的建構过程,而学生是学习活动的主体[7]。建构主义将学生的学习动力归因于所解决的问题,教学所关注的重点是使学生达到一定程度。教师将需要解决的问题或需要完成的任务以项目或案例的形式交给学生,然后置学生于知识探索中,进而发挥出学生的潜能和创造力。通过教师的指导,学生间的讨论来解决问题,最后在完成任务的同时,也达到了最终的教学目的[8]。

团队合作学习教学法,即采用分组式的教学模式。教师按照学生特点对其进行合理的分组,使学生之间形成合作和激励的机制。学生以团队形式参与,每个团队成员承担不同的角色和分工,各团队成员相互依赖、相互沟通、相互合作,协同完成所布置的设计任务[9]。该方法突破了以学生个体学习为主的原有课堂教学模式,引入了合作学习机制,提出了基于团队的教学模式[10]。endprint

应用型本科以“应用”为主旨和特征来构建课程和教学的内容体系,着重培养学生的技术应用能力[11,12]。基于此,将项目驱动法应用于C语言课程设计实践教学中,一方面能够充分调动学生的学习兴趣和自主学习意识,另一方面还能显著提高学生的工程实践能力,使之更加符合企业的需求。同时,培养学生的团队合作精神,注重整体意识,强调团队合力,协同合作,互补互助以达到团队最大工作效率,为学生从事企业软件项目开发工作奠定基础。

4 改革的指导思想和实现目标(Guiding ideologies

and goals of the reform)

通过对C语言课程设计实践教学的改革,提高学生整体设计水平和能力,充分发挥课程设计的作用,使学生能够真正做到理论联系实际,由学生逐渐向工程师过渡,最终成为适应社会需求的应用型人才。因此,从两方面进行改革。

(1)解决课程设计题目与工程项目实践脱节的问题

现有课程设计题目缺乏实用性,与企业生产实际脱节,无法培养学生的工程设计能力和工程应用能力。学生仅仅倾向于应试而淡化实际应用与开发,导致学生在学习过程中一味模仿教材上的实例,对系统开发认识模糊,无法形成软件开发的整体概念。另外,现有课程设计内容重复,缺乏实用有效的设计题目资源库,无法避免学生相互抄袭和雷同的现象。而且学生常常通过网络、书籍等方式来查找相似题目的课程设计源代码,草草修改了事,无法做到独立思考、举一反三,无法培养学生综合运用所学理论知识分析、解决工程实际问题的能力,更无法训练学生的创新思维。

(2)解决课程设计方式单一的问题

现有课程设计要求学生独立完成设计工作,每个学生都得完成分析、设计、编码、调试、测试等工作。但在企业级软件开发中,项目团队一般会分工合作,协同工作,现有方式无法培养学生的团队合作,沟通协调,协同工作能力。这使得刚进入企业或公司的毕业生参与项目团队的协同开发能力较弱,团队成员之间相互沟通的意识或能力较差,往往需要一段时间的培训才能适应并真正融入项目开发团队,这严重影响了毕业生才智潜能的发挥。

5 改革的具体实施方案(Implementation plans of

the reform)

(1)课程设计题目的选择

课程设计不同于理论课程中的实验,也不同于毕业设计。因此,课程设计题目的选择首先要符合C语言教学大纲的要求,使学生能够运用C语言的基本知识,但又要有别于平时的实验课,既要培养学生独立分析和解决问题的能力,又要培养学生的工程实践和创新能力。

(2)项目案例资源库的构建

以培养工程实践能力为目标,构建项目和案例资源库,将知识点融入案例中。以实际工程项目作为案例样本,并根据项目功能将其分解为若干子系统,每个子系统均具有完整的功能性需求。一个子系统为一个设计题目,要求运用软件工程思想进行开发,且同一题目不超过三组学生选择。案例资源库中每一个案例均由五部分构成,其具体内容如图1所示。

(3)协同分工模式的实施

针对每一个设计题目,根据各个学生的能力差异和组内分工搭配进行合理的分组划分,每组4到5人,并结合软件工程的开发特点,小组成员分别负责不同的任务,但是又互相配合,共同协作完成。该模式不仅能提高学生的自主学习能力,还能培养学生的团队合作意识。团队成员的角色及其分工情况如表1所示。

(4)考核评价方式的设置

每个小组以答辩和报告的形式进行课程设计成果的展示,由此,学生的最终成绩由个人报告成绩和团队综合成绩两部分组成,不仅要考查学生的个人能力,更要考查团队的综合实力。教师根据每个学生的答辩情况和每个小组以及每个学生在设计过程中的具体表现,综合评定每个学生的成绩。

6 改革的实施效果(Effect of the reform)

通过以上方法的改革,学生的设计水平得到了一定的提高。与之前传统方式相比,学生在课程设计过程中表现得更加积极主动,参与度和出勤率都有提高,所以成绩有了显著的提升。另外,过去由于学生对部分题目缺乏设计兴趣,常常需要分配才能确定。通过改革之后,学生自愿选择题目和组建团队的人数明显增加,适当调整就能合理分配,这也反映出改革的成效。改革前后学生的成绩分析比较如图2所示。

7 结论(Conclusion)

参照应用型人才培养模式,结合我校计算机专业学生的实际情况,将项目驱动法和团队合作法成功运用于C语言课程设计实践教学中。一方面,充分调动学生的自主学习兴趣,培养学生的工程素养,提高学生的工程实践能力,使其更符合企业的实际需求。另一方面,在对各类用人单位对毕业生团队协作能力需求进行调研与分析的基础上,培养学生的团队合作精神,注重整体意识,强调团队合作,协同分工,为学生毕业后从事企业级软件项目的开发工作奠定基础。

课程设计是实践教学的重要环节,对于培养学生的工程素养、项目实践能力具有重要作用,而团队合作模式是激发创新意识、提升创新能力的重要手段。因此,积极探索构建项目驱动式和团队合作式的课程设计模式的思路和方法,对提高应用型大学的学生创新能力和人才培养质量具有重要意义。

参考文献(References)

[1] Yi Kong,et al.A Size and Scale Framework for Guiding Curriculum Design and Assessment[J].Journal of Engineering Education,2017,106(3):431-453.

[2] Li C.E-commerce Curriculum Design Based on Distance Learning System[J].International Journal of Emerging Technologies in Learning,2015,10(3):52.

[3] Lee Y J,Shieh C J.Key success factors in the curriculum design of higher education in Taiwan[J].Journal of Interdisciplinary Mathematics,2015,18(6):857-867.

[4] 賀玲丽,白叶飞,许国强.实践教学中课程设计方法的改革与研究[J].内蒙古农业大学学报(社会科学版),2011,13(5):150-151.

[5] 葛浩,林其斌.单片机课程设计教学改革与实践[J].实验技术与管理,2011,28(10):138-140.

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

[7] 成江荣.“案例引导、项目驱动”模式下的计算机综合实践能力提升策略[J].软件导刊,2015(2):190-192.

[8] 姜斌,周喜平.探讨基于项目驱动的课程设计在Java语言教学中的应用[J].科技传播,2010(7):204;117.

[9] 仉春华,等.团队合作学习在课程设计中的应用与探索[J].中国电力教育,2013(10):154-155.

[10] 段桂江,徐世新.基于专业课程设计平台提升学生团队协作能力[J].高等工程教育研究,2012(1):138-143.

[11] 袁双宏.浅谈应用型本科人才培养模式[J].职业技术,2010

(12):70.

[12] 付俊龙,李金宝.应用本科院校师资观念转变[J].网友世界·云教育,2013(18):95.

作者简介:

陈承源(1982-),男,博士,讲师.研究领域:软件工程,模糊推理.

冯骊骁(1980-),男,硕士,讲师.研究领域:软件开发,优化计算.endprint

猜你喜欢

团队合作项目驱动C语言
基于Visual Studio Code的C语言程序设计实践教学探索
基于C语言的计算机软件编程
基于团队模式的创新性实验在病理生理学实验课改革中的思考
综合实践活动课堂上发挥团队合作精神的研究
高职高专院校C语言程序设计教学改革探索
依托工作室的软件工程实践教学研究
基于物联网项目驱动的嵌入式系统教学改革的研究与实践
基于“红色之旅”项目驱动的《调酒与咖啡》工作室制人才培养机制探讨
试论基于项目驱动的机械制图教学改革
论子函数在C语言数据格式输出中的应用