《面向对象程序设计Java网络与信息安全》课程教学大纲_第1页
《面向对象程序设计Java网络与信息安全》课程教学大纲_第2页
《面向对象程序设计Java网络与信息安全》课程教学大纲_第3页
《面向对象程序设计Java网络与信息安全》课程教学大纲_第4页
《面向对象程序设计Java网络与信息安全》课程教学大纲_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、PAGE PAGE 13面向对象程序设计(Java)教学大纲(课程编号:71042405)一、说明(一)课程性质本课程是计算机科学与技术(网络与信息安全)专业的专业必修课,是软件开发类的主要基础课程。(二)教学目的本课程通过讲授Java语言的基础知识、最新技术和Java程序的设计开发方法,使学生理解和掌握面向对象程序设计的基本思想,熟练地使用Java语言进行程序的编写、编译以及调试工作,熟悉Java平台的基本框架及体系结构,能独立、比较熟练地用Java技术和主流IDE进行中小规模的程序设计和开发,为后续课程及大中型应用软件的研究、设计打下基础。(三)教学内容 知识方面:了解Java语言程序设计

2、基础知识,Java语言的产生背景及其主要特点,掌握Java语言的数据类型、常量、变量、表达式,掌握Java语言的程序控制结构、以及字符串、数组等,理解Java面向对象编程的基本思想及其特征,掌握图形编程、事件处理、Swing用户界面设计;掌握部署应用程序和Applet、异常处理与调试技巧;了解泛型程序设计、集合框架;掌握多线程编程知识,Java输入输出流,了解网络编程和数据库开发知识。 技能方面:会独立编写简单的Java应用程序;会独立编写简单的Java小应用程序(Java Applet);能应用AWT和Swing常用组件设计图形化用户界面;掌握Java异常处理机制的简单应用;能编写简单的多线

3、程程序;掌握使用Java输入输出流,能实现对文件的处理。掌握JDBC,能够对数据库进行处理。(四)教学时数 108学时(课堂授课:36学时;实验:72学时)/ 4学分。(五)教学方式 多媒体教学、上机试验。二、本文理论部分第1章 Java程序设计概述与环境教学要点: 了解Java语言的发展历程;掌握Java语言的基本特点;了解Java虚拟机和Java运行系统;了解Java程序编写规范等;了解Java开发环境及常用编辑软件。教学时数: 2学时。教学内容:1.1 Java的发展及其特点(0.5学时) Java程序设计平台、Java“白皮书”的关键术语、Java发展简史、以及关于Java的常见误解。

4、1.2 Java的开发环境及安装(0.5学时) 安装Java开发工具箱、命令行开发工具、集成开发环境(NetBeans,Eclipse)。1.3 Java程序开发过程(0.2学时)源程序生成、目标代码生成、程序执行、开发过程比较。1.4 建立并运行Application(0.4学时)源程序编写、Java应用程序的运行、Java应用程序的分析。1.5 建立并运行Applet(0.4学时)源程序编写、Java Applet程序分析、字节码的嵌入、Java Applet 的运行。第2章 Java基本的程序设计结构教学要点:掌握Java的基本数据类型和表达式;掌握Java程序设计的基本控制结构;掌握基

5、本的字符串处理方法;掌握数组的定义与应用,熟悉数组查找和排序的方法。教学时数: 4学时。教学内容:2.1 Java基本数据类型(0.2学时)字符集、标识符、关键字、注释;Java共有8种基本类型:整数类型(int、short、long、byte)、浮点类型(float、double)、字符类型 (char)、布尔类型(boolean )。2.2 常量、变量与赋值(0.3学时) 常量、变量、赋值语句、简单数据的输入输出;变量的作用域和初始值。2.3 运算符与表达式(0.5学时)各种运算符、数学函数与常量、运算符的优先级与结合性;隐式类型转换和强制类型转换。2.4 程序控制语句(1学时)if、if

