APP下载

启发式教学法在Java课程设计中的实践与探索

2014-07-01陈小奎

长春师范大学学报 2014年2期
关键词:文本框视图代码

陈小奎

(安徽理工大学理学院,安徽淮南 232007)

启发式教学法在Java课程设计中的实践与探索

陈小奎

(安徽理工大学理学院,安徽淮南 232007)

为提高学生的Java项目开发能力,在课程设计中采用启发式教学法,并结合安徽理工大学开设的基于Java开发信息管理系统进行课程设计。在讲解Java访问数据库的基本知识后,渐进式启发学生应用所学知识完成项目开发,反思式启发学生讨论项目开发中遇到的问题;引入MVC分层的项目开发思想,通过类比式启发学生完成课程设计任务。采用启发式教学,有助于学生夯实面向对象思想基础知识,理解项目开发框架,提高实践能力。

Java;课程设计;启发式教学;实践环节

启发式教学法,要求教师善于引导转化,强调学生是学习的主体,坚持教师主导和学生主体相结合,运用一定的手段和方法,把学生的书本知识转化为学生的具体知识,再进一步把学生的具体知识转化为学生的能力[1]。Java面向对象程序设计课程在各高校计算机相关专业的培养方案中都居于重要地位,它是JavaEE和Android软件开发的基础。

1 课程设计的进度安排与管理

安徽理工大学开设的Java课程设计时间为10天,共计40学时。实验环境为JDK1.6、Eclipse3.3、MySQL5.5;任务为设计开发出小型信息管理系统,并撰写课程设计说明书。具体要求与时间分配见表1。

表1 课程设计进度管理表

课程设计以天为单位分阶段进行实施和验收,有利于提高学生的自我约束能力,以保证质量并能按时完成课程设计任务。

2 启发式教学在课程设计中的实施

应用启发式教学,将整个课程设计分成三个阶段。第一阶段,夯实基础;第二阶段,启发学生利用已有知识完成添加功能并讨论开发过程中的经验教训;第三阶段,引入MVC分层思想,教师设计一种框架并完成添加记录的功能,并组织学生对比使用MVC分层前后的优缺点。指导学生完成整个项目,鼓励学生自己设计基于MVC分层思想的框架。

2.1 夯实Java数据库开发基础知识

在开发基于Java的信息管理系统过程中,绝大多数同学没有项目开发经验,对Java访问数据库的方法不熟悉,直接要求学生一步到位地开发出规范的项目是一种揠苗助长的行为,所以课程设计的“数据库连接”,要由指导教师把数据库基础知识夯实,主要知识点如表2所示。

表2 Java访问数据库的基础知识列表

2.2 启发学生完成项目部分功能并组织讨论

启发式教学有不同的类型,按照思维逻辑可分为联想式启发、对比式启发、反思式启发、辐射式启发、渐进式启发等[2]。在Java课程设计中主要从以下几个方面实施启发式教学。

2.2.1 渐进式启发学生完成项目中的部分功能模块

学生掌握表2中的基础知识后,指导教师使用渐进式启发学生完成项目中的部分功能。比如以学生信息管理系统的最简单的添加记录功能为例,开发添加记录分成四步渐进教学。

第一步:讲解数据库SQL语法中的insert into语句,例如:

String sqlString=insert into student(‘id’,’name’,’age’) values(‘2011303001’,’张三’,’20’);

第二步:启发学生思考如何将第一步中的语句中的常量如“张三”等换成Java语句中的变量。通过联想Java 语言的字符串连接技术,可以将第一步中的语句改为如下代码:

String studentId=”2011303001”;

String studentName=”张三”;

String studentAge=”20”;

String sqlString=insert into student(‘id’,’name’,’age’)

values(‘”+ studentId +”’,’”+ studentName +”’,’”+ studentAge +”’);//其中单撇号是SQL语法中的标记,双撇号是字符串标记,加号是字符串连接运算符。

第三步:启发学生将字符串变量与图形化界面联系在一起。开发出图形化界面,学生编号、学生姓名、年龄等由文本框组件的getText()方法获得。代码如下:

