课程 名称 专业及班级 总学时 课程类型 Java程序设计 课程 编号 授课时间 修课 人数 5 2012-2013 (上) 计科学院计算机科学与技术专业2011级本科 80 学分 公共基础 ( ) 专业限选课 ( ) 必修课 选修课 专业(学科)基础课 ( √ ) 专业任选课 ( ) 专业课 ( ) 全校任选课 ( ) 授课方式 学时分配 考核方式 是否采用多媒体 理论课 ( √ ) 实践课 ( √ ) 课堂讲授 48 学时; 实践环节 32 学时 考 试 ( √ ) 考 查( ) 是 是否采用双语 否 使用教材:(名称、作者、出版社及出版时间) 《Java程序设计》,雍俊海,清华大学出版社,2008 教学参考书:(名称、作者、出版社及出版时间) 《Java 2核心技术 卷I(原书第8版)》,Horstmann,C.S,机械工业出版社,2008 《JAVA程序设计基础教程》,杨佩理、周宏斌,机械工业出版社,2010 《Java编程思想(第4版)》,Bruce Echkel,机械工业出版社,2007 教研室 审查意见 注:表中( )选项请打“√”。 2012-2013(上)《Java程序设计》课程教学教案(项炜)
第1章 绪论
一、教学目的和要求
了解Java语言的发展历史,Java语言的特点,学会安装配置Java开发环境,能够编译和运行Java程序。
二、讲授的内容提要和重点、难点及其解决方法,学时分配 1、教学内容
Java语言的发展历史 Java语言的特点
Java开发环境的安装与配置
Java程序开发过程以及命令行状态下编译与运行过程介绍 2、教学重点
Java语言的特点,开发环境配置,编译运行方法 3、教学难点
理解Java程序为什么能够一次编译到处运行;为什么要配置Path环境变量;编译与运行的注意事项。 4、解决办法
原理讲解,操作演示 5、学时分配 发展历史:0.5课时
Java语言的特点:0.5课时
Java开发环境的安装与配置:0.5课时
1
2012-2013(上)《Java程序设计》课程教学教案(项炜)
Java程序开发过程以及命令行状态下编译与运行过程介绍:0.5课时 三、教学过程(教学方法、实施步骤)
使用PPT讲解,运行环境配置,编译运行Java程序则现场操作演示。 四、课外学习要求和作业要求
课外作业:要求下载JDK,自行安装配置并编译运行HelloWorld.java程序
2
2012-2013(上)《Java程序设计》课程教学教案(项炜)
第2章 Java程序设计基础
一、教学目的和要求
了解Java中数据的类型,表示方法,变量的声明,掌握使用标识符命名Java中各种成分的规定和规范;正确掌握表达式的书写方法;能够使用各种控制结构实现程序的逻辑;掌握结构化程序设计的思想和算法描述工具的使用。 二、讲授的内容提要和重点、难点及其解决方法,学时分配 1、教学内容
标识符和关键字 基本数据类型 常量和变量 数据类型转换
运算符:算术运算符、关系运算符、布尔逻辑运算符、位运算符、赋值类运算符、条件运算符等 表达式
程序流程控制语句:if和switch语句;for、while、do~while循环语句;break、Continue和return语句 结构化程序设计 2、教学重点
基本数据类型和类型转换,常量和变量,运算符与表达式,程序流程控制语句。 3、教学难点
数据类型转换;前缀自增、自减运算符与后缀自增、自减运算符的区别;程序流程控制语句。分支语句的嵌套;循环语句的嵌套;标号的概念与使用。
3
2012-2013(上)《Java程序设计》课程教学教案(项炜)
4、解决办法
原理讲解,操作演示 5、学时分配
标识符和关键字,基本数据类型,常量和变量:2学时 数据类型转换,运算符,表达式:1学时
程序流程控制语句,break、Continue和return语句:2学时 结构化程序设计:1学时
三、教学过程(教学方法、实施步骤)
使用PPT讲解,对每一个编程知识点编写Java程序进行运行演示。 四、课外学习要求和作业要求
课外作业:要求复习课堂教学内容,对主要知识点布置作业,要求编写程序并条试运行。要求学会使用算法描述工具表示和设计程序的算法。
4
2012-2013(上)《Java程序设计》课程教学教案(项炜)
第3章 面向对象程序设计
一、教学目的和要求
了解面向对象程序设计基本思想,掌握类的设计方法、实例对象的创建与使用。了解变量作用域范围与参数传递方式。了解并能运用Java中面向对象的封装性、继承性、多态性;
掌握访问权限的控制方法,修饰词abstract、static和final的使用;掌握包、抽象类、接口、
内部类的概念和使用方法。
二、讲授的内容提要和重点、难点及其解决方法,学时分配 1、教学内容
类和对象的基本概念。 面向对象程序设计基本思想。
类的设计、构造方法、类的成员变量和成员方法。 实例对象的创建与使用。 变量作用域范围与参数传递方式。 继承性。
多态性:静态多态性和动态多态性。 封装性和访问权限控制。
修饰词abstract、static和final。 包的概念和使用 抽象类和接口。 内部类。
5
2012-2013(上)《Java程序设计》课程教学教案(项炜)
2、教学重点
类的定义,对象的创建,构造方法的定义与使用,方法的重载与覆盖,类的继承,包,抽象类和接口。 3、教学难点
类与对象的概念、创建和使用;方法重载的规则;类的继承与运行时多态,类继承时对构造方法的处理问题,访问控制权限的使用;方法覆盖的规则;抽象类的应用,接口的应用;抽象类与接口的异同。 4、解决办法
原理讲解,操作演示 5、学时分配
类和对象的基本概念,面向对象程序设计基本思想:2学时
类的设计、构造方法、类的成员变量和成员方法,实例对象的创建与使用,变量作用域范围与参数传递方式:2学时
继承性,方法覆盖,多态性:静态多态性和动态多态性:2学时 封装性和访问权限控制,修饰词abstract、static和final,包的概念和使用:2学时
抽象类和接口,内部类:2学时 三、教学过程(教学方法、实施步骤)
使用PPT讲解,对每一个编程知识点编写Java程序进行运行演示。 四、课外学习要求和作业要求
课外作业:要求复习课堂教学内容,对主要知识点布置作业,要求编写程序并条试运行。安排4个学时的课内上机实验。
6
2012-2013(上)《Java程序设计》课程教学教案(项炜)
第4章 数组、字符串、向量与哈希表
一、教学目的和要求
了解一维数据和数组的声明与使用,掌握遍历数组的方法,了解并能够使用字符串String的常用方法,掌握StringBuffer的用法,了解并掌握向量Vector,哈希表Hashtable、HashMap和WeakHashMap的用法。 二、讲授的内容提要和重点、难点及其解决方法,学时分配 1、教学内容
数组:一维数据和数组。 字符串:String和StringBuffer。 向量:Vector。
哈希表:Hashtable、HashMap和WeakHashMap。 2、教学重点
一维数组的使用,String和StringBuffer的构造方法和常见方法的使用,Vector类的使用,哈希表类的创建和使用。 3、教学难点
数组的声明和使用,数组的初始化方法,String和StringBuffer的使用方法的区别,哈希表类的使用。 4、解决办法
原理讲解,操作演示 5、学时分配
数组:一维数据和数组:1.5学时 字符串:String和StringBuffer:1学时 向量:Vector,哈希表:1.5学时
7
2012-2013(上)《Java程序设计》课程教学教案(项炜)
三、教学过程(教学方法、实施步骤)
使用PPT讲解,对每一个编程知识点编写Java程序进行运行演示。 四、课外学习要求和作业要求
课外作业:要求复习课堂教学内容,对主要知识点布置作业,要求编写程序并条试运行。要求作业必须进行上机调试。
8
2012-2013(上)《Java程序设计》课程教学教案(项炜)
第5章 异常处理
一、教学目的和要求
了解异常的概念,异常类的层次结构;掌握异常的抛出、捕获和处理方法;能够自定义异常类并且使用自定义异常类。
二、讲授的内容提要和重点、难点及其解决方法,学时分配 1、教学内容
异常的概念。 异常类的层次结构。 异常的抛出、捕获和处理。 自定义异常类 2、教学重点
异常的基本概念,异常的抛出捕获和处理,自定义异常类。 3、教学难点
异常的处理机制;Try-catch-finallly异常处理结构的执行流程特点;自定义异常类。 4、解决办法
原理讲解,操作演示 5、学时分配
异常的概念,异常类的层次结构:0.5学时 异常的抛出、捕获和处理:1学时 自定义异常类:0.5学时
三、教学过程(教学方法、实施步骤)
9
2012-2013(上)《Java程序设计》课程教学教案(项炜)
使用PPT讲解,对每一个编程知识点编写Java程序进行运行演示。 四、课外学习要求和作业要求
课外作业:要求复习课堂教学内容,对主要知识点布置作业,要求编写程序并条试运行。安排一次课内上机实验。
10
2012-2013(上)《Java程序设计》课程教学教案(项炜)
第6章 文件与数据流
一、教学目的和要求
了解输入流与输出流的基本概念,掌握常见输入和输出流类的使用,掌握文件和随机存取文件的操作,了解读写器的使用方法,掌握对象序列化的概念。能够编写从键盘输入数据以及对磁盘文件进行读写的程序 二、讲授的内容提要和重点、难点及其解决方法,学时分配 1、教学内容
输入流与输出流的基本概念。
常见输入和输出流类:InputStream和OutputStream,DataInputStream和DataOutputStream,FileInputStream和FileOutputStream,PrintStream, 带缓存的输入流和输出流。
文件和随机存取文件。
读写器:Reader和Writer,FileReader和FileWriter,带缓存的读写器,PrintWriter。
对象序列化。 2、教学重点
输入输出流的基本概念,文件输入流和文件输出流,文件与目录管理,随机存取文件。 3、教学难点
字节流与字符流的选用,节点流与过滤流的配合使用,随机读写文件,对象序列化。 4、解决办法
原理讲解,操作演示 5、学时分配
11
2012-2013(上)《Java程序设计》课程教学教案(项炜)
输入流与输出流的基本概念,常见输入和输出流类的使用,过滤流的使用:2学时
文件和随机存取文件,读写器:Reader和Writer,FileReader和FileWriter,带缓存的读写器,PrintWriter,对象序列化:2学时 三、教学过程(教学方法、实施步骤)
使用PPT讲解,对每一个编程知识点编写Java程序进行运行演示。 四、课外学习要求和作业要求
课外作业:要求复习课堂教学内容,对主要知识点布置作业,要求编写程序并条试运行。安排一次课内上机实验。
12
2012-2013(上)《Java程序设计》课程教学教案(项炜)
第7章 图形用户界面程序设计
一、教学目的和要求
了解基本组件和容器组件,掌握主要布局管理器的概念和使用方法,掌握事件处理机制及其实现方法,了解Swing的特点和类的层次结构,Swing常见组件和容器;掌握键盘和鼠标事件处理方法,了解高级图形用户界面:菜单、树、表格和多文档界面的编程方法;掌握Java的图形程序设计。 二、讲授的内容提要和重点、难点及其解决方法,学时分配 1、教学内容
AWT功能和类的层次结构。(选讲) AWT的基本组件和容器组件。(选讲) 布局管理器。 事件处理机制。
Swing的特点和类的层次结构。 Swing常见组件和容器。 键盘和鼠标事件处理。
高级图形用户界面:菜单、树、表格和多文档界面。
小应用程序:Applet的基本工作原理, Applet生命周期, Applet类中的重要方法, Applet编写方法和Applet与浏览器的参数传递。(选讲)
Java的图形程序设计。 2、教学重点
常用的GUI组件和容器,布局管理器,事件处理机制,菜单和表格。 3、教学难点:
布局管理器的灵活应用,事件处理机制,表格处理。
13
2012-2013(上)《Java程序设计》课程教学教案(项炜)
4、解决办法
原理讲解,操作演示 5、学时分配
常用图形控件,基本组件和容器组件,布局管理器:2学时 事件处理机制:2学时
Swing的特点和类的层次结构,Swing常见组件和容器:2学时 键盘和鼠标事件处理:2学时
高级图形用户界面:菜单、树、表格和多文档界面:2学时
小应用程序:Applet的基本工作原理, Applet生命周期, Applet类中的重要方法, Applet编写方法和Applet与浏览器的参数传递。:2学时
Java的图形程序设计:2学时 三、教学过程(教学方法、实施步骤)
使用PPT讲解,对每一个编程知识点编写Java程序进行运行演示。 四、课外学习要求和作业要求
课外作业:要求复习课堂教学内容,对主要知识点布置作业,要求编写程序并条试运行。安排4学时课内上机实验。
14
2012-2013(上)《Java程序设计》课程教学教案(项炜)
第8章 多线程程序设计
一、教学目的和要求
了解基本组件和容器组件,掌握主要布局管理器的概念和使用方法,掌握事件处理机制及其实现方法,了解Swing的特点和类的层次结构,Swing常见组件和容器;掌握键盘和鼠标事件处理方法,了解高级图形用户界面:菜单、树、表格和多文档界面的编程方法;掌握Java的图形程序设计。 二、讲授的内容提要和重点、难点及其解决方法,学时分配 1、教学内容
程序、进程、线程的概念。 线程的创建。
线程的状态与线程的控制。 线程优先级与线程调度。 多线程的同步问题和处理方法。 2、教学重点
线程的创建、线程的控制与调度,多线程同步问题。 3、教学难点
两种创建线程的方法的区别,启动线程的start()方法与直接调用run()方法的区别,多线程同步问题和处理方法。 4、解决办法
原理讲解,操作演示 5、学时分配
程序、进程、线程的概念,线程的创建,线程的状态与线程的控制:2学时 线程优先级与线程调度,多线程的同步问题和处理方法:2学时
15
2012-2013(上)《Java程序设计》课程教学教案(项炜)
三、教学过程(教学方法、实施步骤)
使用PPT讲解,对每一个编程知识点编写Java程序进行运行演示。 四、课外学习要求和作业要求
课外作业:要求复习课堂教学内容,对主要知识点布置作业,要求编写程序并条试运行。安排2学时课内上机实验。
16
2012-2013(上)《Java程序设计》课程教学教案(项炜)
第9章 网络程序设计
一、教学目的和要求
了解基本组件和容器组件,掌握主要布局管理器的概念和使用方法,掌握事件处理机制及其实现方法,了解Swing的特点和类的层次结构,Swing常见组件和容器;掌握键盘和鼠标事件处理方法,了解高级图形用户界面:菜单、树、表格和多文档界面的编程方法;掌握Java的图形程序设计。 二、讲授的内容提要和重点、难点及其解决方法,学时分配 1、教学内容
基于URL获取网络资源 基于TCP的网络程序设计 基于UDP的网络程序设计 2、教学重点
基于URL获取网络资源,基于TCP的网络程序设计。 3、教学难点
支持多客户端/服务器端程序的设计与开发。 4、解决办法
原理讲解,操作演示 5、学时分配
基于URL获取网络资源:1学时 基于TCP的网络程序设计:1.5学时 基于UDP的网络程序设计:1.5学时 三、教学过程(教学方法、实施步骤)
17
2012-2013(上)《Java程序设计》课程教学教案(项炜)
使用PPT讲解,对每一个编程知识点编写Java程序进行运行演示。 四、课外学习要求和作业要求
课外作业:要求复习课堂教学内容,对主要知识点布置作业,要求编写程序并条试运行。
18