6、嵌套、switch等选择结构语句;while、do while和for语句等循环结构语句;break、continue、return转移语句。2.5 字符串(1学时)字符串常量;String类的构造方法、String类的基本操作、String类的API及文档;StringBuilder类字符串;命令行参数。2.6 数组(1学时)数组声明、初始化、数组元素的引用;For each循环;数组拷贝、数组排序等操作;多维数组、不规则数组。第3章 对象与类教学要点: 了解面向对象程序设计的基本思想,掌握对象、类的构建和灵活使用,方法参数的传递。教学时数: 4学时教学内容:3.1 面向对象程序设计概述(0

7、.5学时) 抽象数据类型、类和对象、类型层次(子类)、继承性、多态性。3.2 类的定义(1学时) 类的定义、域的定义、方法定义与重载、构造器、基于类的访问权限。3.3 静态域和方法(0.5学时)静态域、静态常量、静态方法、Factory方法、Main方法。3.4 方法参数(0.5学时)程序设计语言的参数传递方式;Java语言的值调用、Java语言的参数类型。3.5 对象构造(1学时)对象的定义、默认域初始化、默认构造器、显式域初始化、初始化块、对象析构与finalize方法。3.6 包(0.3学时)类的导入、静态导入、将类放入包中、包作用域。3.7 类设计技巧(0.2学时)文档注释、类的一些设

8、计技巧。第4章 继承教学要点: 掌握继承和多态、构造器的继承与重载。教学时数: 2学时。教学内容:4.1 类、超类和子类(1学时) 类继承的格式、继承层次、多态(polymorphism)、动态绑定、阻止继承:final类和方法、强制类型转换、抽象类、受保护访问。4.2 Object:所有类的超类(0.3学时) equals和toString方法、通用编程、泛型数组列表。4.3 对象包装器和自动打包(0.2学时) 对象包装器类:Integer、Long、Float、Double、Shor、Byte;Character、Void、Boolean。4.4 参数数量可变的方法(0.2学时) 参数数量

9、可变的方法的定义与使用。4.5 枚举类(0.2学时) 枚举类的定义与使用。4.6 继承设计的技巧(0.1学时) 继承设计的一些技巧。第5章 接口与内部类教学要点: 掌握接口与内部类的定义、并能够灵活应用。教学时数: 2学时。教学内容:5.1 接口(1学时) 接口的声明、接口的实现、接口的使用、接口的多态、接口与抽象类。5.2 对象克隆(0.3学时) Object类的Clone方法、浅层拷贝与深层拷贝、Java中对象克隆的实现、利用串行化来实现深层拷贝。5.3 接口与回调(0.2学时) 回调的应用。5.4 内部类(0.5学时)内部类的定义、局部内部类、匿名内部类、静态内部类。第6章 图形程序设计

10、教学要点: 了解AWT与Swing、以及图形编程基础。教学时数: 2学时。教学内容:6.1 AWT与Swing简介(0.2学时)AWT、Swing、AWT与Swing的关系。6.2 组件和容器(0.6学时) 组件、容器、添加组件、布局管理器、框架(Frame)、在组件中显示信息。6.3 图形编程(1学时) 2D图形、颜色、字体。6.4 图像(0.2学时) 图像的读入与显示。第7章 事件处理教学要点: 掌握事件处理的基本方法、熟悉键盘事件和鼠标事件的编程。教学时数: 2学时。教学内容:7.1 事件处理基础(1学时) 监听器接口的实现、用匿名类简化程序、选择事件监听器、改变观感的方法、捕获窗口事件

