面向对象程序设计Java课程教学大纲软件工程.docx

上传人:b****1 文档编号:13226576 上传时间:2023-06-12 格式:DOCX 页数:23 大小:26.61KB
下载 相关 举报
面向对象程序设计Java课程教学大纲软件工程.docx_第1页
第1页 / 共23页
面向对象程序设计Java课程教学大纲软件工程.docx_第2页
第2页 / 共23页
面向对象程序设计Java课程教学大纲软件工程.docx_第3页
第3页 / 共23页
面向对象程序设计Java课程教学大纲软件工程.docx_第4页
第4页 / 共23页
面向对象程序设计Java课程教学大纲软件工程.docx_第5页
第5页 / 共23页
面向对象程序设计Java课程教学大纲软件工程.docx_第6页
第6页 / 共23页
面向对象程序设计Java课程教学大纲软件工程.docx_第7页
第7页 / 共23页
面向对象程序设计Java课程教学大纲软件工程.docx_第8页
第8页 / 共23页
面向对象程序设计Java课程教学大纲软件工程.docx_第9页
第9页 / 共23页
面向对象程序设计Java课程教学大纲软件工程.docx_第10页
第10页 / 共23页
面向对象程序设计Java课程教学大纲软件工程.docx_第11页
第11页 / 共23页
面向对象程序设计Java课程教学大纲软件工程.docx_第12页
第12页 / 共23页
面向对象程序设计Java课程教学大纲软件工程.docx_第13页
第13页 / 共23页
面向对象程序设计Java课程教学大纲软件工程.docx_第14页
第14页 / 共23页
面向对象程序设计Java课程教学大纲软件工程.docx_第15页
第15页 / 共23页
面向对象程序设计Java课程教学大纲软件工程.docx_第16页
第16页 / 共23页
面向对象程序设计Java课程教学大纲软件工程.docx_第17页
第17页 / 共23页
面向对象程序设计Java课程教学大纲软件工程.docx_第18页
第18页 / 共23页
面向对象程序设计Java课程教学大纲软件工程.docx_第19页
第19页 / 共23页
面向对象程序设计Java课程教学大纲软件工程.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

面向对象程序设计Java课程教学大纲软件工程.docx

《面向对象程序设计Java课程教学大纲软件工程.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计Java课程教学大纲软件工程.docx(23页珍藏版)》请在冰点文库上搜索。

面向对象程序设计Java课程教学大纲软件工程.docx

面向对象程序设计Java课程教学大纲软件工程

面向对象程序设计(Java)教学大纲

一、说明

(一)课程性质

本课程是计算机科学与技术(软件工程)专业的专业必修课,是软件开发类的主要基础课程。

(二)教学目的

本课程通过讲授Java语言的基础知识、最新技术和Java程序的设计开发方法,使学生理解和掌握面向对象程序设计的基本思想,熟练地使用Java语言进行程序的编写、编译以及调试工作,熟悉Java平台的基本框架及体系结构,能独立、比较熟练地用Java技术和主流IDE进行中小规模的程序设计和开发,为后续课程及大中型应用软件的研究、设计打下基础。

(三)教学内容

知识方面:

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

技能方面:

会独立编写简单的Java应用程序;会独立编写简单的Java小应用程序(JavaApplet);能应用AWT和Swing常用组件设计图形化用户界面;掌握Java异常处理机制的简单应用;能编写简单的多线程程序;掌握使用Java输入输出流,能实现对文件的处理。

掌握JDBC,能够对数据库进行处理。

(四)教学时数

108学时(课堂授课:

36学时;实验:

72学时)/4学分。

(五)教学方式

多媒体教学、上机试验。

二、本文

理论部分

第1章Java程序设计概述与环境

教学要点:

了解Java语言的发展历程;掌握Java语言的基本特点;了解Java虚拟机和Java运行系统;了解Java程序编写规范等;了解Java开发环境及常用编辑软件。

教学时数:

2学时。

教学内容:

1.1Java的发展及其特点(0.5学时)

Java程序设计平台、Java“白皮书”的关键术语、Java发展简史、以及关于Java的常见误解。

1.2Java的开发环境及安装(0.5学时)

安装Java开发工具箱、命令行开发工具、集成开发环境(NetBeans,Eclipse)。

1.3Java程序开发过程(0.2学时)

源程序生成、目标代码生成、程序执行、开发过程比较。

1.4建立并运行Application(0.4学时)

源程序编写、Java应用程序的运行、Java应用程序的分析。

1.5建立并运行Applet(0.4学时)

源程序编写、JavaApplet程序分析、字节码的嵌入、JavaApplet的运行。

第2章Java基本的程序设计结构

教学要点:

掌握Java的基本数据类型和表达式;掌握Java程序设计的基本控制结构;掌握基本的字符串处理方法;掌握数组的定义与应用,熟悉数组查找和排序的方法。

