张蕾,李艳梅,周文科,崔娟娟
摘 要: 针对程序设计类课程存在的共性问题,以“Java程序设计”课程为例,提出了基于成果导向教育理念的课程教学改革。根据学生培养目标和毕业要求,反向设计课程的教学目标;以案例为驱动重新设计教学内容,借助信息技术实施翻转式课堂教学;以OBE理念构建课程评价体系,为课程后续的持续改进指明方向。实践证明,相较以往的课程教学,基于成果导向的“Java程序设计”课程,教学效果有了很大的提升。
关键词: 成果导向; Java程序设计; 教学改革; 评价
中图分类号:G642 文献标识码:A 文章编号:1006-8228(2022)01-113-04
Construction of outcome based programming courses
Zhang Lei, Li Yanmei, Zhou Wenke, Cui Juanjuan
(Guangling College, Yangzhou University, Yangzhou, Jiangsu 225000, China)
Abstract: Aiming at the common problems in programming courses, taking "Java programming" course as an example, this paper puts forward the teaching reform with the concept of outcome based education for the programming courses. The courses' teaching objectives are designed reversely according to students' training goal and graduation requirements; driven by cases, the teaching contents are redesigned to put flipped classroom into effect with the help of information technology; the course evaluation system is constructed with the concept of outcome based education to point out the direction for the subsequent sustainable improvement of the courses. Practice proved that compared with the previous course teaching, the teaching effect of the outcome based "Java programming" course has been greatly improved.
Key words: outcome based; Java programming; teaching reform; evaluation
0 引言
2013年6月,我国被接纳为《华盛顿协议》签约成员。2018年我国教育部发布了《普通高等学校本科专业类教学质量国家标准》,其所遵循“以学生为中心”、“成果导向”和“持续改进”的教育理念。随着该标准的实施和专业认证的推行,成果导向教育理念在国内得到了广泛应用。该理念要求教师在教学前对学生毕业时应达到的能力及水平有着清楚的认知,并选择适宜的教学方法、设计教学过程让学生达到预期的目标[1]。该理念提倡教学应以学生为中心,根据培养目标和毕业要求反向设计课程教学目标、教学内容、教学方法及教学评价模式等。这样的教学模式更突出学生在学习中的主体地位,更关注学生学习后所具备的能力,有利于创新型、应用型、复合型人才的培养。
程序设计类课程是计算机专业学习的基石,是培养学生计算思维、程序设计能力、解决复杂工程问题能力的重要途径。然而,以往的程序设计类课程的教学多拘泥于程序语言本身,缺少对学生科学思维能力的训练;课程的实践教学多以纠错性实验和验证性实验为主,缺少综合性和设计性内容,实践教学还停留在浅层教学,不利于学生利用综合知识解决复杂问题能力的培养[2]。
本文以《Java程序设计》课程为例,以成果导向教育理念为指导思想,反向设计课程的教学目标、教学模式及评价等过程,为解决上述的实际问题提供一些切实可行的方法。
1 成果导向教育对课程的要求
成果导向教育(Outcomes-Based Education,简称OBE),是指以学生的产出为目标来进行教学设计和实施,对照学生预期学习成果并持續改进教学过程。该理念强调学生预期学习成果的确定、通过什么方式帮助学生达到预期目标以及达成度的评价[3]。
首先要考虑预期学习成果该如何确定。学习成果的确定要充分考虑国家、社会和行业、用人单位等外部的需求和期望,根据本专业毕业生五年左右应达到的职业和专业成就确定专业人才培养目标,依据培养目标,细化毕业要求,并将毕业要求逐条地落实到具体的每一门课程中[4]。
培养目标(Program Objective,PO)主要包括学生的知识、能力和素质这三个方面。知识结构包含:PO1—自然科学知识,PO2—专业知识。能力结构包含:PO3—获取知识的能力,PO4—分析问题和解决问题的能力,PO5—团队合作和组织管理的能力。素质结构包含:PO6—科学文化素养和职业道德,PO7—国际视野和创新精神。
以扬州大学广陵学院为例,计算机科学与技术专业将培养目标细分为12条毕业要求。Java程序设计课程支撑培养目标PO2、PO4和PO5,支撑四个毕业要求。①GR1(能够将数学、自然科学、工程基础和专业知识用于解决计算机及应用领域内的复杂工程问题)的指标点GR1.2:掌握计算机工程基础知识,了解计算机解决复杂工程问题的基本要求和基本方法。②GR2(能够应用数学、自然科学和工程科学的基本原理,识别、表达并通过文献研究分析计算机及应用领域的复杂工程问题,以获得有效结论)的指标点GR2.2:针对分解后的计算机领域复杂工程问题进行表达和建模。③GR5(能够针对复杂工程问题,开发、选择与使用恰当的技术、资源、现代工程工具和信息技术工具,包括对计算机及应用领域复杂工程问题的预测与模拟,并能够理解其局限性)的指标点GR5.1:了解软硬件设计与开发、系统设计分析等过程所需要的软硬件开发环境与工具的最新发展,并掌握不同开发环境与工具的性能、特点和使用方法。④GR9:能够在涉及多学科交叉的团队中发挥个体专业特长,并能迅速融合到团队中,具备团队协作理念和大局意识。
基于OBE反向设计的理念,根据课程支撑的培养目标和毕业要求,将课程的教学目标确定为:CO1,掌握Java语言的基本概念和语法,了解面向对象的特点,掌握类和对象、继承、多态、重载、重写等基本概念、含义和实现方法;CO2,掌握面向对象程序设计方法,熟悉基本的算法,能根据问题正确选择、组合算法;CO3,搭建开发环境、选择工具,用Java语言进行软件开发;CO4,培养计算思维、解决复杂工程问题的能力和创新能力;CO5,增强社会责任意识和表达交流能力,培养吃苦耐劳、团队协作的精神。
《Java程序设计》课程内容按知识点区别主要分为:CM1,Java系统环境概述;CM2,Java语言基础知识;CM3,数组;CM4,字符串;CM5,面向对象:CM6,继承与多态和CM7,高级应用这7个模块。各模块内容与课程目标及课程支撑的培养目标、毕业要求之间的关系如表1所示。
2 基于成果导向教学理念的课程教学改革
传统的《Java程序设计》课程多是以老师讲授程序语言语法点为主,学生演练为辅,课程的实验多是验证性实验,难度较低。这样的课程设计让学生把更多的精力放在了学习语言本身上,却忽略了对学生计算思维、程序设计能力和创新意识的培养[5]。为了改善这一现状,依据课程教学目标,以成果导向教育理念为指导,本课程对教学内容、教学方法及教学模式都进行了一定的改进和创新。
2.1 案例驱动式教学
依据课程的教学目标及支撑的毕业要求,以“程序设计为主线,问题为导向,案例为驱动”为教学设计理念,重新梳理课程的教学内容。将具体的实践任务与课程理论知识的学习相结合,让学生在解决实际问题的过程中理解程序设计的思路,从而提升学生的逻辑思维能力和实践创新能力。Java程序设计课程的内容可以细分为五个部分:基础语法、面向对象、继承与多态、网络编程和数据库连接,网络编程和数据库连接是《Java程序设计》的高级应用部分。具体的内容及案例设计见表2所示。比如在讲解数组查找、排序知识点时,将学习情景设定在本班同学学号姓名的查找、课程成绩的排序方面,通过熟悉的查找、排序情景让学生理解数组查找、排序的作用及日常应用。比如,通过实际生活中的动物分类的讲解让学生理解继承的概念。同时,在讲解课程内容时,注重对相关算法、程序设计的讲解,在解决问题的过程中让学生掌握程序设计的一般过程。
2.2 翻转课堂式教学
翻转课堂起源于2007年的美国科罗拉多州落基山,是由林地公园高中的两位化学教师Jon Bergmann和Aaron Sams开创。翻转课堂是一种教学手段,它借助信息技术手段改变了传统的教学形式:将知识的学习放在了课堂外,课堂内主要完成知识的内化。在这样的教学模式中,教师的角色由内容的呈现者转变为了学习的教练,通过多种方式引导学生成为更好的学习者。Java程序设计课程是程序设计类课程,除了讲授语言本身的知识以外,课程教学的重点应该放在训练学生思维能力、提高学生程序设计能力方面。显然,知识灌输式教学是达不到这样的目标。因此,Java程序设计课程教学采用了翻转课堂的教学模式。
课前,教师将制作好的教学视频、课件、教学案例、参考资料等资源上传到网络平台供学生们学习。为了引导学生主动探究、合作交流,在课前的任务中设置了一系列相关的问题及项目,让学生合作完成。课堂内,教师主要针对课前学习存在的问题及项目与学生进行互动交流,并强化训练实现对知识的内化。翻转课堂式教学混合了直接讲解与建构主义学习的教学模式,它真正地让学生成为学习的主体,有效地激发了学生学习的主动性和积极性。
3 OBE达成度计算
培养目标、毕业要求的指标点达成度评价依赖于课程目标的达成度,课程目标的达成度依赖于课程的评价方式[6]。Java程序设计课程的评价主要由期末考试、平时实验、综合设计三个方式来衡量,其对应的达成度计算如表3-表5所示。笔者以2021年春学期的Java程序设计课程实践的数据来说明课程OBE达成度的计算方法。
为了让学生掌握面向对象程序设计的方法,训练学生的思维能力,期末考试的试题主要是以程序填涂、程序设计题为主,平时的实验、综合设计多是以设计型、综合型、创新型实验为主。在各个环节评价的基础上,可以得出课程达成度评价,并为课程后续的持续改进指明方向。课程达成度评价具体情况见表6。
4 结束语
自从2018年Java程序设计课程进行了基于成果导向理念的教学改革,相较于以往的课程教学,课程的教学效果有了很大的提升,课程的OBE达成度从原来的78%上升到了85%以上,学生的实践能力得到了很大的提升。将成果导向教育理念应用于程序设计类课程有利于调动学生的积极性,让学生真正地成为学习的主人,极大地提高了学生的自主学习能力和实践创新能力。
参考文献(References):
[1] Spady G. Outcome-based education critical issues and answer[M].Arlington Virginia: American Association of School Administrators,1994:1-25
[2] 盧瑾,任宏亮.OBE理念下程序设计实验教学体系改革探索[J].计算机教育,2020(7):157-161
[3] 王金旭,朱正伟,李茂国.成果导向:从认证理念到教学模式[J].中国大学教学,2017(6):77-82
[4] 李志义.解析工程教育专业认证的成果导向理念[J].中国高等教育,2014,17:7-10
[5] 于延,李英梅.基于PBL和OBE融合的程序设计实验金课建设研究——以高级语言程序设计实验课程为例[J].计算机教育,2020(3):43-47
[6] 吴劲,周帆,王瑞锦,等.OBE模式下的程序设计与算法基础课程改革探索[J].计算机教育,2019(11):86-90