11、。7.2 动作事件(0.2学时) 动作接口及其类、击键关联映射。7.3 键盘事件(0.3学时) 键盘事件、虚拟键码、键盘监听接口。7.4 鼠标事件(0.3学时) 鼠标事件、鼠标监听器接口、鼠标监听器适配器。7.5 AWT事件继承层次(0.2学时) AWT事件继承层次、AWT中的事件分类。第8章 Swing用户界面组件教学要点: 熟悉Swing常用组件以及事件处理方法;掌握布局管理器的使用;掌握如何图形界面的设计。教学时数: 2学时。教学内容:8.1 Swing与模型-视图-控制器设计模式(0.1学时) 设计模式、MVC模式、Swing按钮的模型-视图-控制器分析。8.2 布局管理概述(0.2学

12、时) Java中的基本布局类型:流布局(FlowLayout)、边框布局(BorderLayout)、网格布局(GridLayout)、 卡片布局(CardLayout);以及复杂的网格组布局(GridBagLayout)。8.3 文本输入(0.3学时) 文本域、标签与标签组件、密码域、文本区、滚动窗格。8.4 选择组件(0.4学时) 复选框、单选按钮、边框、组合框、滑块。8.5 菜单(0.5学时) 菜单创建、菜单项中的图标、复选框和单选按钮菜单项、弹出菜单、快捷键和加速器、启用和禁用菜单项、工具栏和工具提示。8.6 对话框(0.5学时) 选项对话框、创建对话框、数据交换、文件对话框、颜色选择

13、器。第9章 部署应用程序和Applet教学要点: 掌握应用程序的部署方法和Applet的编程方法。教学时数: 2学时。教学内容:9.1 JAR文件(0.6学时)Jar工具的说明、清单文件、运行JAR文件、资源与密封。9.2 Java Web Start(0.3学时) Java Web Start技术体系架构、Java Web Start部署应用程序。9.3 Applet编程(1学时) Applet基础、一个Applet的生存周期、Applet的HTML标记和属性、使用参数向Applet传递信息、访问图像和音频文件、Applet上下文。9.4 应用程序存储的配置(0.1学时)属性映射、Prefe

14、rences API。第10章 异常、日志、断言和调试教学要点: 掌握异常与异常对象、异常类的层次;掌握抛出异常和异常的捕获与处理;掌握异常类的创建;了解try、catch、finally及throw、throws 的使用方法。了解断言的语法和使用原则。教学时数: 2学时。教学内容:10.1 处理异常(0.5学时)异常分类、声明已检查异常、如何抛出异常、创建异常类。10.2 捕获异常(0.5学时) try子句、catch子句、finally子句、分析堆栈跟踪元素。10.3 使用异常机制的建议(0.3学时)异常处理的方式、异常处理的原则。10.4 断言(0.3学时) 断言的概念、断言的使用、断言

15、程序分析。10.5 调试技术(0.4学时) Java中的程序调试、Eclipse下程序调试。第11章 泛型程序设计教学要点:理解泛型的作用及范型程序设计的意义、掌握泛型类的声明及实例化的方法。教学时数: 2学时。教学内容:11.1 什么是泛型程序设计(0.5学时) 非泛型的方法、泛型的方法。11.2 泛型类的定义(0.5学时) 泛型类的定义、泛型方法的声明。11.3 泛型接口的定义(0.2学时) 泛型接口的定义和使用。11.4 泛型变量的限定(0.3学时)定义泛型变量的上界、泛型变量上界的说明、定义泛型变量的下界、泛型变量下界的说明。11.5 泛型类型的继承规则(0.3学时)数组的协变性、Ja

16、va语言中泛型类不具协变性。11.6 通配符类型(0.2学时)通配符的类型限定、无限定通配符。第12章 集合教学要点: 了解Java集合框架的层次结构,以及各个接口和类之间的关系。掌握常用类和接口的使用方法和应用场合。教学时数: 2学时。教学内容:12.1 数据结构介绍(0.3学时) 线性数据结构有线性表、栈、队列、串、数组和文件;非线性数据结构有树和图。12.2 Java的集合框架(0.2学时) 集合类的作用、集合类的特点、新旧集合类。12.1 JDK1.1版本中的集合类(0.5学时) Vector、Stack、Hashtable。12.2 JDK1.2以后版本中的集合类(1学时) Coll

