项目化教学在C语言程序设计课程中的应用
摘要:介绍了项目化教学法在高职C语言教学过程中的设计与实施过程,包括课程设计思路、项目化教学设计方案、项目化教学的组织与实施、课程考核等内容。在此基础上,将ACM国际大学生程序设计竞赛引入到课程教学过程中,拓宽了学生的视野,提高了学生的程序设计水平。
关键词:项目化教学;C语言;程序设计
0引言
在各种编程语言中,C语言因其功能强大、运行效率高、应用范围广等优势,从产生之日起就一直处于世界编程语言排行榜的前三名。目前,国内多数职业院校都将C语言作为计算机、软件、信息管理等专业的专业基础课程,或者作为专业选修课程,C语言作为计算机编程的入门语言,在整个专业课程体系中有着重要的地位,它对训练学生思维能力和培养学生分析问题、解决问题的能力起到重要作用。
但是,在该课程的教学过程中,我们发现无论课程的设计还是实施,都存在一定的问题,集中反映在学生学习主动性不高,对编程缺乏兴趣,因此迫切需要对C语言课程教学进行改革,确立以职业岗位为导向,以项目为载体,通过项目化教学训练学生的专业技能,实现理论和实践教学一体化,同时培养学生创新思维与创新能力,提升学生的综合素质。课程的改革与实践将紧紧围绕两条主线来开展,第
一条主线是项目化教学,第二条主线是学科竞赛,两条主线相辅相成,缺一不可,共同融入到课程的整个教学过程中。
1教学现状
在教学过程中,我们发现大多数教师仍旧沿用了传统教学法,在C语言教学中普遍采用了“组织教学——复习旧知识——讲授新课——布置作业”的课堂操作流程,整个教学过程以教师、教材和课堂为中心,缺乏学生主体地位的体现。传统教学法虽然使教师能在规定时间内呈现较多的信息,能在短时间内让学生获得大量系统的科学知识和技能。但是,教师管理教学活动的精确度比较低;师生之间难以进行及时的教与学的反馈,很难对程度各异的学生进行个别指导以及全面照顾;学生比较被动,不利于学生的意义建构和元认知知识的习得,也不利于学生创造力的培养。
2C语言阶段性项目化训练的设计与实施
2.1课程设计思路
课程的设计要突出“以项目为载体、以学生为主体、以教师为主导、以能力为根本”的指导思想,将阶段化项目贯彻到整个教学过程中。根据学生的认知规律,教师将遵循从易到难、从简至繁、稳步推进、逐步提高的原则,将C语言课程教学划分成两个阶段,第一阶段为“入门阶段”(60课时,占总课时的75
%),第二阶段为“提高阶段”(20课时,占总课时的25%)。每个阶段采用一个独立的项目,入门阶段采用学生熟悉的《学生成绩管理系统》,在提高阶段则采用难度更大的《贪吃蛇游戏》项目。这两个项目将完整地覆盖C语言
的重要知识点。在课程的实施过程中,以行动为导向的教学模式来组织教学,将项目的开发分解为若干个任务,引导学生“在工作中学习、在学习中工作”,为学生提供丰富的项目化开发经验,通过课程学习,让学生掌握结构化程序设计的思想和方法,养成良好的程序设计风格,并培养学生的自学能力和动手解决问题的能力。
2.2项目化教学设计方案
《学生成绩管理系统》项目是课程学习第一阶段需要完成的项目,重点学习C语言的基础知识,需要利用文本化操作的方式实现以下功能:能建立新数据文件,用于存放学生信息及成绩信息;能追加新记录;能修改已有记录;能删除已有学生信息;能按学号或姓名查询;能按照学号、总成绩或某科成绩排序;能用菜单方法操作,具有较好的人机交互性。按照软件工程开发方法,将《学生成绩管理系统》项目划分为表1所示的6个任务,包括环境搭建、分析需求、处理学生基本信息、实现系统菜单项、实现信息维护与检索、调试系统。该项目的知识点涉及数组、函数、结构体、指针、文件操作等基础内容。
贪吃蛇的编程代码《贪吃蛇游戏》项目需要实现以下功能:在一个矩形范围内有一条贪吃蛇,它以贪吃蛇头的方向游动,方向由键盘控制,如果游动过程中碰到食物,则贪吃蛇会增长1格,如果碰到墙或者自己的身体,则会死掉,游戏结束。该项目是课程学习第二阶段“提高阶段”需要完成的项目,该项目重点弥补第一个项目的不足之处,第一个项目中只涉及文本操作,未包含图形化操作内容,因此在第一阶段的基础上对基础知识进行巩固与加强,并在图形化操作方面进行深入学习。该
项目内容主要涉及图形显示、显示延时等内容。
表1阶段性项目设计
项目名称12任务编号12任务名称12学时学生成绩
管理系统
(入门阶段)12112搭建系统开发环境124212分析系统的需求124312处理学生基本信息1218412设计与实现系统菜单项1210512设计与实现信息维护、检索功能1212612调试与实现整个系统1212贪吃蛇游
戏(提高阶
段)12712搭建系统开发环境122812分析系统的需求122912生成游戏界面1241012实现贪吃蛇移动的动作1261112实现贪吃蛇吃食物的动作1241212调试与实现整个系统1222.3项目化教学的组织与实施
为了使项目化教学达到预期的效果,在整个教学过程中应该坚持“为学习设计教学”的原则,即教学围绕学习展开,教是为学服务,强调充分挖掘学习者的内部潜能,调动学生学习的主动性和积极性,突出学习者在学习过程中的主体地位。教师在这一过程中承担起主导的作用,以激发学生的学习潜能。项目化教学将项目引入到课程教学中,每个项目划分为若干个相互关联的任务,每个任务的实施一般可以分为5个步骤:任务导入、任务分析、任务实施、任务检查、评价反馈。
在任务导入阶段,教师需要引出任务,对任务的效果进行演示,
学生通过观看演示效果,明确本次任务的学习目标和学习内容,激发学生的学习兴趣。在任务分析阶段,教师需要对任务中涉及到的知识点、重点、难点进行归纳、分析,为任务实施做好准备。在该阶段,教师可以对重点、难点部分进行讲解,并设置若干个小实验,让学生进行模拟练习,学生在练习过程中初步完成前期知识储备,为进一步独立地完成任务打下基础。任务实施阶段要求学生以学习小组为单位,分配好每个组员的工作,共同探讨任务的实施过程与方法,制定详细的实施计划,编写程序代码与程序文档,教师可以参与到小组讨论中,给予必要的指导。在任务检查阶段,各小组上交完整的程序代码、模块流程图和功能说明文档,教师挑选小组展示成果,教师和其余小组共同对其进行
评价。评价反馈阶段要求教师对遇到的问题进行总结与反馈,评价程序的质量,如运行稳定性、代码可读性、功能完善度等,并布置拓展任务。2.4课程考核
课程考核分为两部分:过程考核和结果考核。课程考核将改变以往只注重考试结果,不注重过程表现的考核模式。通过提高过程考核所占比例,相应降低结果考核在总分中所占比例,更有利于激发学生的学习热情,提升学习效果,更能体现“以学生为主体,以教师为主导,以能力为根本”的指导思想。其中,过程考核占课程总分的60%,结果考核占课程总分的40%。过程考核主要包括学生的任务完成情况,学生在整个课程学习过程中共需要完成两个项目共计12个任务。学生在完成每个项目任务的同时,还需再完成一个拓展任务,拓展任务主要针对ACM在线题库,课程同时对项目任务和拓展任务的完成

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。