更全的杂志信息网

案例驱动的点线面相结合的教学方法实践

更新时间:2009-03-28

0 引 言

Java面向对象程序设计课程支撑着Android移动开发和企业级JavaEE开发,在软件开发中起着非常重要的作用,其教学质量的好坏直接影响相关软件产品的研制和发布。对此,相关领域专家和学者教授高度重视,进行了广泛地研究和改革,也取得了一些成果[1-4],但是仍然存在一些问题。

(1)教师知识教学重于实践教学。学分设置3+1,课时设置48+16。其中,3个理论课学分占48学时,1个实践课学分占16学时,学分设计的不平衡性导致教学重知识、轻实践,多数教师集中精力于Java语法规则和语义,把程序设计课程无形中变成程序语言课,使得学生学习精力发生偏移,最终无法达成培养程序设计能力的目标。

(2)学生被动学习为主,主动学习不足。教学实践中大多采用“灌输法”,即教师不停地讲授知识和整理知识,学生被动地学习知识和积累知识;学生很少有机会发现知识和体验知识,更谈不上创造知识。学生一直处于被动学习状态中,容易失去学习活动的参与感,也体会不到学习的乐趣,难以激发和保持学习兴趣。

(3)教学注重传道解惑,忽视思维训练培养。程序设计是一个创作的过程,核心是用创造性劳动即计算思维[5]解决实际问题,而不是停留在计算机语言的具体语法规则学习,因此,计算思维重于语法细节。在教学实践中,往往忽视对学生计算思维的培养和训练,导致学生思路狭窄,缺乏学习的兴趣和动力,即使完成了课程学习,也不知道如何用程序设计方法解决工程实际问题。

(4)重知识、轻实践,让学生失去技能;重灌输、轻引导,让学生失去兴趣;重语法、轻思维,让学生失去活力。教学过程中的诸多问题,使得教学目标难以达成。

1 案例驱动的教学

案例驱动是以典型案例为切入点,提出问题、分析问题并解决问题,以问题为基础,以学生为主体,以教师为主导,让学生主动参与课堂,激发或保持学习兴趣,实现举一反三、融会贯通以及理论和应用相结合。在案例驱动的教学中,案例的选择和设计是关键一环,应按照“分级递进、逐层提高、综合应用”的原则设计案例,组织教学。案例又分为课堂演示案例、实验实践案例和综合实训案例3类,对应理论学习、模仿实践和综合应用3个阶段。

1.1 课堂演示案例

在讲解类与对象基本概念时,我们设计了教师上课案例,见表3。class表示角色,也就是类,描述角色规范。教师上课简化成3种角色,分别为教师、学生和课程。对于教学过程而言,这3种角色是必不可少的,并且不需要具体到某某教师、某某学生和某某课程,而在一次具体的教学实践中,一定是某某老师给一批学生上具体的某一门课程,如潘登老师给计算机专业的学生小丽、小王、小张等上Java程序设计课程。教师、学生和课程都是具体的,实实在在的,有具体的名称。这些具体的教师、学生和课程就是对象(object),都符合角色规范,如潘登老师有姓名、专业和施教能力。类和对象就是一般和特殊的关系,或者说是抽象和具体的关系。类是对一类事物的抽象描述,包括静态特征和动态行为,没有具体值;对象是类的具体表现,有确定的特征值和具体的行为表现。

在讲解if语句的时候,我们设计了学生都很熟悉的交通信号灯案例,见表2。用字符串变量signal表示信号灯,值RED、YELLOW和GREEN表示信号灯状态,根据信号灯的不同状态决定驾车状态。

 

表1 “110”在不同语境下的含义

  

遇到危急情况,请拨“110” “110”是一个电话号码 PhoneNumber我的办公室在110室 “110”是一个门牌号 String在英语考试中,考了110分 “110”是一个十进制数 Int

 

表2 交通信号灯案例

  