17、ection、List、Set、Map。第13章 多线程教学要点: 掌握线程的概念;熟练掌握Java线程的创建、线程状态与线程控制;了解线程优先级和线程调度、线程同步、死锁。教学时数: 2学时。教学内容:13.1 线程的概念(0.8学时) 程序、进程与线程、用Thread类的子类创建线程、用Runnable()接口创建线程。13.2 线程的中断(0.2学时) 线程的中断几个方法。13.3 线程的状态(0.3学时)新生线程、可运行线程、被阻塞线程和等待线程、被终止的线程。13.4 线程的属性(0.2学时) 线程优先级、守护线程、线程组以及未捕获异常处理器。13.5 线程的同步(0.5学时) 竟态

18、条件、锁对象与条件对象、synchronized关键字。第14章 流与文件教学要点: 掌握Java的输入/输出流的类的层次;掌握简单的输入/输出流(读写文件、管道流、存储器读写、用流来连接文件);了解过滤流、随机访问文件。教学时数: 2学时。教学内容:14.1 什么是流(0.1学时) Java I/O包、Java I/O流。14.2 I/O流的层次(0.2学时)File类、InputStream类、OutputStream类、Reader类、Writer类、RandomAccessFile类。14.3 文件管理类(0.2学时) 文件管理类的说明与使用。14.4 InputStream和Outp

19、utStream类(1学时) FileInputStream和FileOutputStream类、DataInputStream和DataOutputStream类、BufferedInputStream和BufferedOutputStream类、ObjectInputStream和ObjectOutputStream类、PipedInputStream和PipedOutputStream类、System.in和System.out对象。14.5 Reader和Writer类(0.3学时) Reader和Writer、InputStreamReader(InputStream in) 和Ou

20、tputStreamWriter(OutputStream out)、BufferedReader(InputStreamReader isr, int size) 和 BufferedWriter(OutputStreamWriter osr, int size)。14.6 随机文件类(0.2学时) RandomAccessFile类的说明与使用。第15章 网络编程教学要点: 掌握Java的URL类的使用方法、Java的SOCKET通讯机制;掌握Java的数据报通信方式;了解网络安全措施。教学时数: 2学时。教学内容:15.1 网络基本知识(0.2学时) 计算机网络、计算机协议、通信模式、J

21、包。15.2 网络功能与使用方法(0.2学时) URL(Uniform Resoure Locator 统一资源定位器) 、Socket(套接字) 、DataGram(数据报) 。15.3 基于URL的编程(0.3学时) URL对象的构造方法、与URL相关的异常、URL常用方法。15.4 基于Socket的通信(1学时) 套接字(Socket和ServerSocket)的组成、建立客户端Socket对象、建立服务器端套接字、接收客户端套接字、一个简单的通信程序、服务多个客户。15.5 基于数据报的通信(0.3学时) DatagramSocket类、DatagramPacket类、接收数据报、发

22、送数据报。第16章 数据库编程教学要点:掌握JDBC API及Java中有关JDBC的几个基本类;掌握在Java程序中如何利用JDBC实现与DB的连接、实现对DB的访问,及对访问结果的处理。教学时数: 2学时。教学内容:16.1 数据库基本知识(0.2学时) 什么是数据库、常见数据库、SQL语言。16.2 JDBC的基础知识(0.3学时) JDBC是一种可用于执行SQL语句的Java API、JDBC模型基础、JDBC驱动程序。16.3 Java中JDBC的应用(0.5学时) DriverManager类、Connection接口、Statement接口、ResultSet接口、ResultS

23、etMetadata接口。16.4 设置数据源(0.5学时)打开Windows中的控制面板、增加新数据源、选择驱动程序、指定数据源、将数据源与数据库连接、设置用户与密码。16.4 JDBC实现过程(0.5学时) 建立JDBC-ODBC桥接器、连接到数据库、向数据库发送SQL语句、处理查询结果。实验部分(一)基本要求本课程通过精选教学案例教学和综合实验项目实训,把案例教学和综合实训结合起来,重在培养学生的实践编程能力。1、通过一个实例系统的开发贯穿始终,让学生经历一个系统从设计到实现的完整过程。2、设计一系列综合性习题进行各阶段知识的衔接和反复应用巩固。3、课内实验以基础训练为主;而应用型综合项