String studentId=txtId.getText(); //txtId为输入学号的文本框

String studentName=txtName.getText();//txtName为输入姓名的文本框

String studentAge=txtAge.getText();//txtAge为输入年龄的文本框

第四步:设计图形化组件按钮的点击事件,通过创建数据库Connection类的对象和Statement对象来执行SQL语句,完成添加学生信息进数据库。

2.2.2 反思式启发学生挖掘项目中的缺陷,总结经验教训

教师引导学生完成这部分功能后,组织学生讨论各自的项目中成功的经验和失败的教训。经过统计,学生大都采用了界面代码和业务代码混合在一起的方式。这个过程中大部分学生都提出了项目中代码重用性差、业务流程模糊、结构松散、维护困难等问题。启发学生思考如何利用面向对象的思想,掌握将数据库连接代码封装成类的方法,提出界面代码与业务代码分离的建议,鼓励学生提出自己的修改方案。

2.3 引入MVC分层思想,指导学生使用基于MVC的框架

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范,组织代码用一种业务逻辑和数据显示分离的方法,这个方法的假设前提是如果业务逻辑被聚集到一个部件里面,而且界面和用户围绕数据的交互能被改进和个性化定制而不需要重新编写业务逻辑[3]。将MVC思想引入课程设计的项目开发中,可以让学生了解层次以及框架理论,掌握软件开发规范。

2.3.1 对比式启发学生理解MVC分层理论

由教师编写基于MVC的程序实现添加学生信息的功能,在项目StudentInfoSystem中创建3个包,分别为com.model、com.view和com.control,分别对应模型层、视图层和控制层。模型层中放置业务流程中的对象;视图层中放置图形化界面类;控制层中放置业务流程的具体实现。在这种结构下实现了模型、界面和业务处理代码的有效分离;使项目分工更加明确。架构如图1所示。

图1 基于MVC分层的项目架构图

分层后模型层的Student.java类中描述Student的属性,其属性与数据库中student表的字段一一对应,部分代码如下:

public class Student{

String id;String name;String age;

public Student(String id,String name,String age){//构造函数

this.id=id;this.name=name;this.age=age;

}

}

引导学生尝试将数据库连接对象以及相应处理方法封装成DbLink.java类,部分代码如下:

package com.model;

import java.sql.*;

public class DbLink {

String dbURL;//数据库标识String user; String password;

public DbLink(){

dbURL="jdbc:mysql://localhost:3306/StudentDB";

user="root";

password="123456";

}

public Connection getConnection()

{ try

{Class.forName("com.mysql.jdbc.Driver");

return DriverManager.getConnection(dbURL,user,password);

}catch(Exception e){System.out.println("链接失败"+e.toString());}

return null;}

}

在视图层AddFrm.java中只有图形化界面的设计,其中“添加学生到数据库”按钮的事件内不再具体地处理数据库业务,而是采用简单的对象调用方法,核心代码如下:

String studentId=txtId.getText(); //txtId为输入学号的文本框

String studentName=txtName.getText();//txtName为输入姓名的文本框

String studentAge=txtAge.getText();//txtAge为输入年龄的文本框

Student stu=new Student(studentId, studentName, studentAge);

//通过构造函数将学生的全部信息封装在一个stu对象内

StudentDBI Dbi=new StudentDBI();

Dbi.AddToDb(stu);//通过StudentDBI的对象Dbi调用AddToDb方法将信息加入数据库

控制层中完成数据库的实现,但不涉及任何图形化界面元素,所以通过参数传递信息。如StudentDBI类的AddToDb方法带入了一个Student的对象,并把这些信息加入数据库。

组织大讨论,启发学生用对比法比较应用MVC思想的前后,项目的优缺点。运用鼓励性语言对学生的思考和发现给以积极评价,可以保护学生的学习热情,调动其学习积极性,使他们积极、自觉、愉快地学习;同时使后进生克服心理障碍,消除自卑心理,增强自信心[3]。在讨论中可以引入MVC思想的优点,例如耦合性低、视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样,一个应用的业务流程或者业务规则的改变只需要改动模型层即可。因为模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。MVC模式允许使用各种不同样式的视图来访问同一个服务器端的代码;有利于软件工程化管理,由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化管理程序代码。

