APP下载

基于案例驱动的教学在《Java程序设计》课程中的实施与探索

2021-07-19张虎叶传奇谷志峰

电脑知识与技术 2021年14期
关键词:案例设计Java程序设计教学设计

张虎 叶传奇 谷志峰

摘要:在“大工科”教育理念逐步深化的教学改革过程中,案例驱动教学模式越来越受到青睐。在《Java程序设计》课程中引入案例驱动教学模式,通过讲授内容与实际应用相结合,精心设计案例用于理论和实验的教学,不仅能够顺利完成教学内容的讲授,还能够使学生牢固掌握所讲内容,并在掌握理论内容的基础上掌握应用开发技术,为今后满足今后的编程岗位需求打下基础。

关键词:Java程序设计;案例驱动;实验教学;教学设计;案例设计

中图分类号:G642      文献标识码:A

文章编号:1009-3044(2021)14-0146-03

伴随互联网、信息化的進程,Java语言已融入以Android平台为代表的移动应用、普通桌面应用、Web 应用程序、Web 服务器和应用服务器、游戏、汽车、工业自动化等各行各业。因为Java语言的开源和免费、易学易用,安全、快速、功能强大,并能够适用于Windows、Linux 、Mac等不同的平台,使得Java语言成为世界上最流行的编程语言之一。根据Tiobbee的统计,Java语言的排名始终排在计算机语言的榜首。熟练掌握、应用Java语言的软件开发人才在人才市场中始终保持着旺盛的需求。基于Java语言的人才培养是各高校软件人才的重点培养方向。

1 学生学习Java课程的现状

各高校软件专业的课程设置普遍为由C语言入门,而后根据专业方向的划分开设Java、C#、PHP、Python等语言。我院的Java方向的课程设置,是在C语言的基础上继续开设Java课程,并以Java课程开始Java方向的系统学习。

《Java程序设计》是面向计算机相关专业的一门专业基础课,涉及Java语言中面向对象编程、多线程处理、网络通信等内容,通过本课程的学习,要求学生能够达到了解 Java 语言特征、类库以及面向对象程序设计思想,学会利用 Java 语言编写面向网络应用的简单程序。在理论教学的基础上,实验教学环节需明确必要的理论知识的升华与知识层面的拓展,不能局限于单纯的技能训练。以能力的培养为重点,以编程岗位的需求为导向,培养学生具备职业岗位所需的编程思维和能力,职业生涯发展所需的能力和终身学习的能力,实现一站式教学理念。

在Java课程之前,学生们已经有了C语言的基础,对于编程已经不再陌生,但对于编程能够做什么还只是模糊的认识,自己还没有写过与实际应用相关的程序,所以在学习编程时仍然是抽象的概念,只是为了学习一门课而学习,没有真正领会到编程的思想。就往届的学生学习状况,在开始Java课程的学习后,学生们仍然是仅仅把它当作一门课而机械的学习,上课听得懂,课下也把老师布置的作业完成了,但是没有真正思考程序设计的过程和细节,仅仅是完成了作业,所以在遇到实际问题的时候还是不会用所学的知识和技术来解决问题。学、用的分离现象说明学生在基础知识的学习上课程结课后通过了形式上的考试,但还没有真正掌握,没有应用知识的思维和能力。

基于学生学、用分离的实际,在教学过程中引入案例驱动的教学模式。

2 案例驱动模式的引入和运行

程序设计教学过程要体现课程之间的衔接、各门功课之间的相互作用,比如数据结构为课程提供数据组织管理和算法的支持,数据库为项目提供数据存储和管理的支持等等。

在实验课程中,基于工作过程开发课程内容,以行动为导向进行教学内容设计,以学生为主体,以案例(项目)实训为手段,设计出理论学习与技能掌握相融合的课程内容体系。教学整体设计“以职业技能培养为目标,以案例(项目)任务实现为载体、理论学习与实际操作相结合”。

本课程为考试课程,期末考试采用百分制的闭考试模式,在机试或笔试的形式上可以选择。学生的考试成绩由平时成绩(30%)和期末考卷试(70%)组成。命题的思路是在基本概念、原理的基础上,融入实际应用中的问题进行题目的设定。从而要求学生在答题的过程中,能够用基本概念、原理来指导答题,实现了教学与实际应用中的融合。

