前言:想要写出一篇引人入胜的文章?我们特意为您整理了程序设计基础课程项目化教学策略范文,希望能给你带来灵感和参考,敬请阅读。
摘要程序设计基础是高职院校大多数计算机类专业的专业基础课。本文从学情出发,剖析当今高职院校程序设计基础课程的教育教学中面临的问题和挑战,理顺相应教学策略的改革思路和方案并附诸实践,取得了更好的教学效果。
关键词程序设计;C语言;教学策略;项目化教学;任务驱动
1引言
信息技术的飞速发展带来了信息技术相关应用领域的迅猛人才需求,人才缺口与日俱增。高职院校在培养行业初等从业人员方面有举足轻重的作用,是人才集散地,训练出了大量行业实践经验丰富的毕业生,为行业输送了大批的从业者,在补足行业人才缺口方面发挥着重要作用。当今人工智能、云计算、虚拟现实等新兴技术快速发展迭代、渐趋成熟,计算机程序成为各类应用和技术发展和创新的工具和载体,程序设计已成为当代大学生必须掌握的一项基本技能[1]。作为高职院校中大多计算机类专业的基础课程,程序设计基础课程的教学是人才培养的关键一环,对学生学习后续课程的兴趣、能力和效果有重要影响。因此,程序设计基础课程的教学应该精心设计,达到优良的教学效果。本文从学情、课程、教学现状等方面展开分析,就如何改进程序设计基础课程的教学进行深入思考,探索得到一套切实可行的教学改革方案并附诸实践,取得了良好的教学效果。
2学情分析
本文以成都职业技术学院软件分院计算机应用技术专业两个班的大一新生共计82人(男生59人,女生23人)为例展开学情分析。高职院校学生给我们的传统印象是学习能力和自我管束能力相对薄弱、学习积极性和学习习惯较差。但实际教学过程中反映出这批学生并不符合我们的常规认知。这批学生中近一半在高中主攻文科类课程,数理化知识学习得不够牢固,逻辑思维能力相对较差,学习程序设计这类理工科课程本身就存在较大的困难。另一半在高中主攻理科课程的学生则显示出了对程序设计基础课程更高的接受能力。然而所有学生都表现出学习编程的兴趣和积极性,展现出旺盛的求知欲。在教学过程中,教师应该非常注意保护学生的学习兴趣和主动性,尽力满足学生的求知欲,控制和减少学生学习中的挫败感。有部分心态较消极的学生在学习中容易出现畏难情绪,认为自己没法学好这门课程,遇到问题时不愿解决、求助。同时也有学生学习积极性很高,自主探索、实验来解决学习中的问题,有的甚至自学并且能熟练应用教师尚未讲授的内容!可见,这批学生与我们的既有认识不同,他们虽然存在自控能力相对较差这一高职院校学生的通病,在学习中容易因为其他事情分心,但学习积极性却较高,渴望知识。教师应该应用差异化教学手段,对不同特点的学生分别采用不同的教学方案和方法,在教学过程中给予不同程度的引导和启发,给予学生及时的帮助,保护他们学习上的主观能动性,才能取得较好的教学效果。
3课程分析
程序设计类的课程是理论与实践相结合的,既包含枯燥的编程理论知识,又要求通过编程实践巩固深化对理论知识的理解,同时提升相应开发环境下的编程熟练度[2,3]。传统的学科式教学方式并不适应此类课程的教学需求。照本宣科地讲授编程理论会使学生迅速失去学习兴趣,产生厌学情绪。由于学生基础相对薄弱,高职院校的计算机程序设计类课程尤其重视实践训练。不少高职院校都已经在推行计算机类课程的项目化教学。项目化教学将理论知识的体系打散,摒弃填鸭式满堂灌的教学,引领学生按商业项目的开发流程,从需求分析到最后的代码实现,逐步完成实际的工程项目[4,5]。在项目进程中,学生被分为若干小组,小组成员分工协作。项目开发本身就是一个由局部到整体的过程,学生每做一步即可见成果,有成就感,持续激发学习兴趣。同时,小组成员互为人师、相互交流学习,能有效提高整个小组的整体学习效果。
4教学现状
项目化教学并非“银弹”,并不能解决教学中的所有问题[6]。在教学实践中发现:一方面由于理论知识讲解不足,学生对基本概念的理解浮于表面,灵活运用所学知识解决项目实际问题的能力较差;另一方面由于学生总是习惯于做自己已经熟络的工作而排斥陌生的事务,小组成员角色体系容易固化,能力发展容易失衡。为了应对上述问题,教学中应当保证一定比例的理论讲授课时,使学生对基础知识加深理解,知其然且知其所以然,方能在项目实践中灵活地运用所学知识和技能解决实际的项目问题。但是,理论讲授须讲究方法。观察到学生注意力保持专注的时间较短,应当将理论性知识点细分,使用活泼有趣的教学资源(如微视频、动画等多媒体资源),在较短时间内(15到20分钟)完成理论知识点的讲解和演示,然后布置针对性的随堂编程任务,让学生马上动手解决实际问题。随堂练习过程中,教师现场答疑并记录学生提出的问题,在练习结束后进行总结回顾。这种任务驱动的教学既能使学生较好的接受理论知识,又能锻炼运用知识解决实际问题的能力,加深理解的同时强化熟练度,取得了较好的教学效果。此外,学生小组在完成项目后,要求进行团队角色轮换,即在实践下一个项目时每个团队成员的角色必须与上一个项目不同。比如,在上一个项目中担任需求分析的学生,在下一个项目中不能继续负责这方面的工作,而必须担任详细设计、程序测试、项目答辩宣讲等其他团队角色。加上期末考核项目,每学期至少有三个项目。对于不超过4个学生的团队来说,通过团队角色轮换,每个团队成员基本上都能实际参与和负责需求分析、详细设计、编码实现、程序测试、项目答辩宣讲的大部分项目过程环节,项目完成能力得到全方位的提升。需要特别注意的是,编码实现环节仍然要求每个团队成员都参与,因为编码是程序设计是核心技能,但主程序员不能是同一人。采用项目团队角色轮换策略,既最大化了学生对项目全流程的领会和项目实践经验,同时也使学生发挥各自所长,达到了差异化教学的目的。
5教学改革和效果
鉴于以上各方面的分析和认识,明确了适合成都职业技术学院软件分院计算机应用技术专业学生的程序设计基础课程的教学策略:1.针对性学生差异性大的实际,推行差异化、个性化教学,帮助学生发掘自己的优势和兴趣点。2.采用项目化教学的同时肯定理论讲授的地位和作用,保证一定比例的理论课时用于基础理论和概念的讲解,使学生对知识点的理解不浮于表面,能够举一反三解决类似的问题。3.理论知识尽量结合容易吸引学生注意力的多媒体教学资源进行讲解,并控制理论教学的时长,在学生专注度最高的一段时间内完成理论知识点教学。4.应用任务驱动教学法,在理论知识讲授环节结束后马上布置针对性的实践任务,让学生小组随堂操练,发现问题即时答疑解决,并在此环节结束前加以总结提炼,进一步加深学生的理解。5.以上述方式完成了一个项目单元的理论教学之后,随即进入项目实训阶段。项目后,学生团队(小组)内部按照现实中企业开发部门的模式进行分工,团队成员按自己的角色分别完成需求分析、系统设计、编码实现(主程序员带领其他成员合作完成)、项目测试、项目汇报(答辩)等软件开发生命周期的各个环节。每种角色都有输入、输出,团队成员必须协商规则、强化沟通、统筹安排、团结合作才能高效且高标准地完成项目作品。6.项目汇报时,学生团队对各自作品进行互评,教师对各学生团队进行项目过程和项目成果两方面的考核评价。学生自己和教师的评价最终加权形成本次项目的综合评价。教师总结后开始进入下一个实训项目的理论知识学习阶段。按照上述流程体系,通常一个学期安排三到四个难度递增的项目实训。期中和期末的评教和调查结果显示,学生课堂活跃度、项目参与度、自我认同感、编程语言熟悉度和实际编程水平得到较大提升。借助角色轮换,虽然每个学生仍然展现出对实际项目开发流程中某类任务的特别偏爱或擅长,但对每类任务都能上手操作,即承认了学生能力、兴趣上的差异,又提高了学生知识体系的全面水平。
6结语
在程序设计类课程中引入项目化教学已经成为高职院校的共识。但是项目化教学仍然需要与实际的学情、课程和实际教学中发现的问题相适应方能达到更佳的教学效果。本文分析了成都职业技术学院软件分院计算机应用技术专业2个班的程序设计基础课程的学情、课程和教学,提出了针对学生特点、课程特性和教学实际的经过调整适配的项目化教学方法并付诸实践,取得良好的教学效果。在今后的教学实践中,还应继续验证这种教学方法的科学性和有效性,进行持续的探索和优化,争取更好的教学成果。
作者:陈锐 谢应涛 张渝 谢菁 单位:成都职业技术学院软件分院 西华师范大学教育信息技术中心