李金忠,黄雪梅,夏洁武
(井冈山大学 电子与信息工程学院,江西 吉安 343009)
2017年以来,由教育部倡导的新工科建设在我国高校引起强烈反响。新工科建设给高校的工科人才培养提出了更高要求和新标准,要更加注重培养学生的自主学习能力、工程实践能力、团队协作能力和创新能力,培养应用型、创新型、复合型的新工科人才。培养新工科人才的根本问题是能力培养,大学生计算机编程能力培养是新工科人才的一项重要工作[1]。
Java程序设计是计算机类专业的核心课程,是Java Web程序设计、Java EE应用开发、Android移动应用开发、微信小程序开发等课程的前导课。Java还是人工智能、大数据、物联网、云计算、“互联网+”等新兴产业的重要技术工具。根据TIOBE公司发布的近20年TIOBE编程语言社区流行度指标的TOP10变化情况显示,Java语言在绝大多数年份中排行霸占第一[2]。《“新工科”建设行动路线(“天大行动”)》提出,要“问学生志趣变方法,创新工程教育方式与手段”。综上,在新工科背景下,Java程序设计课程的教学改革变得更加迫在眉睫、势在必行。
Java程序设计是一门集理论性,较强应用性、实践性和工程性于一体的课程。传统以“理论教学为主、实践操作为辅”的Java程序设计课程教学模式重理论知识、轻实践能力,教学环节的互动交流和小组协作较少,难以激起学生学习Java的兴趣。在理论教学中,通常以“教师为中心”,采用“Java知识点理论讲解+程序演示”式的满堂灌,难以体现学生学习的主体作用,学生缺乏自主学习的积极性且无法满足个性化学习需求;在实践教学中,较少有完整的Java应用案例/项目实训,缺乏Java知识的整体融合性和系统性工程思维,不利于培养学生的工程实践能力;没能和现代行业企业对Java软件开发和测试人才的需求相结合,很难做到产学结合,导致与社会需求脱节。在考核方式上,课程的考核方式较单一,缺少过程性考核机制和激励性评价机制,没有对Java学习效果进行及时的反馈和跟踪,不能合理有效地反映课程学习效果。总之,如此的培养模式难以满足培养工程实践能力强、创新创业能力强、具备国际竞争力的高素质复合型的“新工科”Java软件开发人才的需求。因此,在新工科的背景下,如何在Java教学过程中提升学生的自主学习能力、工程实践应用能力、项目团队协作能力、创新创业能力等综合素质,已成为Java程序设计课程教学亟待解决的问题。
针对传统的Java程序设计课程教学模式存在的问题,有较多的教改研究和探索。文献[3]提出项目驱动和翻转课堂相融合的课堂教学模型,文献[4]提出将OBE教育理念引入Java程序设计课程,文献[5]提出基于慕课的翻转课堂教学模式,文献[6]提出“以项目为主线,教师为主导,学生为主体,CDIO能力培养”的教育模式。这些研究从不同教育理念、教学模式、教学手段等方面进行了积极的探索,在一定程度上都能提升教学效果。本文将从更多维度和视角探索Java程序设计课程的教学改革,以期抛砖引玉,对该课程培养应用型、创新型、复合型的新工科Java软件开发人才起到一定的启发作用。
CDIO(conceive、design、implement、operate,构思、设计、实现和运作)工程教育理念和翻转课堂(flipped classroom)教学模式都是“以教师为主导,学生为主体”的教学精神的深入体现,两者具有高度的一致性和互补性。两者都主张“以学生为中心”,分小组进行协作学习,注重调动学生的学习积极性,让学生主动参与课程的学习,具有很高的融合度[7]。若将两者进行有机融合,不仅可以发挥CDIO培养工程实践和创新能力的优势,还可以发挥翻转课堂提高课堂效率的优势,并且可以克服翻转课堂不适合实践教学的缺点,实现优势互补和取长补短[8]。两者的融合将有助于调动学生的学习激情和兴趣,有助于加强师生之间和生生之间的互动交流、头脑风暴和思维碰撞,有利于培养学生的自主学习能力、工程应用实践和创新能力,必将促进课堂教学质量显著提升。
Java程序设计是一门理论性和实践性、应用性及工程性都较强的课程,与CDIO的工程教育理念高度契合,并且非常适合采用翻转课堂的教学模式。二者的融合使Java程序设计课程的教学体现了以学生为中心的理念,有助于培养学生的编程思维和提高学生的程序开发能力,提升学生编程实践能力和解决实际工程应用问题的能力,为以后无缝对接工作岗位打下坚实基础,对培养符合社会需求的新工科软件开发技术工程人才具有积极的指导作用。
教学改革总体思路如图1所示,从课堂的教育理念、教学模式、教学方法和课程成绩评价机制4个方面进行。
图1 教学改革总体思路
将CDIO工程教育理念与翻转课堂教学模式进行融合,采用CDIO工程教育理念组织教学内容,采用翻转课堂教学模式实施教学实践,采用案例/项目驱动法、小组讨论法等先进教学方法混合实施教学活动,并辅以线上线下、课内课外相结合的方式强化学生的软件项目编程等实践应用能力,让学生以主动的、实践的、课程知识之间有机联系的方式内化知识为自身能力,最后以多元化课程成绩评价指标对课程成绩进行考核。融合CDIO和翻转课堂的Java程序设计课程教学改革思路的总体实施方案,如图2所示。
图2 融合CDIO和翻转课堂的Java程序设计课程教学改革思路的总体实施方案
在这个体现多维度教学方式的总体实施方案中,以项目为主线,即以若干个Java案例/项目在课前进行自主学习,一个指定的小项目在课堂进行实训,一个各组任选的大项目在课后巩固演练,将这些项目融入整个Java程序设计课程的教学过程中。
首先,教师基于CDIO理念设计Java线上教学资源。基于产教融合、校企合作和协同育人的方式,借助于企业方,共同商量拟定一些企业中真实的Java案例/项目,将这些Java案例/项目以CDIO工程教育理念为指导思想,即将构思、设计、实现、运作这4阶段贯穿于设计Java线上教学资源,以用于Java程序设计的教学。
其次,以大、小项目为主线,将案例/项目驱动教学法和小组讨论教学法贯穿于基于CDIO和翻转课堂的Java程序设计课程的整个教学过程中。在课前,教师准备若干个基于CDIO理念指导设计的Java案例/项目,并布置课堂上将要完成的Java小项目所分解出来的各功能模块的构思任务,学生线上自主学习并进行小组讨论和构思Java小项目。在课堂上,以一个Java小项目引领课堂实训,要求各小组讨论和协作,并对Java小项目所分解出来的相应功能模块进行设计和实现以及系统测试和运行功能演示,教师进行指导帮助和项目点评。在课后,要求各小组任选一个综合性较强的Java工程项目,并基于CDIO理念将该项目进行功能模块分解,分阶段完成该项目的各功能模块的CDIO阶段性任务,教师对学生完成的大、小两项目进行考核评价以及教学意见的总结反馈和教学反思。在课外,教师组织并指导学生参与Java软件创新项目的开发实践、软件服务外包等科技竞赛活动。
最后,教师基于多元化的课程成绩评价机制,设计考核学生学习Java程序设计课程效果的评价指标和权重。
1)融合CDIO和翻转课堂的Java程序设计课程教学改革的具体实施。
针对CDIO工程教育理念的构思、设计、实现、运作四大阶段和翻转课堂教学模式中的课前、课中和课后三大过程,采用线上线下、课内课外相结合的方式进行教学改革的实施,见表1。
2)多元化课程成绩评价机制在Java程序设计课程教学中的具体实施。
传统的课程成绩评价机制主要是试卷理论考试、作业和实验报告、课堂表现和考勤等成绩,难以体现学生的工程实践应用能力,难以适应新工科对Java人才培养的需求,因此,传统的课程成绩评价机制已不再适用于新工科背景下基于CDIO和翻转课堂融合的Java程序设计课程的考核,须寻求多元化的课程成绩评价机制。新工科背景下的Java程序设计教学要注重培养学生解决实际工程问题的能力和创新能力,要注重多维度的教育教学评价方式,并且其课程考核要倾向工程实践实际应用能力的考核。为此,多元化的课程成绩评价机制要加强工程实践应用能力在该课程学习中所占比重,并强调过程学习、评测的过程性考核等,不但要综合试卷理论考试、作业和实验报告、课堂表现和考勤等方面的考核成绩,而且要注重过程性阶段检验和学生能力的评价成绩,以多维度、全方位展现学生能力为目标来多元考核学生所学课程的成绩。多元化的课程成绩评价机制兼顾过程性评价和学习成效评价并重原则,可增加评价结果的有效性和可靠性,能更全面、准确地了解学生学习的效果。
表1 融合CDIO和翻转课堂的在Java程序设计教学中的具体实施
依据融合CDIO和翻转课堂的Java程序设计课程教学的实际情况,我们设计了两大类指标体系,包括教师评价和学生评价,其中教师评价包括对个人的评价和对小组的评价,学生评价包括组间评价和组内评价,在各类评价中包括多元考核指标。多元化课程成绩评价机制的具体实施方案见表2,其中的评价指标及其在课前、课中和课后所占百分比只是一个初步设想,还有待于在实践过程中不断地探索与调整评价指标与权重,如采用层次分析法确定各指标的权重等,以进一步研究更科学合理的考核形式,完善考核机制。
通过考虑考核课程成绩的多维度量化评价指标,建立基于教学全过程的多元化课程成绩评价机制,以促进Java程序设计课程教学的考核机制趋向更合理,更精确地检验和评价教学效果,从而凸显新工科建设面向工程、实践、应用和创新。
新工科强调以学生为中心的教学模式,强调融入行业企业的工程项目理念。以新工科建设为背景,融合CDIO工程教育理念和翻转课堂教学模式的Java程序设计课程教学改革,充分体现了“以学生为中心”和“基于项目的学习”模式,以培养学生能力为核心。通过在不同班级对该课程教学改革实施与否对比发现,在已实施的班级中,积极主动学习Java的学生增多了,能做Java项目、开发软件的学生增多了,利用已开发或即将开发的软件参与互联网+、创新创业大赛等学科竞赛的学生也增多了。总之,通过教学改革的实施,可有效提升学生自主学习、工程实践、团队协作和创新等方面的能力,从而提高教学质量,为打造具有较强编程能力、系统设计能力和应用开发能力的应用型、复合型、创新型和好就业且能胜任工作的具有可持续竞争力的新工科Java软件开发人才提供思路。
表2 多元化课程成绩评价机制在Java程序设计教学中的具体实施