教学时数:

4学时。

教学内容:

2.1Java基本数据类型(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嵌套、switch等选择结构语句;while、dowhile和for语句等循环结构语句;break、continue、return转移语句。

2.5字符串(1学时)

字符串常量;String类的构造方法、String类的基本操作、String类的API及文档;StringBuilder类字符串;命令行参数。

2.6数组(1学时)

数组声明、初始化、数组元素的引用;Foreach循环;数组拷贝、数组排序等操作;多维数组、不规则数组。

第3章对象与类

教学要点:

了解面向对象程序设计的基本思想,掌握对象、类的构建和灵活使用,方法参数的传递。

教学时数:

4学时

教学内容:

3.1面向对象程序设计概述(0.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学时)

文档注释、类的一些设计技巧。

第4章继承

教学要点:

掌握继承和多态、构造器的继承与重载。

教学时数:

2学时。

教学内容:

4.1类、超类和子类(1学时)

类继承的格式、继承层次、多态(polymorphism)、动态绑定、阻止继承:

final类和方法、强制类型转换、抽象类、受保护访问。

4.2Object:

所有类的超类(0.3学时)

equals和toString方法、通用编程、泛型数组列表。

4.3对象包装器和自动打包(0.2学时)

对象包装器类:

Integer、Long、Float、Double、Shor、Byte;Character、Void、Boolean。

4.4参数数量可变的方法(0.2学时)

参数数量可变的方法的定义与使用。

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章图形程序设计

教学要点:

了解AWT与Swing、以及图形编程基础。

教学时数:

2学时。

教学内容:

6.1AWT与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学时)

监听器接口的实现、用匿名类简化程序、选择事件监听器、改变观感的方法、捕获窗口事件。

7.2动作事件(0.2学时)

动作接口及其类、击键关联映射。

7.3键盘事件(0.3学时)

键盘事件、虚拟键码、键盘监听接口。

7.4鼠标事件(0.3学时)

鼠标事件、鼠标监听器接口、鼠标监听器适配器。

7.5AWT事件继承层次(0.2学时)

AWT事件继承层次、AWT中的事件分类。

第8章Swing用户界面组件

教学要点:

熟悉Swing常用组件以及事件处理方法;掌握布局管理器的使用;掌握如何图形界面的设计。

教学时数:

2学时。

教学内容:

8.1Swing与模型-视图-控制器设计模式(0.1学时)

设计模式、MVC模式、Swing按钮的模型-视图-控制器分析。

8.2布局管理概述(0.2学时)

Java中的基本布局类型:

流布局(FlowLayout)、边框布局(BorderLayout)、网格布局(GridLayout)、卡片布局(CardLayout);以及复杂的网格组布局(GridBagLayout)。

8.3文本输入(0.3学时)

文本域、标签与标签组件、密码域、文本区、滚动窗格。

8.4选择组件(0.4学时)

复选框、单选按钮、边框、组合框、滑块。

8.5菜单(0.5学时)

菜单创建、菜单项中的图标、复选框和单选按钮菜单项、弹出菜单、快捷键和加速器、启用和禁用菜单项、工具栏和工具提示。

8.6对话框(0.5学时)

选项对话框、创建对话框、数据交换、文件对话框、颜色选择器。

第9章部署应用程序和Applet

教学要点:

掌握应用程序的部署方法和Applet的编程方法。

教学时数:

2学时。

教学内容:

9.1JAR文件(0.6学时)

Jar工具的说明、清单文件、运行JAR文件、资源与密封。

9.2JavaWebStart(0.3学时)

JavaWebStart技术体系架构、JavaWebStart部署应用程序。

9.3Applet编程(1学时)

Applet基础、一个Applet的生存周期、Applet的HTML标记和属性、使用参数向Applet传递信息、访问图像和音频文件、Applet上下文。

9.4应用程序存储的配置(0.1学时)

属性映射、PreferencesAPI。

第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学时)

断言的概念、断言的使用、断言程序分析。

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学时)

数组的协变性、Java语言中泛型类不具协变性。

11.6通配符类型(0.2学时)

通配符的类型限定、无限定通配符。

第12章集合

教学要点:

了解Java集合框架的层次结构,以及各个接口和类之间的关系。

掌握常用类和接口的使用方法和应用场合。

教学时数:

2学时。

教学内容:

12.1数据结构介绍(0.3学时)

线性数据结构有线性表、栈、队列、串、数组和文件;非线性数据结构有树和图。

12.2Java的集合框架(0.2学时)

集合类的作用、集合类的特点、新旧集合类。

12.1JDK1.1版本中的集合类(0.5学时)

Vector、Stack、Hashtable。

12.2JDK1.2以后版本中的集合类(1学时)