本课程的授课模式为:课堂授课+上机实验,分别考核记录成绩。其中,课堂主要采用多媒体的方式进行授课,并且会通过测试题阶段测试学生的掌握程度;上机实验主要是编写程序,要求学生动手完成指定的程序设计或验证。

3 案例的设计不但要结合实际项目应用,还要要结合教学需要

3.1 精心编写实验指导

上机实验是对理论学习的深化与拓展,是学生将课堂的理论学习转化为自身软件开发技能的必经环节。上机指导是每次实验的指导书,是指引学生训练方向、取得收获的工具。实验指导书中在实验案例的编排上要循序渐进,既要做到训练目的的循序渐进,也要做到训练难度的循序渐进。

3.1.1训练目的要循序渐进

实验题目的设置,要根据所学的知识点进行设置,在内容分级上分为基础验证式实验,综合设计实验。基础验证实验根据上课所学习的知识点进行设置,对每一个知识点所讲到的内容进行验证,是掌握基础内容的基础案例。上课讲得多,实验内容不可能面面俱到,但要做到以点带面。并且,在原理讲完后,在众多的应用方法中不会全都讲到,课堂上会把重要的、常用的方法讲到,其余的内容需要学生在实验室自己查阅参考资料来进行完善、掌握。比如对于集合类中的方法,课堂上讲完原理后,老师会举例演示其应用的方法,但对应的函数有很多,课堂上不会一一演示,在实验指导中也只是把常用的函数通过实际的案例来进行练习。没有练习到的函数就需要学生根据课堂所学来查阅API,而后自己进行练习。这样的训练过程,不仅使得学生掌握了基础内容,还锻炼了学生的自主学习能力,在遇到新的问题时能够运用自己的所学,通过查阅资料获取帮助从而解决问题。综合案例是在基础验证实验的基础上设计的。综合性实验把知识点进行融合,在一个需求解决的过程中应用到多个知识点的内容,从而体现其综合性。在综合设计型实验的项目上要留出部分内容让学生自由发挥,体现一定的创新性。

3.1.2训练难度要循序渐进

实验内容要把握好训练难度,要遵循先易后难的原则。基础验证实验的难度较低,体现所学的内容,要求学生掌握基本方法的使用。综合设计实验是在基础方法上综合应用的、有一定难度的实验,体现对多个知识点、方法综合应用、进行融会贯通的实验,既有难度,也有一定的灵活性。在难度的设计上不能一开始就提高难度,因为学生掌握的程度不同,对于知识、技能掌握较为薄弱的学生,起步的难度过高会使得他们失去信心,甚至放弃。要在多个实验题目的顺序上逐次排列,是学生在题目的完成过程中体验到成就感,同时掌握方法,从而达到训练的目的。这样的编排,既保证了掌握程度较为薄弱学生的学习和训练,也能够让学有余力的学生有发挥的空间。

3.1.3实验题目案例的设计要精细化,要在知识点的基础上结合实际应用来设计,做到大小结合。

实验题目的案例,首先要体现所讲授的知识点。比如在选择结构中的多分支结构,可以将用户身份证号的分析程序拿来做案例,通过身份证号的字串截取、匹配,输出该用户的籍贯、出生日期等信息。在集合类中,分别用ArrayList和HashSet来实现模拟彩票的2选5的操作,通过老师的讲解,并让学生分析、比较二者实现过程的差别,从而领会、掌握线性和非线性集合的原理和操作特点。

在lInkedList的学习过程中,设计用LinkedList实现堆栈的进、出栈操作,不仅在基本操作上进行了真闷练习,掌握了每个函数的功能、特点,还对数据结构中所学习的堆栈操作做了进一步的理解和掌握。这个实验案例完成后,学生能够自己选择数据结构并自己完成堆栈操作的程序书写。

将知识点结合具体的应用进行案例设计,实现了案例设计的精细化,学生通过案例的练习能充分理解知识点,并掌握其应用的方法。

