APP下载

项目驱动和翻转课堂相融合的教学模式在Java程序设计教学中的应用

2018-02-08池凯凯李燕君徐利锋

计算机教育 2018年2期
关键词:子项目程序设计知识点

程 珍,池凯凯,李燕君,徐利锋

(浙江工业大学 计算机科学与技术学院,浙江 杭州 310023)

0 引 言

Java程序设计是高校计算机相关专业的核心课程之一,对培养学生的编程思维和提高学生的软件开发能力有重要作用[1]。然而,目前该课程在实际教学中还存在各种问题,为了达到能让学生学到更多知识和提高编程能力的目的,对这门课程进行教学改革势在必行。

1 教学现状分析

1)传统的教学模式无法激起学生学习Java的兴趣。

传统教学中,Java理论知识信息量过多,任课教师为了完成教学任务,讲解的速度过快,留给学生思考的时间非常有限。在这种情况下,学生对所学知识不能及时消化,不能掌握课程的知识和技能,造成学生对学习Java丧失兴趣。

2)不重视实践教学,忽略学生Java编程能力的培养。

目前,Java程序设计课程的教学往往比较注重Java理论知识的学习,没有足够的实践教学,学生很难将学到的理论知识与实际的项目联系起来,分析问题和用Java语言编程解决问题的能力薄弱,造成教学和企业对编程人员的要求[2]之间脱节。

3)考核标准单一,学生只重视这门课的成绩。

传统的Java程序设计课程对学生的考核[3]是通过笔试和平时基础实验完成的,有的教师会在期末安排一个大型实验,但难度与实际的应用开发还差距较大,因此无法实现培养学生编程能力的教学目的。

2 项目驱动和翻转课堂概述

在项目教学[4]过程中,为了让学生更加系统地完成理论知识点及相关应用的学习,教师应首先结合当前的主流技术和学生学习生活场景,给出学生能够实际使用并且解决一些难点的应用项目,演示项目的实际效果,激发学生的好奇心和求知欲。项目驱动教学模式能让学生对原本枯燥的知识点有极大的兴趣,从而有更好的学习效果,大大提高学生学习Java理论知识并将其运用在实际中分析和解决问题的各种能力。

随着网络和信息化技术的发展,翻转课堂(the flipped classroom)[5]展现出一种新的教学改革理念和方向。与传统“课堂传授+课后内化”的教学模式不同,翻转课堂是运用现代信息化技术完成教学内容和知识的传授。翻转课堂教学模式对教师和学生来说都是巨大的挑战,既要求教师充分熟悉并拥有该课程较丰富的数字化教学资源,同时又要求学生能在课前自觉完成相关教学内容的学习任务,教学效果与教师和学生之间的配合度息息相关。

3 Java程序设计课程的项目驱动和翻转课堂相融合的教学模型

Java程序设计课程的目标之一是培养学生具有较强的动手实践能力,以项目驱动为教学主线,以翻转课堂为教学实施方式,最终实现较好的教学效果,因此,笔者给出Java程序设计课程具有实践指导性的教学模型,如图1所示。

图1 Java程序设计课程的项目驱动和翻转课堂相融合的教学模型

1)课前教学活动。

从教师的教学活动看,首先,教师应准备好合适的项目并将设定的项目划分成多个子项目,分别整理出与该子项目相关的重要知识点和用于激发学生思考的测试问题,并将其制作成“微视频”或PPT发布到Java程序设计课程的网络教学平台;其次,教师设计好课堂教学活动,针对本次课堂要完成的子项目重点设计具体的实施步骤。

从学生的教学活动看,学生可通过Java设计课程的网络教学平台,学习教师发布的课程“微视频”或PPT及测试问题,了解并掌握子项目对应的理论知识点。

2)课中教学活动。

为了更好地完成教学任务和改善教学效果,针对Java程序设计课程的特点,课中教学活动应安排在机房进行。学生一旦有代码上的疑问,就可以向老师请教,并通过在机房实时实地操作的形式反馈问题出在哪里,及时解除疑惑,从而激发学习Java程序设计课程的兴趣。教师通过兴趣引导、目标驱动、实现路径分解、循序渐进的知识讲解、编码,演示子项目的真实效果。在子项目的具体实施过程中,首先,教师讲解子项目的具体实验目标和实验要求;其次,对学生进行分组,每个小组3~5人并推选一名组长负责分配小组中的每名成员在子项目中扮演的角色;最后,通过项目验收的方式评定学生是否达到应用Java理论知识的目的,教师对部分小组的项目完成情况给出评价。

3)课后教学活动。

通过Java程序设计课程网络教学平台的反馈机制,可以及时反映学生学习时遇到的问题以及教师在教学过程中的问题,建立学生和教师之间沟通的桥梁,形成以学生为主体、教师为主导的课程教学交流模式,实现学生在线辅助学习与自主学习相结合。从学生的角度出发,部分学生在课程中完成项目任务时会遇到一些问题,希望能及时解决;从授课教师的角度出发,教师可以了解学生学习的具体情况,通过相互反馈的方式更加灵活地安排每一堂课的教学,从而让更多的学生在更大程度上学好这门课。

4 项目驱动和翻转课堂相融合的教学模式在Java程序设计教学中的案例分析

4.1 教师项目准备阶段

教师给出一个实际的应用项目,该项目的名称为“网站下载器”,需要实现的功能:以图形界面作为呈现方式,用程序通过发送网络数据请求进行网页图片下载;对于需要登录验证的网站,可以执行模拟登录;采用多线程方式实现同时对指定网站的多个网页上的图片下载;去掉内容重复的图片后进行加密并保存到指定文件夹。教师在项目准备过程中,将上述项目目标进行任务的路径分解,如图2所示。