24、目由于耗时较多,部分课时放在课外进行。4、应用型综合项目采取“答辩验收”的方式,督促学生认真完成,防止抄袭;同时在答辩过程中发现学习问题所在。5、采用任务激励法:制定一套“达标任务集”,分为“必做”和“选做”两种类型的任务,通过一系列阶段性任务并结合课程考核,培养学生成就感和学习兴趣。(二)实验项目总表序号实验项目名称学时数项目类别项目类型1熟悉Java程序设计环境4基础必做2Java基本程序设计结构6设计必做(二选一)3Java面向对象程序设计10设计必做(二选一)4图形用户界面设计8设计必做(二选一)5Applet程序设计4设计选做6异常处理4设计必做7多线程编程8设计必做8流与文件程序设

25、计8设计必做(二选一)9数据库编程8设计选做10综合实验12综合必做(三)实验项目内容及要求 实验项目1 熟悉Java程序设计环境实验目的:掌握JDK的配置;掌握Eclipse的安装;了解Java集成开发环境;熟悉在JDK和Eclipse中开发应用程序和Applet。实验时数: 4学时。实验内容及要求:(1) 掌握Java软件开发工具包JDK;(2) 熟悉并使用Eclipse集成开发环境;(3) 编写一个简单的应用程序进行编译、运行;(4) 编写一个简单的小程序进行编译、运行。实验材料和设备:JDK7+Eclipse实验项目2 Java基本程序设计结构实验目的:掌握Java语言的基本数据类型;

26、掌握变量和表达式的用法;熟练运用流程控制语句进行程序设计;掌握Java中的字符串及使用;掌握Java中数组的声明、创建、初始化和使用。实验时数: 6学时。实验内容及要求:(1) 设平面上有一个mn 的网格,将左下角的网格点标记为(0,0)而右上角的网格点标记为(m,n)。某人想从(0,0)出发沿网格线行进到达(m,n),但是在网格点(i,j)处他只能向上行进或者向右行进,向上行进的代价为aij(amj ),向右行进的代价是bij(bin )。试设计一个动态规划算法,在这个网格中为该旅行者寻找一条代价最小的旅行路线。编写一个简单的应用程序进行编译、运行;(2) 一个DNA 序列X 是字符集G,T

27、,A,C上的串,其上有大量信息冗余。设x 是X 的子串,x 及其冗余形式在X 内在出现的起、止位置构成了一系列等长区间p1,q1,pm,qm。试设计一个贪心算法找出p1,q1,pm,qm中互不相交的区间的最大个数,即确定x 的独立冗余度。(3) 以上两个题目可以选做其中一个。实验材料和设备:JDK7+Eclipse实验项目3 Java面向对象程序设计实验目的:掌握类的定义、对象的创建;掌握方法的定义和使用、构造函数的使用;掌握包的创建和使用;掌握派生类的定义、掌握方法的重写;掌握多态性的实现;掌握抽象类的抽象方法的定义和使用;掌握接口的定义和使用。实验时数: 10学时。实验内容及要求:(1)

28、实现程序模拟简单的企业职工管理系统。请按继承层次构建企业的各种职工类型,包括超类Employee,以及相应的子类Manager、Secretary和Programmer,从Manager继承又可得到Executive。超类Employee有编号,姓名,年龄,薪金、地址和雇佣日期等信息。用户可以根据职工编号或职工姓名查找所需的信息。管理人员可以增加,删除数据;可以写入一个数据,查找一个数据,或删除一个数据;此外,管理人员可以增加或降低每个职工的薪金。程序通过ArrayList来实现增加,查找,删除数据。(2) 实现程序模拟简单的火车售票的情况。火车票分为硬座和卧铺,车票还有普通票和学生票,有超类

