探究Java应用开发课程中任务驱动教学法的应用

2021-01-10 23:43区铁毅
科技信息·学术版 2021年8期
关键词:驱动实训教学法

区铁毅

摘要:任务驱动教学法是以任务为载体,把知识点融入任务中的一种教学方法。应用任务驱动教学法,在课程实训中令学生依照实训任务实现现实项目中可以用到的技术,在课堂管理引导之下,可有效地提高多数学生对学习编程的热情。采用任务驱动教学法,结合Java应用开发课程实践,讲授Java封装、继成、多态、接口、异常、文件系统操作和线程等知识点,能获得较好的教学效果。

关键词:Java应用开发;任务驱动教学法

1. 任务驱动教学法

任务驱动教学法是以任务为载体,把知识点融入任务中的一种教学方法。学生通过对任务进行分析、合作和讨论,遵循一定的规律完成任务。学生通过完成任务了解和掌握知识,并将所学知識进行归纳抽象乃至内化。设计任务要充分考虑学生个体学习能力的差异、学生现有知识水平等因素,设计层次递进的任务。任务难度要适合学生的认知发展规律,应需要学生付出一定的努力才能完成。任务应紧紧围绕教学目标进行设计。要根据人才培养方案和课程标准设计难易适中的任务。任务要与课程内容密切相关。运用任务驱动教学法的目的是使学生在完成任务过程中尽可能以较高参与度来掌握知识。

应用任务驱动教学法,在课程实训中令学生依照实训任务实现现实项目中可以用到的技术,在课堂管理引导之下,可有效地提高多数学生对学习编程的热情。教师依据每个教学知识点设计案例任务,在教学过程展开之前需要精心地准备相应的教学知识点,将教学内容融入到一个个小而精的案例任务中,由项目需求出发,为实现满足需求的功能引出教学内容,让学生带着好奇心去学习,坚持以学生为主体的教学理念,激发学生的学习积极性。学生带着项目的功能需求为依据来学习,在学习过程中理解所学的知识点可以去解决哪一类型的工程问题,相对更能代入未来的职业角色。新时代学生接触电子设备通常较早,而传统而纯粹的案例教学法较难足够引起学生的学习兴趣。

2. 课程与任务驱动教学法的联系

在Java应用开发课程中,关键的概念便是面向对象的封装、继承与多态。封装主要以方法、类和包三个层次进行可见性限定,而可见性共有四种,自广而微分别为public(包)、protected(保护)、包可见和private(私有)。在讲授的过程中,适度引入对软件工程“高内聚、低耦合”目标的概要介绍。在实践课以任务的形式,给出以Java方法、二维数组和可见性为主要应用涉及的知识点的实训任务,布置封装一个能类表示三阶行列式的类,并在该类中实现一个以对角线展开法解三阶行列式的值的方法。其中,二维数组不应让外界轻易修改,故应设置为私有并利用IDE中的代码生成器生成公有的setter和getter,并应在setter中作数据输入的合规校验,而getter中可进行访问权限的检查,必要禁止访问是可返回null或抛出异常。并布置学生课后以利用求代数余子式和的方式封装一个方法用于求解三阶行列式值的问题。

在有关输入输出和文件系统读写的方面,结合阿里巴巴出品的fastjson包以配置文件写入作为任务令学生完成。在实训过程中,学生除了要认识经典的字节流和字符流的概念,同时也可以结合数组的灵活运用作出能作为实际工程项目的组件。

将需求给到学生,学生依据课堂所讲知识进行详细设计和编码调试程序,测试模块功能。在这个过程中多数学生的参与度较高,尤其是有关多线程的知识点的学习过程中同时可回顾面向对象多态的特性,亦可了解对Thread类进行实例化和利用Runnable接口实现多个线程。在此过程中学生除了习得线程相关的知识,还能温习到接口的作用,是对学过的内容的有机整合,是能让学生对昔日学过的知识点灵活运用的活动。

在异常处理相关的知识点相关的任务设计上,该任务首先表明了异常本身也是一种类。其次,在可能有异常抛出的语句上,应当至少以try-catch结构进行包裹,或在方法签名处标明throws Exception。并且在任务中对抛出异常和将异常向上层抛出特别说明“throw”和“throws”关键字的区别。

在网络编程有关的知识点方面设计的项目任务可以结合多线程进行练习。同一个程序在分别作为服务端和客户端时,可分别监听和连接一对或多对端口以进行消息传输,并且在讲解项目任务的过程中带入计算机网络基础中有关OSI/RM和TCP/IP协议栈的基础知识点,并穿插讲授InetAddress类的实例化对象的使用场景。进而带入基于Socket类和ServerSocket类的TCP通信和基于DatagramSocket类和DatagramPacket类的UDP通信的知识点,并进行对比。并在实训机房中让学生在同一个子网中两两结对进行消息相互传送,该次实训任务实施之课堂多数学生能享受实现可相互传输消息的应用之成果之乐趣。

在“云计算技术与应用”开设“Java程序开发项目实训”实践课上,则在基于多线程和网络编程相关知识为基础,结合实现基于Swing的GUI作为期末大作业,令学生完成图形化的局域网消息传递工具软件。多数学生能较好地完成该实训任务,完成过程中给出充分的参考资料,包括DevDocs API Documentation(https://devdocs.io/)中所含关于Swing各组件的说明,一定程度上亦锻炼学生查找资料的能力。

结语:

在Java应用开发课程中应用任务驱动教学法,对比案例讲授法确能一定程度上切实地提高学生对课程内容的兴趣和参与度。在应用该教学法的过程需要应对学生的具体学习情况有针对性地设计项目任务,并应尽可能使各任务难度形成梯度,并在课程中后期的任务中尽可能融合课程前期的知识点,并应让学生适时归纳总结,课程后期的课程项目任务应尽可能覆盖较多知识点并应有一定的现实意义和有基本的工程应用价值,最好能形成学生简历上的实际项目经验。

参考文献:

[1]任务驱动教学法在通用技术课程教学中的运用,王金藤

[2]单机版记忆游戏的设计与实现——Java语言任务驱动教学法应用案例,周敏

[3]任务驱动教学法在商务英语专业课程教学中的运用——以综合英语课程为例,杜丽红

猜你喜欢
驱动实训教学法
初中英语“三段四部式”写作教学法的实践探索
异步教学法在初中生物教学中的应用思考
探讨问题驱动教学法在高中数学教学中的应用
依托互联网实施商务英语函电实训教学
高中英语单词象形教学法
液压课程开放式虚实结合实训教学体系的构建研究
高中英语单词象形教学法
提升中职机械专业钳工实训教学有效性的几点尝试
浅析职业院校实训中心管理机构设置
AMD VS微软 SSD的AHCI驱动选哪家