面向对象程序设计Java课程教学大纲软件工程.docx
- 文档编号:13226576
- 上传时间:2023-06-12
- 格式:DOCX
- 页数:23
- 大小:26.61KB
面向对象程序设计Java课程教学大纲软件工程.docx
《面向对象程序设计Java课程教学大纲软件工程.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计Java课程教学大纲软件工程.docx(23页珍藏版)》请在冰点文库上搜索。
面向对象程序设计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)以上两个题目可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 Java 课程 教学大纲 软件工程
文档标签
- 软件工程教学大纲详解
- java课程教学大纲
- 面向对象程序设计郑州大学远程教育面向
- 面向对象的程序设计江南大学面向
- JAVA程序设计电子科技大学JAVA程序设计
- Java程序设计东北师范大学Java程序设计
- 平面设计软件平面设计软件教学大纲
- 程序设计课程教学大纲
- 长江大学ansysCADCAE软件课程设计
- 面向对象程序设计16北理工面向
- 软件工程复习面向对象
- 软件工程导论教学大纲章程
- Java程序设计课程教学大纲
- JAVA程序设计教学大纲本科
- 软件工程0305面向
- 软件工程课程设计面向对象
- 面向对象程序设计福建工程学院面向
- 软件工程学习程序设计
- 软件综合课程设计教学大纲
- UG软件逆向工程
- 软件工程教学大纲
- 软件工程教学大纲
- IBMThinkpad软件详解
- 生理大纲详解
- 软件工程教学大纲
- 办公软件教学大纲
- 07大纲详解
- 软件工程大纲