程序设计类课程复合教学模式的研究与应用*
2020-04-15贾松浩南阳师范学院计算机与信息技术学院
贾松浩 (南阳师范学院计算机与信息技术学院)
一 引言
计算机专业与科技的发展进步息息相关,面对行业激烈的人才竞争情形,计算机专业在培养学生专业技能方面,要求在掌握专业理论知识的同时,更要关注学生实践能力的培养[1]。目前,高校的计算机专业人才培养在积极和企业进行对接,期望培养更多的具备扎实稳固的专业理论基础知识,同时又拥有较强实践动手能力的复合型人才。
高校普遍开设了一系列的程序设计类课程,如“C++程序设计”、“Java 语言程序设计”和“Python 语言”等,旨在培养学生程序编写和程序设计的能力。程序设计类课程具有内容多、实践性强等特点,而目前的教学模式偏重理论知识的讲解,实践环节偏弱,这就无法更好地把学生吸引到课堂教学中,也无法发挥学生的主观能动性,造成了学生的学习兴趣不高,从而产生厌学的心理,教学效果不如预期[2]。
二 程序设计类课程教学存在的不足
随着时代的变革高校采取了很多的教学方法对此进行革新和改造,新的教育模式也在积极探索。不过,存在一些普遍的问题和不足,主要表现在以下三个方面。
1 学生学习兴趣不足
程序设计类课程的课堂教学采用的还是教师讲学生听,教师在课堂上讲解知识,学生只是被动地接受知识。这种方式最大的问题就是不能发挥学生的主观能动性,无法突出“以学生为主”的主体地位,造成的后果就是无法有效地调动学生的学习积极性。学生习惯于接受教师传授的知识,无法培养独立思考能力与分析问题解决问题的能力,更不利于学生进行创新。
2 实践教学环节薄弱
这类课程的理论内容较多,实践环节无法有效的兼顾。教师先在课堂上讲授理论知识,再让学生到实验室进行编程实践。在理论知识还没有完全消化吸收的情形下,学生的编程实践环节更多的是对教师讲解内容的照搬与模仿,致使实践环节的教学效果不佳,对于综合型的项目开发更是无从谈起[3]。
3 教学方式落后
课程的教学依旧采用较为传统的教学方法,没有很好的使用微课、慕课和网上学习平台。在微课等新兴教学方式日益发展的今天,教学中更要积极想办法把它们融入教学过程中来,吸引学生更好地参与到教学过程中。
针对这些问题,需要积极探索新的教学方法,改进传统的课堂教学方法,发挥学生的主体地位,创造优良的自主学习环境,提升教学效果,培养理论知识和实践能力兼备的综合型人才。
三 复合教学模式的设计与构思
翻转课堂,是指重新调整课堂内外的时间,把学习的决定权从教师转移到学生。教师不再独占课堂的时间来讲授知识,学生需要在课前完成自主的学习,他们可以看视频讲座、听微课,还可以与别的同学讨论[4]。教师也能有更多的时间与每个人交流。
项目驱动式教学,可以把理论和实践更有效地进行结合。以项目开发的完整过程为内容,展示项目开发的所有流程。该方法的目的在于鞭策和激发学生的学习兴趣,使他们变被动为主动,培养学生的分析问题和解决具体问题的综合能力。
项目开发的压力又可以充分激发学生的学习动力和主动性,复合教学模式的设计如图1 所示。
复合教学模式把翻转课堂教学和项目驱动教学方法引入到程序设计类课程的教学过程中,对课程讲授内容进行再次重构,对教学的过程进行全新的调整。复合教学模式可以构造一个更加适合自主学习的优越环境,使学生成为教学的主体。
该复合教学模式分为课前、课中和课后三个环节,很好地体现了“以学生为中心”的教学理念。复合教学模式可以让学生的学习更加灵活、主动,让学生的参与度更强。学生可以自主规划学习内容、学习节奏,教师采用讲授法和协作法来满足学生的需要,以促成他们的个性化学习,其目标就是为了让学生通过实践从而获得更多的知识。
程序设计类课程主要围绕软件项目的开发展开教学,把项目的功能科学的分解到知识点的讲授过程中,教学内容采用“线上”与“线下”相结合的方式进行,让学生参与到课堂的教学活动中。课堂教学则侧重于疑难知识的探讨,该模式可以更好地培养学生的自主学习能力与实践编程能力。
四 复合式教学模式的实施
以《Java EE 程序设计与开发》课程为案例,对复合式教学模式的方案实施,主要包括以下几个环节。
1 课前准备
翻转课堂实施的前提是学生在课前做好充分的准备,这样才能保障后续教学活动的效果。课前预习和平台学习是该模式的重要环节,学生的课前学习效果将会直接影响到课堂的授课。对于课前教学,学生可以通过微课、在线学习平台等方式准备课堂内容。
教师按照课程的教学目标,概括每节课的知识点和思考的问题,发布到在线学习平台上。学生被分成小组,分配一定的任务,让学生带着任务进行课前准备,这样的效果会更好。在这个互联网时代,学生可以通过互联网学习丰富的在线课程。这些资源具有非常强的实战指导意义,可以为学生提供更好的学习机会。
2 课堂授课的设计与实施
课堂教学围绕课前的准备情况,组织学生进行讲解,在讲解以后,鼓励其他组的学生通过诘问和提问题的方式,组织学生进行知识的探讨。教师此时更多的是对疑难问题的讲解和共性问题的探讨,可以更好地从基础知识讲解中摆脱出来,有更多的精力进行答疑,从而提高授课效率。
按照程序开发的流程进行授课的设计,也就是说围绕需求分析、设计、编程实现和测试等环节展开教学方案的实施。按照课程的教学大纲来制定恰当的课时目标。教学的内容包含:Spring 框架、MyBatis、Spring MVC 和 SSM 框架整合等内容。
教学开展过程中,教师可以根据学生课前学习情况和遇到的问题进行讲解,能够更加有针对性地进行教学。并据此分配小组的学习任务,鼓励学生通过小组这个团队的形式进行协同式学习,共同完成学习任务[5]。这个过程不但激励学生自主化学习,同时,也可以培养学生的团队精神和协作意识。
3 课后学习的多种方式
课程授课的过程不但包括课前的准备、课中的授课,同样包括课后提供各种形式方便学生学习。随着科技的进步和发展,微课、慕课等新兴的方式发展如火如荼,对于和科技结合非常紧密的计算机专业的课程,更要赶上这股发展的潮流。
《Java EE 程序设计与开发》课程在授课以后,要求学生进行在线学习,学生可以借助于网上的资源,包括微课和慕课。课程提供了一个在线学习平台,学生可以在平台上找到课件、程序源代码、程序分析等资源,同时可以在线进行讨论和探讨,遇到解决不了的问题,也可以及时和教师沟通,均能得到迅速地回复。这种多样化的学习形式,可以吸引学生更好的学习,同时也可以巩固前期的学习效果,对编程能力的提升起着非常重要的作用。
4 建立新的成绩评价机制
传统的教学中,学生的最终成绩是由试卷成绩组成,即使有平时表现的分数,针对性也不强。为了更好地激励学生进行自主化的学习,复合教学模式对成绩评价机制进行了改进。
该机制包括三个部分,第一是课前预习阶段成绩,包括课前预习情况、预习的效果和小组的准备情况;第二是理论授课过程中的表现,包括学生讨论情况、小组协作情况;第三是学生的课后学习情况,包括在线资源的利用、与其他同学的交流沟通、微课慕课的学习情况;第四是学生团队的软件项目的完成情况,包括需求分析、设计、编码和测试全流程的情况。
这样的考核方式就要求学生在学习的全流程都需要全身心的投入,并积极参与到各个环节,可以更好地提升学生对面向对象程序设计、B/S 架构程序的开发等综合能力。
总之,基于翻转课堂的项目驱动式的复合教学模式把传统课堂中的知识传授进行了优化,更多的引入学生参与到教学过程中来,发挥学生的主体作用,对于程序设计类课程的教学尤其合适,可以更好地激发学生学习的积极性与主观能动性。可以更好地实现个性化的教学,提升主动学习能力与实践编程能力。