图2中,方框内的文字表示项目名称,实线箭头指向表示箭头被指向的项目需要依赖箭头发起端的项目,圆圈内的文字表示项目所对应的知识点。子项目“文件搜索程序”是对基础知识的掌握,包括异常处理、文件、图形用户界面知识点;子项目“文件去重程序”在“文件搜索程序”的基础上增加了数据流、摘要知识点;子项目“文件加解密程序”在子项目“文件搜索程序”的基础上增加了数据流、加解密知识点;子项目“文件定时任务程序”在子项目“文件加解密程序”和 “文件去重程序”基础上增加了线程、序列化知识点;子项目“HTML信息解析器”在子项目“文件搜索程序”基础上增加了多线程、正则表达式知识点;子项目“网络资源下载程序”在“文件定时任务程序”基础上增加了网络通讯、HTTP协议知识点;综合项目“网站下载器”综合体现了以上所有知识对应的任务。

教师可以将该综合项目中需要用到的主要理论知识点分成相应的专题整理出来,让学生更深入地理解和掌握Java基础知识点,见表1。

此外,教师可以将图1中子项目实现的功能要求整理出来,让学生对综合项目和子项目之间的关联关系有较好的理解,从而认识到只有完成好子项目要求,才能完成子项目的验收。图1中子项目实现的功能要求,具体描述见表2。

在教师完成项目设计的基础上,教师针对子项目“文件搜索程序”对学生设置如下问题:①界面如何设计和实现;②文件和目录如何区分;③文件夹以及子文件夹的搜索如何实现;④文件如何根据搜索条件实现过滤;⑤文件如何根据条件实现排序;⑥文件信息如何显示到界面。

4.2 学生自主学习阶段

学生在课前观看教师准备的项目资料,结合教材自主完成项目对应理论知识点的学习。学生自主学习阶段要求学生会灵活运用基本知识点File类、数组、循环、递归、字符串比较、控制台输出等。通过学生的自主学习,可以保证学生对项目对应知识点有深刻的理解和掌握,为课堂项目教学的有效展开奠定基础。此外,学生可以提出自己在学习过程中遇到的问题,包括理论知识点的应用和代码编写中遇到的问题。

4.3 项目汇报阶段

针对子项目文件搜索程序,具体实施步骤如下。

图2 项目实现路径

表1 项目对应理论知识点专题

表2 子项目实现的功能描述

首先,教师随机抽查某些组学生项目演示的结果(具体抽查的组数,根据课堂教学时间安排来定)并向学生提问,看学生完成的代码是否满足项目要求,如学生演示的功能是否包括能搜索指定文件夹以及子文件夹下符合条件的文件,是否能显示文件信息到界面,界面的信息是否包括文件夹选择、搜索条件选择、排序条件选择、查询结果显示等多种功能;其次,每组学生之间相互讨论,对于不懂的问题向老师或其他组同学请教,完成老师布置的项目答辩任务;最后,教师讲解学生的疑惑并对学生的表现作出总的评价,激励学生只有完成好每次子项目的任务,才能更好地实现整个项目的目标。

4.4 课后项目心得交流阶段

通过Java程序设计课程网络教学平台,每个小组可以上传本小组的项目报告,也可以查看其他小组的项目报告,并学习他们的优点。通过学生之间的相互学习和交流,可以大大激发学生学习Java程序设计课程的兴趣。通过项目心得交流阶段,可以及时反馈学生学习时遇到的问题以及教师在教学过程中的问题;任课教师通过学生的反馈发现教学中的不足,在以后的教学中不断改进,从而更好地开展教学,促进教学目标的实现。

5 结 语

在分析Java程序设计课程教学过程中遇到的问题基础上,笔者进行了项目驱动和翻转课堂教学模式的改革实践。首先,提出了项目驱动和翻转课堂相融合的课堂教学模型;其次,结合教学案例给出了这种新型教学模式的具体实施策略。将翻转课堂模式应用于Java程序设计课程的教学,可以真正实现学生的自主学习,培养学生的编程思想和提高学生的程序开发能力,加强学生和教师之间的互动,提升教学效果。此外,这种教学模式对教师的教学水平提出更高要求,在这种教学模式实施的过程中,都需要教师付出更多的努力,而这也是今后高校教师队伍建设的重要方向。

[1]龙艳彬, 张学东, 王亚伟, 等. Java教学改革探讨[J]. 课程教育研究, 2013(9): 136-137.

[2]侯畅, 王阿川. 面向企业需求的Java课程教学改革策略研究[J]. 黑龙江教育(高教研究与评估), 2014(1): 41-42.

[3]关海鹏, 任姚鹏. Java课程教学改革的探索与实践[J]. 现代计算机, 2014(5): 27-29.

[4]沈维政, 苏中滨, 赵洁. 项目驱动教学法在Java 语言程序设计教学中的应用[J]. 东北农业大学学报(社会科学版), 2010(2): 72-73.

[5]张颖, 李利杰, 艾雨兵. 高职基于项目的翻转课堂教学模式设计与应用[J]. 中国教育技术装备, 2015(18): 106-108.

猜你喜欢

子项目程序设计知识点
服务进程中消费者对子项目顺序的遵从性研究
一张图知识点
一张图知识点
第四页 知识点 歼轰-7A
医学专业“Python程序设计”课程教学改革总结与思考
基于Visual Studio Code的C语言程序设计实践教学探索
从细节入手,谈PLC程序设计技巧
访问系统设置 要更快更精准
创新供电企业农网改造项目预算管理方式的探究
基于案例的电子技术实践教学内容与教学设备的设计