2.3.2 启发学生参考教师完成的部分系统功能,完成课程设计任务中的其他模块

从模仿到创造是人类学习的基本规律,教师在完成添加功能模块后,鼓励学生在模仿中理解MVC思想,编写删除功能模块。仿照AddFrm.java类编写DeleteFrm.java类,开发出删除功能界面;参考添加功能的insert into语句,编写出按Id号删除功能的delete from语句,关键代码如下:

String studentId =txtId.getText();//txtId为用来输入Id的文本框

Student stu=new Student(studentId);

StudentDBI Dbi=new StudentDBI();

Dbi.DeleteFromDb(stu);//通过Dbi调用DeleteFromDb方法将信息从数据库中删除

String sqlString=”delete from student where id=’”+ studentId +”’”;

学生按照教师指引的思路独立完成删除模块功能。进一步提出让学生在理解MVC思想的基础上,创造自己的框架。学生在掌握Java操作数据库的代码后,在采用启发式教学情况下,能独立思考,理解和应用较难的MVC思想的人数由原来的40%左右增加到80%,学生能够更好地完成任务,培养自信心,提高学习的兴趣。

3 启发式教学在课程设计中实践与探索的几点思考

课程设计教学的目标是学生独立完成项目开发,学生是学习的主体,教师的作用是指导学生有效地学习。在教学过程中,运用启发式教学就是尊重学生学习的主体地位,最大限度地发挥学生学习的主观能动性[4]。运用启发式教学的实践和探索总结:(1)转变教学思想,充分认识启发式教学在课程设计中的地位与作用。将启发式教学作为深化教学改革、优化教学过程的一个指导思想。(2)更新学生观,尊重学生的学习主体地位,信任学生的能力,鼓励学生去创造。教师要最大限度地调动学生课堂学习的积极性、主动性与创造性。(3)坚决克服启发式教学运用中的形式化、片面化,教师必须因地制宜地结合实际的课程,由浅入深地设置知识结构,既不能让课程设计成为学生的简单模仿,也不能让学生无所适从。

[1]陶沼灵.启发式教学方法研究综述[J].中国成人教育,2007(4):139-140.

[2]杨宪立,赵喜来.运用启发式教学法培养学生的思维能力[J].教育与职业,2008(9):34-37.

[3]王丽霞.课堂上鼓励性语言的重要性[J].新课程,2011(2):214-218.

[4]张忠华,周阳.对启发式教学的几个探索[J].教育学刊,2009(2):50-52.

Practice and Exploration on Heuristic Teaching of Course Design Based on Java

CHEN Xiao-kui

(Anhui University of Science and Technology College of Science,Huainan Anhui 232007, China)

In order to improve students’ Java project development level, heuristic teaching of the course design is applied. Combined with the course design based on Java information and management system developed by Anhui University of Science and Technology, the thesis interprets the basic knowledge of the Java to access the database. Progressive mode inspires students to apply the knowledge to complete the project development and heuristic mode inspires students to discuss problems encountered in the project development. MVC theory is introduced in the project to enable students to complete the task by analogy heuristic. Heuristic teaching helps students consolidate basic knowledge of object-oriented thinking and understand framework of product development to improve practical ability.

Java; Course Design; Heuristic Teaching; Practice Teaching

2013-12-05

国家级特色专业(TS12142);安徽理工大学重大教学改革项目(2013zdjy082)。

陈小奎(1978- ),男,吉林松原人,安徽理工大学理学院讲师,硕士,从事计算机教育研究。

G642;TP273

A

1008-178X(2014)01-0129-05

猜你喜欢

文本框视图代码
巧用文本框实现PPT多图片排版
PPT文本框的另类应用
创世代码
创世代码
创世代码
创世代码
5.3 视图与投影
视图
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图