Collection、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学时)

竟态条件、锁对象与条件对象、synchronized关键字。

第14章流与文件

教学要点:

掌握Java的输入/输出流的类的层次;掌握简单的输入/输出流(读写文件、管道流、存储器读写、用流来连接文件);了解过滤流、随机访问文件。

教学时数:

2学时。

教学内容:

14.1什么是流(0.1学时)

JavaI/O包、JavaI/O流。

14.2I/O流的层次(0.2学时)

File类、InputStream类、OutputStream类、Reader类、Writer类、RandomAccessFile类。

14.3文件管理类(0.2学时)

文件管理类的说明与使用。

14.4InputStream和OutputStream类(1学时)

FileInputStream和FileOutputStream类、DataInputStream和DataOutputStream类、BufferedInputStream和BufferedOutputStream类、ObjectInputStream和ObjectOutputStream类、PipedInputStream和PipedOutputStream类、System.in和System.out对象。

14.5Reader和Writer类(0.3学时)

Reader和Writer、InputStreamReader(InputStreamin)和OutputStreamWriter(OutputStreamout)、BufferedReader(InputStreamReaderisr,intsize)和BufferedWriter(OutputStreamWriterosr,intsize)。

14.6随机文件类(0.2学时)

RandomAccessFile类的说明与使用。

第15章网络编程

教学要点:

掌握Java的URL类的使用方法、Java的SOCKET通讯机制;掌握Java的数据报通信方式;了解网络安全措施。

教学时数:

2学时。

教学内容:

15.1网络基本知识(0.2学时)

计算机网络、计算机协议、通信模式、J包。

15.2网络功能与使用方法(0.2学时)

URL(UniformResoureLocator统一资源定位器)、Socket(套接字)、DataGram(数据报)。

15.3基于URL的编程(0.3学时)

URL对象的构造方法、与URL相关的异常、URL常用方法。

15.4基于Socket的通信(1学时)

套接字(Socket和ServerSocket)的组成、建立客户端Socket对象、建立服务器端套接字、接收客户端套接字、一个简单的通信程序、服务多个客户。

15.5基于数据报的通信(0.3学时)

DatagramSocket类、DatagramPacket类、接收数据报、发送数据报。

第16章数据库编程

教学要点:

掌握JDBCAPI及Java中有关JDBC的几个基本类;掌握在Java程序中如何利用JDBC实现与DB的连接、实现对DB的访问,及对访问结果的处理。

教学时数:

2学时。

教学内容:

16.1数据库基本知识(0.2学时)

什么是数据库、常见数据库、SQL语言。

16.2JDBC的基础知识(0.3学时)

JDBC是一种可用于执行SQL语句的JavaAPI、JDBC模型基础、JDBC驱动程序。

16.3Java中JDBC的应用(0.5学时)

DriverManager类、Connection接口、Statement接口、ResultSet接口、ResultSetMetadata接口。

16.4设置数据源(0.5学时)

打开Windows中的控制面板、增加新数据源、选择驱动程序、指定数据源、将数据源与数据库连接、设置用户与密码。

16.4JDBC实现过程(0.5学时)

建立JDBC-ODBC桥接器、连接到数据库、向数据库发送SQL语句、处理查询结果。

实验部分

(一)基本要求

本课程通过精选教学案例教学和综合实验项目实训,把案例教学和综合实训结合起来,重在培养学生的实践编程能力。

1、通过一个实例系统的开发贯穿始终,让学生经历一个系统从设计到实现的完整过程。

2、设计一系列综合性习题进行各阶段知识的衔接和反复应用巩固。

3、课内实验以基础训练为主;而应用型综合项目由于耗时较多,部分课时放在课外进行。

4、应用型综合项目采取“答辩验收”的方式,督促学生认真完成,防止抄袭;同时在答辩过程中发现学习问题所在。

5、采用任务激励法:

制定一套“达标任务集”,分为“必做”和“选做”两种类型的任务,通过一系列阶段性任务并结合课程考核,培养学生成就感和学习兴趣。

(二)实验项目总表

序号

实验项目名称

学时数

项目类别

项目类型

1

熟悉Java程序设计环境

4

基础

必做

2

Java基本程序设计结构

6

设计

必做(二选一)

3

Java面向对象程序设计

10

设计

必做(二选一)

4

图形用户界面设计

8

设计

必做(二选一)

5

Applet程序设计

4

设计

选做

6

异常处理

4

设计

必做

7

多线程编程

8

设计

必做

8

流与文件程序设计

8

设计

必做(二选一)

9

数据库编程

8

设计

选做

10

综合实验

12

综合

必做

(三)实验项目内容及要求

实验项目1熟悉Java程序设计环境

实验目的:

