SCI论文(www.lunwensci.com):
摘要:C语言程序设计是高等院校计算机相关专业的必修基础课,院系会在学生第一学期修完这门课程之后,在第二学期安排一周的时间以项目案例驱动为特点的集中实践环节,目的在于将之前掌握的C语言知识点融会贯通形成一个有机整体,用以提高学生解决实际问题的实践技能。本文是在对高等院校计算机专业开设的C语言程序设计集中实践周教学过程遇到的问题进行相关的探索与总结,以期学生更好地掌握C语言的综合应用。
关键词:C语言程序设计;集中实践周;项目案例驱动;教学实施过程
本文引用格式:王小军,等.C语言程序设计集中实践周教改方案探讨[J].教育现代化,2019,6(10):56-58.
在现如今学习型社会中,各学科发展迅速,知识急剧增长,导致知识更新周期缩短,创新频率加快。因此对人的素质要求提高,从而学习就成为个人、组织和社会的迫切需要。面对这种学习型社会,教育工作者不仅要传授知识,同时还要培养学生的自我学习持续性的能力与意识[1]。
C语言以其功能全、效率高、方便灵活、既有高级程序设计语言的优点也有低级语言的特点而成为高等院校计算机科学与技术专业及相关专业所开设的一门重要的专业基础必修课程[2]。开设这门课的目的是培养学生在程序设计方面的逻辑思维能力、代码编写能力、解决实际问题能力和一定创新能力[3]。笔者经过多年教学实践发现学生虽然通过课堂学习能够掌握C语言各个章节的基本知识点,但缺少将各章知识点融会贯通的能力。同时由于C语言知识点和语法规则多,而且课时有限,指针之后的章节如结构体和文件等章节往往不在大纲范围内,这样导致学生只是掌握各章节的知识点,不能由点成线、由线成面将各章节知识点形成一个互相联系的有机整体,具体表现为学生对于各章知识点都能较好地掌握,可一旦涉及到用C语言开发一个综合软件系统时就显得无从下手。针对C语言程序设计这门课程的持续性的自主学习,采用建构主义的理论指导,在学习C语言程序设计之后,进行为期一周的以学生为中心、以项目案例为载体、以提升学生综合应用C语言开发能力的集中实践[4-6]。
一集中实践周的意义
C语言程序设计集中实践周的目的是为了解决学生在完成C语言程序设计基础课程之后,由于无法熟练运用所学C语言知识设计实现完整软件项目而开设的。经过一周C语言程序设计的实践训练能够提升学生动手能力和综合运用各章知识点进行系统开发的能力,初步培养学生软件开发的实践能力和一定的创新能力,提升学生团队协作能力,对此后的专业知识学习和软件开发打下坚实的基础。教学实践显示经过C语言程序设计集中实践的学生在此后涉及到运用C语言编程方面的课程成绩表现要好于以往未开设集中实践周的学生。
二集中实践周的主要任务
集中实践周以多个由易到难的真实项目案例开发为教学内容,着重培养学生综合应用C语言知识的能力,进而提升学生在软件开发方面的动手操作技能。C语言程序设计集中实践周教学实施过程如图1所示。
(一)题目的选择与确定
鉴于学生C语言理论知识掌握程度的不同,教师在题目的选择上可以提供几个由易到难的系统方案,以三个为宜。每个小组均要完整实现这三个系统,针对学生个人则根据自身情况至少选择一个进行操作实践,这样做的好处是每个学生都可以根据自身掌握C语言程度的不同来选择实现适合自身的项目案例。三个项目案例进阶式任务开发如图2所示。
根据项目案例实现难易程度的不同,最终确定的三个系统方案如下。
1.学生成绩排序文件管理系统
此案例难易程度较低,给出了系统的功能模块图和实现系统的大部分源代码,学生只需要补充完整缺少部分的代码,此部分考察学生对C语言基本知识点掌握情况,学生只需参照源代码和注释行说明编写相应代码并调试实现系统基本功能即可。
2.学生信息管理系统
此案例难易程度居中,给出了系统的需求分析描述及系统的功能模块图,并提供了实现系统的部分功能模块的源代码,在此基础上引导学生实现系统的其余功能模块并调试实现该系统的全部功能。
3.会员卡储值积分管理系统
此案例难度较大,仅给出系统的需求分析和系统的源代码各模块框架,学生可以依据前两个系统的开发经验给出系统的功能模块图,自行进行本案例的开发给出系统的完整源代码并完成系统调试实现系统全部功能。
除了引导学生实现上述项目案例的基本功能,更要适当鼓励学生进行创新改进,对能够改进及扩展系统功能的学生给予一定的加分鼓励。
(二)学生分组原则
教师根据班级学生人数分配小组数额,确定学生分组的合理人数。之后各组内由组员推选出一名在C语言方面学习较好的学生担任小组组长,帮助组内成员解决编程方面遇到的问题,同时也便于协调组内成员间的有效沟通与分工协作,通过这种方式能够形成组内分工合作、组间互相竞争的良好学习氛围。
(三)任务完成过程
教师根据学生掌握C语言的情况,结合所给定的项目案例,进行相关系统功能结构图、结构体和文件等知识点的补充讲授。教师发布项目案例并对学生要完成每个项目案例任务进行必要的讲解和布置,学生要明确自己需要实现的项目案例任务部分。
根据班级人数,让学生进行自由组合,最终形成人数大致相等的小组,并选出各组组长。在组员选择和组长的协调分配下,各组组员根据自身掌握C语言的情况确定适合自己的项目案例去完成。
针对给出的三个项目案例,组长进行组员内部协调,组员依据挑选相应的项目案例独立开发实现系统功能,并根据项目案例需要去查找相关资料,必要时可以组内相互讨论或向组长和指导教师请教。在课下,学生可以利用院系的开放机房继续编写代码并调试各自的项目案例。经过以上步骤,每位学生在开发综合系统方面的能力得到了不同程度的有效提升。
(四)以小组为单位进行系统演示
在集中实践周的最后一次实践课上,根据之前的分组,各组组长代表本小组通过抽签方式决定本组进行项目演示的次序。每个小组派出两名学生进行系统演示,展示本组系统开发的完成情况,老师和其余小组对该组演示的系统进行提问与评价。通过小组演示,不仅可以与其它小组所开发的系统进行比较,同时总结本组开发系统的优点和不足。这样不仅锻炼了学生的表达能力,也进一步增强学生的逻辑思维能力。通过各组项目案例的公开演示,各组之间均能够互相了解彼此系统的完成情况,这样就能够根据演示情况为给其它组评定成绩提供依据。
(五)成绩评定步骤
C语言程序设计集中实践周的成绩评定采用等级制(优秀、良好、中等、合格、不合格),成绩的评定主要由以下三个步骤组成。
1.首先通过小组演示确定该小组的等级标准。等级划分的标准由实现系统的个数、系统基本功能的实现情况及系统扩展新功能的实现情况等方面构成,根据各小组最后一堂集中实践课进行系统演示的效果,由其它小组评定本小组的等级。
2.在得到本小组所获得的等级之后,组员成绩先由组长初次评定给出。鉴于组长对组员的表现情况较为了解,组长将参照组员的能力水平、对实现系统的贡献情况、出勤等方面对组员成绩进行评定,组长先给出组员的初次成绩等级,这一措施的引入可以提高每组组员的主观能动性和积极性。
3.最后由指导教师和各组组长最终确定每位同学的最后成绩等级。指导老师根据各组等级来确定各组组员的成绩等级名额建议,使分数更加合理,这样避免出现组长给组内成员感情分、照顾分等情况的出现。
三 教学实践周总结
在为期一周的C语言程序设计集中实践教学期间,教师首先需要了解学生对C语言的掌握情况,并对学生尚未熟悉的知识点进行讲解;其次,公布项目案例题目,并对项目案例进行说明与合理设置,项目案例由易到难进阶式的任务设置,由系统功能模块的调试开发到整体系统的设计实现再到软件系统功能的扩充与完善;再次,将学生进行合理的小组划分,形成组内分工协作、组间竞争的学习机制,从而充分调动学生开发软件系统的主观能动性和学习积极性。通过以上若干步骤,让学生逐步熟悉一个完整的项目案例的开发过程,提高学生在软件开发方面的积极性,同时形成组内合作组间竞争机制,使得竞争合作精神得到充分发挥。最终形成的结果就是,所有小组基本都能够实现集中实践所规定的全部任务,有多个小组还进一步实现了若干新的功能,优化了系统的可操作性,在界面的友好性方面也做了改进,效果非常明显。
四 结束语
C语言程序设计集中实践周的安排使得学生理论知识和编程实践能力联系地更加紧密。学生根据所选项目案例,从C语言知识的再学习到阅读系统描述、从分析系统功能、确定功能模块到实现系统的基本功能再到对系统功能进行扩展,真正体会到软件开发从设计到实现的一整套流程,巩固和强化了所学知识。C语言程序设计集中实践周课堂教学的探索与改进明显地提升了学生运用C语言分析和开发软件系统的能力,锻炼了学生团队有效合作开发的能力,取得了良好的教学效果。也为今后其它实践项目开发类课程的讲授提供了一个颇有价值的借鉴。
参考文献
[1]毛嘉莉,刘敏,董文,李明东.大数据时代软件人才培养新模式[J].计算机教育,2016(05):36-40.
[2]朱立才,汤克明.C语言程序设计研究型教学实践[J].计算机教育,2010(08):115-117.
[3]曾庆尚,高慧,梁振军,等.C语言程序设计的实践教学改革与探索[J].大学教育,2014(12):116-117.
[4]杨红雪.任务驱动式教学方法特点及过程设计[J].教学与管理,2006,(10):129.
[5]刘芝怡.“项目引领,任务驱动,案例主导”的C语言程序设计教学改革[J].教育现代化,2018,5(07):63-65.
[6]何宏,王宁.自主学习型《C语言程序设计》微课程网络平台建设与研究[J].科教导刊,2016(3).
关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网! 文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/jiaoyulunwen/7838.html