C语言程序设计项目教学平台建设
2018-12-03杨兴耀汪烈军钱育蓉田生伟新疆大学软件学院新疆乌鲁木齐830008
杨兴耀 汪烈军 钱育蓉 孙 华 田生伟(新疆大学 软件学院 新疆 乌鲁木齐 830008)
1 引言
C语言数据类型丰富,语法控制灵活,代码编译质量高,程序移植性好且执行效率高,属于一门优秀的计算机编程语言,目前在操作系统、人工智能、数据库管理等领域有着广泛应用。作为高校计算机专业的核心课程,传统的《C语言程序设计》因为繁重的课程内容,例如数组、函数、指针等,课程教学多是以教师课堂讲授为主,教师起主导作用,学生在教师的讲解下进行知识学习。然而作为一门实践能力要求较高的编程语言,这给学生的课程学习与应用带来不少挑战[1,2]:学生多是初次接触程序设计,教学内容抽象概念繁多,课时安排时间紧,短时间内难以理解;其次理论学习与实践动手过程脱节,学生好不容易听懂了,编程过程却掌握甚少,更别提程序设计能力提高;第三,缺乏实践偏向于应试教育,与普通的课程学习没多大区别,学生死记硬背语法程序应付考试就够了,学习兴趣与积极性不高。本文针对《C语言程序设计》教学过程中存在的问题,紧紧围绕“教、学、做”的主线思想,改进现有教学模式,从基础性、系统性、可操作性和实用性入手,积极探索课程教学新模式,构建《C语言程序设计》项目教学平台,提高学生的自主学习能力、项目实践能力。
2 研究现状
C语言作为一种面向过程的计算机高级语言,既适合算法类程序设计,又可用于应用类程序设计,具有良好的应用前景。针对传统讲授型为主的教学模式,培养《C语言程序设计》本身要求的动手实践能力,不少教学工作者提出了基于项目驱动的《C语言程序设计》教学模式。黄金国[3]认为项目教学模式应以项目为基础,采用引导教学法,采取课内与课外项目完成情况考核相结合的方式,重点培养学生的创新能力及思维。陈承源等人[4]提出了以项目驱动方式和团队合作形式为基础的实践教学实施过程,即针对每一个设计题目,学生组队划分任务协作完成。胡亚慧等人[5]提出一种以项目为支撑的教学方法,采用理论实践一体小班化教学模式,引入机考考核机制,提升教学质量。于华[6]提出选择项目案例,以项目功能模块划分教学知识单元,组织教学内容的实施方案,包括为录制以知识点为构成形式的微视频、微课,编写单元测试题等。归纳起来,项目驱动的教学模式的主要思想是:在教学中贯穿项目实例对课程内容进行讲授,让学生参与到项目设计中,以此达到培养课程实践能力的目的。然而这种教学模式虽具有合理性,却也存在不足:(1)对教师能力要求高,教师需首先具备项目开发管理能力,同时具备课程教学能力,通常两者很难兼得。(2)项目选择困难、完成周期长,教师往往无法确定一个好的项目,并且通常一个好的项目需要分阶段分块完成,项目融入性要求高,花费时间较长。(3)学生学习难度大,学生需要项目开发过程中掌握课程知识点、程序语法结构、项目设计流程,以及项目调试完成整个项目开发等一系列内容,一般学生难以达到要求。这使得项目驱动的《C语言程序设计》教学模式,虽然被屡屡提及,但实际教学效果却不如预期。与此同时,另外一种基于自主学习平台的教学模式也屡被提出,它提倡学生自主学习,自我解决问题。谭小兰等人[7]给出了C语言实验教学平台的思路,平台由程序编辑、程序运行与调试、题库管理和考试评分5大模块组成,学生在平台上进行C语言学习考试。彭琼等人[8]设计了C语言自主学习平台,学生可以进行课前课后的自学、在线考试和在线经验交流等。但教学平台方案的不足也是明显的:(1)缺乏教师的指导监督,(2)没有考虑学生学习能力的差异,(3)难以培养学生的项目实践能力。
面对课程教学模式改革,本文汲取项目驱动教学模式和自主学习平台模式的优点,积极探索项目教学平台新模式,重点在3个方面进行改进:(1)多种教学要素融合,提高教师团队教学能力,(2)教学平台建设分期化体系化,提高学生项目实践能力,(3)“教、学、做”合一,提高学生自主学习能力。
3 项目教学平台建设
3.1教师团队建设。《C语言程序设计》教研组邀请软件企业资深应用开发人员进行座谈,掌握企业从实际应用开发的角度对于C语言教学的要求,同时结合市面上的教材对课程体系和教学内容进行顶层研究,以此设计出满足应用开发需求且适合于课堂教学的若干项目。针对每个项目内容和要求掌握的知识要点,教研组将其中包含于现有教材中的内容进行整理,并对超出的部分进行教研组自学习,需要企业培训的项目积极进行培训,最终通过定期课程考核和教学竞赛的形式形成《C语言程序设计》的专业教师团队。
3.2项目教学平台的顶层设计。项目设计是项目教学平台建设的关键。教研组教师与企业专家们定期不定期的进行沟通交流,掌握企业、市场关于编程的具体要求,从《C语言程序设计》课程做起,结合市面上主流教程教材,梳理出课程必备的知识点,并协同企业专家设计涵盖知识点并满足培养目标的若干项目,供建设项目教学平台使用。整个项目平台的建设分期进行,每一期均新增设计项目。项目平台通过精心设计项目,培养目标更明确,实施步骤更清晰,学生学习过程中,能力培养能得到更好的体现。项目教学平台设计如下图1:
3.3项目教学平台架构。项目教学平台建设从学生的角度出发,遵循循序渐进、思维发散的原则,最好体现游戏的思想,增强学生的学习兴趣。项目教学平台主要分为学习和项目2个部分,分别用于构建项目教学平台的“学习”模块和“项目”模块,并附有完成任务的“进度条”,学生在学习模块按照学习要求和内容完成任务后,才可进入“项目”模块。项目教学平台架构图如下图2:
“学习”模块包含两个部分:基础学习部分和作业部分。基础学习部分以教学知识点为主,为学生必学内容,多为一些简单概念和语法结构讲解等,内容简单易学,并附有重难点、来源和注意事项等,帮助学生学习,学生可利用课余时间在一定时间内结合作业完成基础课程的学习。作业部分根据基础学习部分设计开发,两者一一对应相辅相成,主要为学生训练题目,类型多种多样,例如程序题、填空题等,并附有参考答案、知识点讲解等,进一步帮助学生巩固基础学习部分的内容。
“项目”模块分为“基础项目”和“高级项目”,两者的完成方式和完成内容不一样。基础项目在教师的指导下进行,由教师在课堂上针对项目按照项目设计要求、根据项目管理开发流程进行手动讲解,让学生掌握整个项目的开发过程,学生跟随教师直接参与到项目整个设计开发过程中,共同完成完整的项目开发。高级项目相对于基础项目难度逐渐提高,多为分步骤的应用程序设计,每一项目附有相应分值,学生最终必须达到一定分值才算课程合格。高级项目的完成主要在教师的监督下进行,学生根据教师给出的项目独立完成项目开发,不懂的问题可向教师提问,但提问项目的分值会降低,具体情况由教师决定。难度高的项目也可以学生分组讨论协同完成,形式不限,项目分值同样会降低,具体情况由教师决定。
3.4学生学习管理。整个教学过程中,学生的学习管理不可或缺,教师的指导作用至关重要。在前期的学习部分,虽以学生自主学习为主,但教师须关注学生整体学习进度,在线答疑,并对学习进度缓慢的学生当面指导,提高学习效率。当学生完成作业后,进行作业提交可以查看作业分值,教师登录平台进行作业结果查看,并适时解锁作业答案。学生根据作业答案进行作业校对,如果出现参考答案不理解的情况或者有异议的情况,教师需要在线答疑。教师根据学生学习情况,定期组织学生与学生面对面交流,增进师生感情提高学习兴趣。
在“项目”模块中,教师需要对学生在“基础项目”中提出的问题进行及时答疑解惑,并针对学生共同反映的问题进行专门讲解,帮助学生寻找不足并完成整个项目开发过程,为“高级项目”的进行打下基础。学生完成基础项目后,进行“高级项目”阶段,这一阶段教师的监督下进行,针对学生不懂的问题及时作出解答,并合理把握提问条件下的项目分值,以及学生协同完成项目条件下的项目分值。
4 项目教学平台教学的意义
4.1师资力量建设。项目教学平台注重教师团队能力的培养。整个平台的建设分期分阶段进行,它需要教研组教师多年持续不断的辛勤付出,既要与企业沟通交流,掌握企业的软件设计需求,又必须研读主流教材,掌握一般编程所涉及的教学知识点,经过两者结合与企业专家共同努力,方能设计出满足的项目教学平台所需要的项目。此周期较长,教学组教师无论以前能力怎么样,专业出身如何,教学认知如何,通过平台的建设一起教学研讨交流、一起成长,整体教学水平定会显著提升许多,未来潜力提升空间会更大,这也是高校师资建设的重点方向之一。
4.2课程教学质量提升。项目教学平台围绕教师、项目、学生来组织整个教学,通过项目设计将若干教学元素有机整合在一起,更有利于提升教学效率。教师团队从日常琐碎的教学工作中解脱出来,专注于课程与企业的结合,专注于整个课程体系的优化,进一步发掘自身提高自己,提升教学能力水平。学生通过基础学习逐步进入项目情景,激发学习兴趣和探索欲望,在教师专注的指导下,自主学习处理问题,不自觉中增强了学习能力和项目实践能力,同时有利于学生创新思维的培养。
5 不同教学模式比较
为了更好了解项目教学平台模式,本文研究了传统教学模式和现行基于项目驱动的主流教学模式,并在教师任务、学生任务等方面对他们分别进行了比较,如下表1。通过不同教学模式的比较,新的项目教学平台模式在教学方面具有较大的优越性。
传统教学模式 项目驱动教学 项目平台教学教师任务 讲授 讲授、讲解 讲解、指导学生任务 听讲 听讲、动手练习 自主学习、项目实践教师要求 低 高 成长型学生要求 低 高 成长型课程目标 不达标 不确定 达标课程主体 教师 教师 学生
6 结束语
《C语言程序设计》项目教学平台通过分期建设、渐进式实施若干个完整的项目来开展整个教学活动,精心精细化设计项目是整个项目教学平台的重中之重。经过多年的教学探索,项目教学平台能够将教师、企业、市场、教材、学生等教学要素有机结合在一起,充分挖掘综合潜力,提高学生自主学习能力、项目实践能力,为学生后续课程的学习打下良好的基础。未来进一步努力的方向,在于项目教学平台的实现、教学要素整合、项目设计优化、平台功能扩展与推广等方面。