十字路口,观察信号灯如果遇到红灯,则车停;如果遇到绿灯则通行;如果黄灯亮时,车已经越过停止线,则继续通行,否则车停信号灯signal = (RED|YELLOW|GREEN)if(signal.equals(RED){car.stop();}else if(signal.equals(GREEN){car.go();}else if(signal.equals(YELLOW){if(car.isCrossedStopLine()){car.go;}else{car.stop();}}

课堂演示案例由教师结合理论知识点精心设计,利用演示案例的直观性平滑学习曲线,在解释案例的过程中明晰相关知识,激发学生的学习热情;在实现案例的过程中,让学生体会知识的具体应用,感受学习的乐趣。例如,数据类型对学生来说是一个比较抽象的概念,如果直接解释,学生很难理解。为此,可设计案例猜“110”的含义,见表1。自然世界中,人通过感知语境很容易就识别“110”的语义;相应地,计算机是一个符号系统,要识别相关符号的语义,也需要语境。Java中,数据类型就是一种语境,依据数据类型,计算机就能高效地识别数据的语言环境和所能进行的操作,如PhoneNumber,它是引用类型,代表电话号码;String类型是字符串,由字母、数字等符号组成,可以命名标识门牌;int是整数,属于数的范畴,可以进行加、减、乘、除等运算。将数据类型关联上语言环境,学生就容易理解。

课堂演示案例均源自生活,通过精心设计,将学生的学习活动置于具有实际意义的问题情境中,让学生感知问题之所在,学习Java语言实现之道,充分参与教学过程,激发学习热情,培养学习兴趣。

 

表3 教师上课案例

  

Class Teacher姓名:专业: 施教 ( )object潘老师姓名:潘登专业:计算机 施教 ( )Class Course课程名:编者:object Java课程名: Java编者:潘登class Student姓名:专业: 学习 ( )object小丽,小王姓名:小丽,小王专业:计算机 学习 ( )

例如,在“浓硫酸与高锰酸钾相互作用”这一化学实验中,由于浓硫酸具有着较强的腐蚀性,为了保障学生的安全,教师就可以自己操作实验,让学生观察,使其对实验过程、结果进行观察,以此来达到提高其科学素养的目的。比如,学生在观察中,就发现固态的高锰酸钾由原本的黑色变成了暗红色,使其更好的掌握物质性质,推动其的思考、思维能力大大提升。

1.2 实验实践案例

案例设计的前提是厘清课程知识点,界定好重点、难点和疑点。因为重点具有客观性,难点和疑点因人而异,具有很强的主观性和随机性,所以在教学的过程中,需要重新组织装配知识点,构建符合学生实际情况的教学案例,开展教学过程。

实验实践是提升学生知识与能力的途径,也是理论走向应用的衔接点,因此,有必要对所学知识和所练技能分类汇总,以便系统化、体系化。为此,在实验实践任务完成以后,学生需按给定模版撰写实验实践报告,回顾实验过程,重温实践经验教训,提炼实验结果,总结心得体会,在满满的收获中,体验实验实践乐趣,以保持良好的学习状态投入到新的学习中。实验实践报告模版见表5。

 

表4 实验实践案例示例

  

1成绩等级评定 验证性,控制台程序 选择语句2平面图形打印 验证性,控制台程序 循环语句3简易日历程序 验证+设计,控制台程序 数组、流程控制和算法4信用卡号合法性校验 验证性,控制台程序 类方法5银行账户存取款 设计性,控制台程序 类与对象6平面几何图形构建 设计性,控制台程序 类的继承和多态7算术计算器 验证性,图形界面程序 Swing、I/O 8模拟交通信号灯 设计性,图形界面程序 Swing、多线程、异常

 

表5 实验实践报告模版

  

学生以小组为单位,每组2~3人,按照软件工程开发流程和设计原则,首先完成子模块的设计与实现,然后各小组相互协调配合,迭代改进,完成整体项目的开发。子项目内部需要协作并进,子项目的集成需要相互配合,这对学生的团队协作能力、项目实践能力和创新思维能力培养非常有好处。

潜在毒性效应指数(Potential Ecotoxic Effects Probe,PEEP)综合了多种生物毒性测试结果,是一种评价工业废水潜在毒性效应的指标[34].其计算方法如下:

在Ⅰ类样品选取47#样品为例,在1 021 cm-1和1 240 cm-1处附近存在吸收峰(见图5)。在Ⅱ类样品选取5#样品为例,在1 021 cm-1处附近存在吸收峰,而在1 240 cm-1处附近不存在吸收峰(见图6)。在Ⅲ类样品选取11#样品为例,在1 021 cm-1处附近无吸收峰,而在1 240 cm-1附近存在吸收峰(见图7)。在Ⅳ类样品选取1#样品为例,在1 021 cm-1和1 240 cm-1处附近都不存在吸收峰(见图8)。

1.3 综合实训案例

优秀的软件是优秀团队相互协作的结果,因此,在Java语言的教学过程,培养学生的团队协作能力和创新思维能力是非常有必要的。经过课堂教学和实践教学过程,学生普遍掌握了基本知识和基本技能,就到了综合实训的阶段。本阶段采用分而治之的方法,将一个完整的项目分解简化成若干个子项目,由小组分工协作,完成各个子项目后,再系统集成,进而完成整个项目的开发工作。以选课系统为例说明本阶段的分组综合实训教学活动,选课系统分为前端系统和后端系统,如图1所示,其中,前端分解简化成4个模块,包括登录模块、选课模块、排课模块和帮助模块;后端主要为系统的管理部分,包括学生管理、教师管理、课程管理、选课管理、成绩管理模块。

实验实践案例教学兼顾学生参与课堂和锻炼技能。学生在不断的实验实践中,巩固积累技能;在自主学习过程中,发现新的问题,触发新的驱动,学习过程得以持续。

综合实训属于知识综合应用阶段,要求充分发挥主观能动性和创造性思维。通过实训,有助于提高实践动手能力、团队协作能力、综合运用知识能力和创新思维能力。

  

图1 选课系统功能模块

2 点线面相结合的教学内容组织方式

课堂教学和实践教学是工程类学科教育教学的基本形式,知识学习和能力培养是教育教学的基本内涵。案例驱动的教学方法能有效提高学生参与课堂的积极性,提升学生的实践能力,培养学生的创新思维,因此如何以案例的形式组织教学内容值得研究。

2.1 Java教学中的点

教学重点集中体现学科思想和学科特色,是最核心的教学内容。Java程序设计课程一般包含数据类型、基本流程控制、类和对象、继承、多态等基础部分,以及GUI、输入输出流、异常处理、泛型和集合类、线程、网络通信等API应用部分,其中,面向对象的基础知识和API的基本应用是两个重点。教学难点是学生不易理解或不易掌握的知识和技能,如面向对象的多态特性、Java的泛型和反射。教学疑点是教学过程中产生的让人困惑的问题,可能来自学生,也可能出自教师,如匿名内部类访问外部类的局部变量、当前对象的传递等。“学起于思,思源于疑”。疑点能促进思考,思考有助于深化对教学内容的理解。设计案例时,重点知识应多重设计,体现为相同的知识点高频度地出现在不同案例中,如演示案例、实践案例、实训案例等;将难点知识拆分设计,把知识拆分成最小的可理解单位,分层分级设计案例;对于疑点知识,可以搭建应用场景,设计成演示案例,便于理解。

成功的课堂应该富含知识点,有的是重点,有的是难点。通过课堂教学,学生掌握重点、突破难点和消除疑点是达成教学目标的关键。

选取2016年12月~2018年1月本院收治的缺血性脑病患者60例作为研究对象,均表现偏瘫、失语、偏身感觉障碍等症状。其中,男41例,女19例,年龄52~73岁,平均年龄(62.5±2.5)岁,均行CTA检查,其中15例同时进行脑动脉血管造影(DSA)检查。

与演示案例注重知识学习和兴趣培养不同,实验和实践案例教学主要是巩固基本知识和提升基本技能,通过自主实验实践,充分调动学生的学习积极性和主动性,使其释放学习热情。实验实践案例分为验证性案例和设计性案例两类。其中,验证性案例提供实验步骤,要求每位学生独立完成,体会语言语法,感悟工程实践;设计性案例提供基本思路,要求学生根据实验需求,自行设计实验方案,自主开展实验过程,以培养分析设计能力,练就编码调试技能。一些经典的案例见表4。

(2)VOCS(Values in Oranizational Culture Scale)量表(郑伯壎,1990)。他认为企业文化是一种潜移默化影响员工行为的规范型信念。在VOCS量表中,一共有九个维度:科学求真、顾客取向、卓越创新、甘苦与共、团队精神、正直诚信、表现绩效、社会责任和敦亲睦邻。

2.2 Java教学中的线

教学内容中的知识点不是彼此孤立的,它们之间存在一定的内在逻辑,因此,用案例呈现知识时,需要体现这种逻辑内涵,以帮助学生厘清知识脉络,即教学主线,建立课程知识体系。

根据知识点固有特征及其在Java课程中的作用,建立知识点图,标记重点知识和难点知识,梳理知识点之间的依赖关系,形成知识导图,如由数据类型到变量再到类,由基本数据类型到类类型再到抽象数据类型等;基于知识导图,搭建知识关联结构,形成知识单元,按知识单元设计案例并以实验实践案例为主。

2.3 Java教学中的面

教学过程中的面是超越课程知识点和线的内容,是教学过程的更高层次,属于思维方式和能力培养的范畴。

实验组的治疗依从性评分为(19.56±1.28)分,参照组的治疗依从性评分为(14.15±1.40)分,实验组患者平均住院(5.55±0.49)天,参照组患者平均住院(9.57±0.94),结果存在统计学差异性,实验组患者的服务态度评分平均是(4.26±0.45)分、健康宣教评分平均是(4.90±0.30)分;参照组患者为(3.09±0.44)分、(2.90±0.30),两组结果对比存在统计学差异性(P<0.05)。

Java教学中面的核心是思维方式,表现为解决复杂工程问题的能力。当面对具体工程项目时,如何利用Java技术分析并解决问题,就是一个计算思维的问题,最终表现为综合应用能力。缺失计算思维能力培养的教学,往往会导致学生思维狭窄,学习动力不足,学习热情难以保持,学习过程经常性迷茫,因此,在Java程序设计课程的教学中,计算思维的训练是非常重要的。综合实训就是体现计算思维培养的重要环节,在某种应用场景下,通过项目实训,驱动学生运用所学知识分析问题,运用已有技能解决问题,并在解决问题的过程中,学习新的知识,掌握新的技能,形成有效的计算思维潜意识,从而提升综合应用能力,因此,综合实训案例必须考虑强化对计算思维能力培养的设计,实训项目不在于大小,而在于用来解决问题的知识和技能的有效、有序布局。

就互动教学法来说,是建立在民主和谐氛围基础上的,所以说活跃的课堂已经成了互动教学开展的基础。学生有着一定的独立性,希望表达自己的想法,也希望得到教师的肯定。所以在教学中教师要避免自身过度讲述,要从营造民主和谐氛围上来进行,让学生进入到学习中去,以此来提高学生的思想认识。对于学生来说,只有真正进入到这种氛围后,才能主动进行思考,才能放松身心地学习,才能主动与其他同学进行交流,从而提高互动学习的效果。

相对于点和线,面的内容是知识和技能的再造,是物化为人的思维过程,是真正体现教学本质的部分,实现了对学生知识、能力和价值观的融合。

3 综合评价方案

Java程序设计课程注重知识学习和实践能力培养,因此仅仅对认知水平进行考核是不够的,必须同时兼顾对技能水平的考核。在评定成绩时,采用4个因素综合评分:①期中阶段性理论考试,考查基础性知识,占20%;②期末闭卷考试,考查基本概念、基本原理和基本知识,着重考查综合性知识,占30%;③实验实践,考核重点知识单元,主要考查实践过程和实践报告质量,包括6次必做实验,每次5分,共占30%;④实训,即课程大作业,是一个小型但完整的应用系统开发,以项目为载体,主要考核计算思维以及知识的综合运用能力,占20%。评价过程应贯穿教学过程的始终,并建立反馈机制,及时调整教学内容和教学进度,确保教学活动的高效开展。

4 结 语

针对不同学科和不同学生,应该采用不同的教学方法。以案例驱动的点、线、面相结合的教学方法,在Java程序设计课程实践中,取得了较好的效果,特别是在提升学生的动手能力方面效果显著。

参考文献:

[1] 金莹, 陶烨. 计算机应用与计算思维关系探究[J]. 计算机教育, 2014(21): 72-74.

[2] 牟琴, 谭良, 周雄峻. 基于计算思维的任务驱动式教学模式的研究[J]. 现代教育技术, 2011(6): 44-49.

[3] 姚天昉. 在程序设计课程中引入“计算思维”的实践[J]. 中国大学教学, 2012(2): 61-62.

[4] 葛欣, 席景科, 李政伟, 等. 基于计算思维的程序设计课程教学体系的探讨[J]. 信息系统工程, 2015(1): 159-160.

[5] 史晓楠, 秦昳. 融入计算思维能力培养的Java程序设计课程教学实践[J]. 软件导刊, 2017(2): 72-74.

 
潘竹生,王晖
《计算机教育》 2018年第05期
《计算机教育》2018年第05期文献

服务严谨可靠 7×14小时在线支持 支持宝特邀商家 不满意退款

本站非杂志社官网,上千家国家级期刊、省级期刊、北大核心、南大核心、专业的职称论文发表网站。
职称论文发表、杂志论文发表、期刊征稿、期刊投稿,论文发表指导正规机构。是您首选最可靠,最快速的期刊论文发表网站。
免责声明:本网站部分资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有
如有不愿意被转载的情况,请通知我们删除已转载的信息 粤ICP备2023046998号