案例设计还要大小结合。体现知识点的案例是让学生掌握基础内容,掌握一个一个分散的知识点,这些是小的案例。在基础知识点掌握后,就要通过大的案例来进行综合练习。大的案例是诸多知识点的综合应用,是在基础知识掌握后的升华,是实际操作技能的训练。大的案例要结合实际,灵活多样,但主旨是固定的,就是要训练学生对所讲授内容的技能应用。大的案例在实验课上的时间是不够的,可以布置成大作业,比如每两周一个大作业。大作业的完成时间也布置得稍长一些,可以留一周时间,在实际运行中,我们是布置本次大作业时要提交上次的大作业。这样的完成周期,学生们不仅能够专心完成项目,而且有充足的时间做相互交流、查阅资料,能够高质量地完成。而不会为了在短时间内为了完成作业而拼凑程序来应付作业。比如在学习了集合类和GUI编程后,布置了商品管理的大作业,作业参考界面如图1所示。

这个案例不僅要求学生能够自己选择管理数据的数据结构,还要能够完成数据的增删改查,并能够自己布局界面、书写控件的驱动。完成了这个案例,也为后续的数据库操作数据准备好了基础,届时可以套用这个界面,将原本集合类的数据管理方式替换成数据库的管理方式就完成了一个新的作业。这样,一个案例不仅训练了学生对基础知识的应用能力,还在知识的连贯性上有了充分的认识,将知识点做到充分、扎实地掌握。

3.2实验方式要灵活起来

传统的实验教学方式是在一定的知识点教学完成之后,安排一次上机实验。但仅依靠有限的上机实验时间是不够的,可以小作业和大作业相结合,线下和线上相结合。

小作业是每次实验布置的上机内容,大作业是将若干内容相融合后布置的综合性作业,完成时间相对较长的作业。平时每堂课课后布置作业、上机布置的练习内容为小作业,每周或每两周布置的综合性案例是大作业。小作业是知识点的巩固,大作业时思路的拓展和技术能力的训练。上机实验方式可以在网络环境下进行灵活的扩展。首先要保证固定的上机实验时间,在上机实验的过程中老师可以和学生面对面的交流、答疑,对发现的共性问题进行及时的讲解、处理,针对完成得较好的、存在问题较多的实验作业进行点评。在实验课结束后,可以充分利用网络资源,与学生进行线上的互动,把实验课搬到网上。学生在课下自习时遇到问题可以给老师留言、提交作业等,老师在网上与学生进行互动交流也更加方便。在开启线上的辅导、答疑后,实验课的时间得到充分的增加,并且不受地点的限制,虽然没有见面课的交流直接,但作为有限的实验科学时而言是一种极其有益、高效的补充。

4 课程实验考核方式要与实际结合、突破传统

课程理论考试可以在机试或笔试的形式上选择进行,但在课程实验考核过程中,不建议以传统的笔试或机试的形式进行。传统的考试形式对于实操性强的语言编程课来讲并不适合,卷面考的内容虽然可以以多种形式变化着考核学生对知识点的掌握程度,但很难区分学生的实际应用能力,和应用自己的所学对问题的分析、处理能力。我们建议通过大作业的形式来完成实验课的考核。每人一个题目,在完成程序的基础上,自己要完成项目的需求分析、设计报告,并在考核现场进行演示、讲解。全部过程类似于课程设计,但难度和时间少于课程设计。大作业的形式不仅能够反映学生对基础知识的掌握和理解程度,也训练了学生的实际应用能力,是课程学习的一个重要的功能部分。

5 结语

案例驱动教学模式的应用,在教学过程中收到了满意的效果。学生在Java程序设计课程接收后都能能够应用课堂的所学写出诸如考试管理系统、商品管理系统等小程序,真正达到了课程教学目的,在编程技能训练上也收到满意的效果。目前,我们还在继续探索案例驱动教学模式的运行,在案例的编排上还在继续,正在根据众多的知识点,结合实际应用设计案例,以期后续更加满意的教学效果。

【通联编辑:光文玲】

猜你喜欢

案例设计Java程序设计教学设计
Java程序设计基础课实践教学中的分层教学模式研究
高中数学一元二次含参不等式的解法探讨
“仿真物理实验室” 在微课制作中的应用
翻转课堂在高职公共英语教学中的应用现状分析及改善建议
案例教学在统计学教学中的应用与探索