29、:ticker;子类:hardseat, sleeper;孙类:normal, extra。hardseat, sleeper继承了ticker,而normal, extra分别都继承了hardseat和sleeper。火车票上有起点站和终点站,时间,座位,价格。顾客可以根据起点站和终点站查找所需的信息,可以买票。管理人员可以增加,删除数据。可以把写入一个数据,查找一个数据,或删除一个数据。程序通过ArrayList来实现增加,查找,删除数据。(3) 以上两个题目可以选做其中一个。实验材料和设备:JDK7+Eclipse实验项目4 图形用户界面设计实验目的:熟悉颜色控制、字体控制的处理;了解J

30、ava并掌握绘图类Graphics;掌握Swing组件的创建过程;掌握容器上组件的布局管理;理解Java的事件处理模型。实验时数: 8学时。实验内容及要求:(1) 编写实现一个模拟手机的图形用户界面,包括一个显示区和一个键盘区,显示区用来显示数字和信息,键盘区包括10个数字键(09)和“发送”、“清零”、“关机”三个命令键。考虑使用什么样的图形界用户界面布局策略。为所编写的界面增加事件响应功能:当用户按数字键时,相应的数字回显在显示区上;当用户按“清零”键时,显示区的数字清空;当用户按“发送”键时,显示区中出现当前的号码和“拨号中”的信息;当用户按关机键时结束程序。(2) 在图形界面中绘制二维

31、的坐标系统,其中x轴位于绘图区正中,y轴位于绘图区的最左边。设计界面接受用户输入的实验数据,同时绘制数据点,每个数据点用一个小圆号表示。最后,用直线或曲线拟合这些数据点。编写程序跟踪用户的鼠标,并时刻把鼠标位置显示出来。编写图形界面的Java程序响应鼠标单击和键盘事件,从鼠标单击的位置开始横向显示用户键入的字符,若鼠标双击则清空屏幕。(3) 以上两个题目可以选做其中一个。实验材料和设备:JDK7+Eclipse实验项目5 Applet程序设计实验目的:了解Applet基本工作原理;掌握Applet类及其主要方法;掌握HTML中的Applet标记、向Applet传递参数。实验时数: 4学时。实验

32、内容及要求:(1) 实现一个Applet程序;(2) 四叶玫瑰线的图形设计。实验材料和设备:JDK7+Eclipse实验项目6 异常处理实验目的:熟悉异常的概念、异常抛出、异常的处理;了解Java系统异常类型和异常的产生;理解什么是程序的健壮性。实验时数: 4学时。实验内容及要求:(1) 实现某一门课程的分数录入系统,界面包括学号、姓名、班级、班号、成绩的输入域和一个录入按扭。(2) 当用户单击录入按扭时,程序检查各输入域中是否有非空的数据,若有空域则抛出一个Exception对象;同时程序检查成绩输入域,如果不是数值信息,或是负的数值信息,也抛出相应的异常。在抛出异常之前应提供详细的信息说明

33、,从而使使用该程序的用户了解所出现的问题,同时考虑上述异常出现时程序应该如何处理。(3) 练习并掌握Eclipse编程环境下的断点设置、单步跟踪和变量检查等各种调试技巧。实验材料和设备:JDK7+Eclipse实验项目7 多线程编程实验目的:掌握多线程应用程序设计方法;了解关于线程对象的定义方法和多线程应用程序设计方法。实验时数: 8学时。实验内容及要求:(1) 创建两个线程,每个线程按顺序输出5次“你好”,每个“你好”要标明来自哪个线程及其顺序号。(2) 编写一个Applet程序ScreenProtect.java,模拟屏幕保护程序:屏幕上自动出现由小到大变换的实心圆,每个圆出现的位置和颜色都是随机的,当圆扩大到200像素时将其擦除,重新出现一个新的圆。实验材料和设备:JDK7+Eclipse实验项目8 流与文件程序设计实验目的:熟悉输入流、输出流的概念;学会使用标准输入输出流对标志设备进行输入输出,使用缓冲流进行文件读写;学会设置并读取程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论