掌握JDK的配置;掌握Eclipse的安装;了解Java集成开发环境;熟悉在JDK和Eclipse中开发应用程序和Applet。

实验时数:

4学时。

实验内容及要求:

(1)掌握Java软件开发工具包JDK;

(2)熟悉并使用Eclipse集成开发环境;

(3)编写一个简单的应用程序进行编译、运行;

(4)编写一个简单的小程序进行编译、运行。

实验材料和设备:

JDK7+Eclipse

实验项目2Java基本程序设计结构

实验目的:

掌握Java语言的基本数据类型;掌握变量和表达式的用法;熟练运用流程控制语句进行程序设计;掌握Java中的字符串及使用;掌握Java中数组的声明、创建、初始化和使用。

实验时数:

6学时。

实验内容及要求:

(1)设平面上有一个m×n的网格,将左下角的网格点标记为(0,0)而右上角的网格点标记为(m,n)。

某人想从(0,0)出发沿网格线行进到达(m,n),但是在网格点(i,j)处他只能向上行进或者向右行进,向上行进的代价为aij(amj=+∞),向右行进的代价是bij(bin=+∞)。

试设计一个动态规划算法,在这个网格中为该旅行者寻找一条代价最小的旅行路线。

编写一个简单的应用程序进行编译、运行;

(2)一个DNA序列X是字符集{G,T,A,C}上的串,其上有大量信息冗余。

设x是X的子串,x及其冗余形式在X内在出现的起、止位置构成了一系列等长区间[p1,q1],…,[pm,qm]。

试设计一个贪心算法找出[p1,q1],…,[pm,qm]中互不相交的区间的最大个数,即确定x的独立冗余度。

(3)以上两个题目可以选做其中一个。

实验材料和设备:

JDK7+Eclipse

实验项目3Java面向对象程序设计

实验目的:

掌握类的定义、对象的创建;掌握方法的定义和使用、构造函数的使用;掌握包的创建和使用;掌握派生类的定义、掌握方法的重写;掌握多态性的实现;掌握抽象类的抽象方法的定义和使用;掌握接口的定义和使用。

实验时数:

10学时。

实验内容及要求:

(1)实现程序模拟简单的企业职工管理系统。

请按继承层次构建企业的各种职工类型,包括超类Employee,以及相应的子类Manager、Secretary和Programmer,从Manager继承又可得到Executive。

超类Employee有编号,姓名,年龄,薪金、地址和雇佣日期等信息。

用户可以根据职工编号或职工姓名查找所需的信息。

管理人员可以增加,删除数据;可以写入一个数据,查找一个数据,或删除一个数据;此外,管理人员可以增加或降低每个职工的薪金。

程序通过ArrayList来实现增加,查找,删除数据。

(2)实现程序模拟简单的火车售票的情况。

火车票分为硬座和卧铺,车票还有普通票和学生票,有超类:

ticker;子类:

hardseat,sleeper;孙类:

normal,extra。

hardseat,sleeper继承了ticker,而normal,extra分别都继承了hardseat和sleeper。

火车票上有起点站和终点站,时间,座位,价格。

顾客可以根据起点站和终点站查找所需的信息,可以买票。

管理人员可以增加,删除数据。

可以把写入一个数据,查找一个数据,或删除一个数据。

程序通过ArrayList来实现增加,查找,删除数据。

(3)以上两个题目可以选做其中一个。

实验材料和设备:

JDK7+Eclipse

实验项目4图形用户界面设计

实验目的:

熟悉颜色控制、字体控制的处理;了解Java并掌握绘图类Graphics;掌握Swing组件的创建过程;掌握容器上组件的布局管理;理解Java的事件处理模型。

实验时数:

8学时。

实验内容及要求:

(1)编写实现一个模拟手机的图形用户界面,包括一个显示区和一个键盘区,显示区用来显示数字和信息,键盘区包括10个数字键(0~9)和“发送”、“清零”、“关机”三个命令键。

考虑使用什么样的图形界用户界面布局策略。

为所编写的界面增加事件响应功能:

当用户按数字键时,相应的数字回显在显示区上;当用户按“清零”键时,显示区的数字清空;当用户按“发送”键时,显示区中出现当前的号码和“拨号中......”的信息;当用户按关机键时结束程序。

(2)在图形界面中绘制二维的坐标系统,其中x轴位于绘图区正中,y轴位于绘图区的最左边。

设计界面接受用户输入的实验数据,同时绘制数据点,每个数据点用一个小圆号表示。

最后,用直线或曲线拟合这些数据点。

编写程序跟踪用户的鼠标,并时刻把鼠标位置显示出来。

编写图形界面的Java程序响应鼠标单击和键盘事件,从鼠标单击的位置开始横向显示用户键入的字符,若鼠标双击则清空屏幕。

(3)以上两个题目可

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2