摘要:《面向对象程序设计》是企业进行合作,缺乏实际工作的能力。
正是这些问题的存在,导致了学生对这门课程失去了学习的兴趣。加上高职的学生,底子本来就比较薄,学习态度也不够端正,甚至有些学生就是被父母逼来读书的,所以他们根本就没有自主学习的态度。
二、高职计算机专业《面向对象程序设计》课程中加入tea算法的意义
1、tea算法。
1994年,剑桥计算机实验室的david wheeler、roger neelham设计了一个微型加密算法,即tea(tiny encryption algorithm)算法。tea算法实现简单,加密解密速度快,是一种简单高效的加密算法。图1、图2分别为tea算法的加密和解密过程。
图1 tea加密算法
图2 tea解密算法
tea算法每一次可以操作8个字节,密钥采用16个字节,采用迭代的形式实现.。LoCalHoSttea加密算法的迭代次数是可以改变的,目前推荐64轮迭代,不过32轮迭代、16轮迭代也是足够的,甚至可以采用8轮迭代。tea算法由于实现简单,加密速度快,常被一些保密性要求不高的系统采用,比如qq的登录加密就是采用16轮tea算法来实现的。
2、《面向对象程序设计》课程中加入tea算法的意义
tea算法是编程算法中一个比较容易理解的算法之一,学生比较容易撑握,而且它主要是用在加密及解密中,笔者在教学过程中,抓住学生的“成就感”的心理:将一个加密解密程序tea算法编排穿插在教学内容中,学生很感兴趣,大大提高了学习该课程的兴趣,并取得了良好的教学效果。
三、高职计算机专业《面向对象程序设计》课程中加入tea算法的方法
1、教学模块的划分
高职计算机专业《面向对象程序设计》课程以java语言为主,其内容主要由以下几个模块组成:(1)结构化程序设计;(2)面向对象程序设计的概念及思想;(3)文件与io流;(4)图形用户界面;(5)applet小应用程序;(6)多线程。为了鼓励全体学生都能参与课程的教学与学习活动中,调动每一个学生的学习积极性与能动性,使每个学生都有事做、想做、会做、喜欢做。因此,笔者设计了一个教学思路,如图3:
2、激发兴趣,重建信心
针对大部分学生学习兴趣不浓的现状,当务之急是如何激发学生学习的兴趣,从而重建自信心。“兴趣是最好的老师”,只有有了学习兴趣才能在枯燥的学习过程中体会到乐趣。为了激发学生兴趣,采取了如下方法:
在如前所述的这几个部分中都以一个简单的加密解密算法tea穿插在这些教学活动中,如图3,在进行描述第一部分内容即结构化程序设计过程中,首先介绍程序设计的基本概念,比如基本数据类型,顺序结构,选择结构,循环结构,数组等,将这些基本概念介绍完之后,再描述tea算法的基本流程,然后让学生将该算法用java语言来实现。
由于已经将算法详细地介绍给了学生,因此学生只是将该算法用java语言来表现并上机进行验证,当同学们的程序运行通过,并发现可以将输入的一些字符加密成功,输出结果是与原来输入结果完全不同的字符时,他们获得了成就感,并感觉到自己也可以加密信息了,从而对这门课程产生了浓厚的兴趣,并盼望进一步的深入学习。
在此基础上,可以让学生尝试将rsa等加密算法用java实现,也可以帮助学生理解程序设计的基本概念。
进入第二部分,开始学习面向对象的概念和思想,一开始,学生对这些面向对象的概念不是很理解,笔者要求学生编写一个tea类,该类有加密、解密等成员方法,让学生将前面的结构化tea算法改成面向对象的方法。通过自己动手编写程序,学生逐渐竖立了类、对象、构造方法、继承、重载等概念,也逐渐竖立了面向对象的编程思维。
第三部分开始讲述文件与io流,此时,要求学生不是对某个数据加密解密,而是将整个文件加密解密,编程难度加大了,学生的兴趣也随之加大加深了。在编写程序过程中,学生对前面章节学过的如循环、字符串、数组等概念又得到了复习。当学生第一次将一个文件加密成功后,他们的欣喜是由衷的。
第四部分图形用户界面是学生最感兴趣的,因为之前编写的程序其运行结果都是千篇一律,看不出什么效果,只知道程序运行成功了,加密解密完成了,而图形用户界面以图形的方式显示出运行效果,从视觉方面引发了学生的成就感。在这一阶段的教学中,要求学生将之前编写的加密解密程序改成图形用户界面,需要运用各类组件和布局组织自己的程序运行界面,还需要编写菜单和各类触发事件。当需要对一个文件进行加密时,需要运用打开文件的对话框选择待加密的源文件,以及存放加密完成后的目标文件。
讲述applet小应用程序和多线程的时候,也是要学生继续完善tea加解密文件,比如用网页方式显示加密解密
[1] [2] 下一页