《JAVA程序设计》课程教学大纲 课程名称:JAVA程序设计 课程代码:TELE2119 英文名称:JAVA Programming 课程性质:专业选修课程 学分/学时:2.5/45(讲课30,实验15) 开课学期:第3学期 适用专业:电子科学与技术、信息工程、电子信息工程、通信工程、微电子等 先修课程:C语言程序设计 后续课程:多媒体处理技术 开课单位:电子信息学院 课程负责人:周敏彤 大纲执笔人:姜敏 大纲审核人:刘学观 一、 课程性质和教学目标 课程性质:《Java程序设计》是电子信息学院通信工程、电子信息工程、信息工程等 电子与电气信息类专业的专业选修课之一。Java语言是目前广为流行的程序设计语言之一, 适用于网络编程,满足Internet上软件开发的需要,它是一门概念性和实践性都很强的专 业课程。课堂理论教学以Java语言的基本概念、编程原理为主,培养学生使用Java语言 在相关平台上开发小型应用程序的能力。该课程注重Java语言理论与实验的紧密结合,使 学生深入理解面向对象程序设计的内涵和实质。 教学目标:这门课的主要目的是为Java Application和Applet的面向对象的程序设 计提供所需要的知识和技巧。课程主要介绍Java语言的语法和面向对象程序设计的概念, 以及图形用户接口、多线程、网络编程等由Java运行环境的支持的一些较复杂的功能。本 课程的具体教学目标如下: l、Java语言的语法知识:介绍基本Java类型、运算、表达式、语句、流程控制语句等一 些基础知识: 2、面向对象的程序设计的概念:介绍类、对象、继承、多态等与面向对象有关的基础知 识: 3、异常类以及多线程机制: 4、图形用户界面编程基础: 二、 课程目标与毕业要求的对应关系 毕业要求 指标点 课程目标 1.2掌握计算机软硬件基础概念,具备对工程 1、 工程知识 教学目标1、2 问题进行软硬件分析与设计的基本能力
《JAVA 程序设计》课程教学大纲 课程名称:JAVA 程序设计 课程代码: TELE2119 英文名称:JAVA Programming 课程性质:专业选修课程 学分/学时:2.5/45(讲课 30,实验 15) 开课学期:第 3 学期 适用专业:电子科学与技术、信息工程、电子信息工程、通信工程、微电子等 先修课程:C 语言程序设计 后续课程:多媒体处理技术 开课单位:电子信息学院 课程负责人:周敏彤 大纲执笔人:姜敏 大纲审核人:刘学观 一、 课程性质和教学目标 课程性质:《Java 程序设计》是电子信息学院通信工程、电子信息工程、信息工程等 电子与电气信息类专业的专业选修课之一。Java 语言是目前广为流行的程序设计语言之一, 适用于网络编程,满足 Internet 上软件开发的需要,它是一门概念性和实践性都很强的专 业课程。课堂理论教学以 Java 语言的基本概念、编程原理为主,培养学生使用 Java 语言 在相关平台上开发小型应用程序的能力。该课程注重 Java 语言理论与实验的紧密结合,使 学生深入理解面向对象程序设计的内涵和实质。 教学目标:这门课的主要目的是为 Java Application 和 Applet 的面向对象的程序设 计提供所需要的知识和技巧。课程主要介绍 Java 语言的语法和面向对象程序设计的概念, 以及图形用户接口、多线程、网络编程等由 Java 运行环境的支持的一些较复杂的功能。本 课程的具体教学目标如下: 1、 Java 语言的语法知识:介绍基本 Java 类型、运算、表达式、语句、流程控制语句等一 些基础知识; 2、 面向对象的程序设计的概念:介绍类、对象、继承、多态等与面向对象有关的基础知 识; 3、 异常类以及多线程机制; 4、 图形用户界面编程基础; 二、 课程目标与毕业要求的对应关系 毕业要求 指标点 课程目标 1、工程知识 1.2 掌握计算机软硬件基础概念,具备对工程 问题进行软硬件分析与设计的基本能力 教学目标 1、2
5、使用现代工具5.1能合理使用现代信息技术工具 教学目标3和4 三、 课程教学内容及学时分配(重点内容:★:难点内容:△) l、Introduction to Java applications and Applets(Java应用程序和小程序简介)(2学时) (支撑课程目标1) l)Java语言的特点 2)Java应用程序特点 3)Java应用程序的编写 4)Java小应用程序特点 5)Java小应用程序的编写 女目标及要求: 1)清楚本课程的主要教学目标和教学内容,考核方式★ 2)了解:什么是面向对象编程,与传统的过程化程序设计相比存在哪些特点。Java程序 设计的应用领域,它的发展概况和发展趋势。 3)加深理解Java跨平台原理 4)掌握Java编译与运行环境★ 众 作业内容: Java应用程序与小应用程序编译与运行环境 ◇ 讨论内容: Java语言的特点 令自学拓展: Java应用程序和小应用程序的区别 2、Control Structure Part 1(控制结构第一部分)(2学时)(支撑课程目标1) 1)常用的关键字和保留字 2)if,if/else语句,while语句 3)操作符?= 4)分配操作符,自增自减操作符 5)基本数据类型 目标及要求: 1)熟悉常用的关键字 2)了解各类操作符 3)掌握八种基本数据类型★ 作业内容:
5、使用现代工具 5.1 能合理使用现代信息技术工具 教学目标 3 和 4 三、 课程教学内容及学时分配(重点内容:;难点内容:) 1、 Introduction to Java applications and Applets(Java 应用程序和小程序简介) (2 学时) (支撑课程目标 1) 1)Java 语言的特点 2)Java 应用程序特点 3)Java 应用程序的编写 4)Java 小应用程序特点 5)Java 小应用程序的编写 目标及要求: 1) 清楚本课程的主要教学目标和教学内容,考核方式 2) 了解:什么是面向对象编程,与传统的过程化程序设计相比存在哪些特点。Java 程序 设计的应用领域,它的发展概况和发展趋势。 3) 加深理解 Java 跨平台原理 4) 掌握 Java 编译与运行环境 作业内容: Java 应用程序与小应用程序编译与运行环境 讨论内容: Java 语言的特点 自学拓展: Java 应用程序和小应用程序的区别 2、 Control Structure Part 1(控制结构第一部分) (2 学时)(支撑课程目标 1) 1)常用的关键字和保留字 2)if, if/else 语句,while 语句 3)操作符?= 4)分配操作符,自增自减操作符 5)基本数据类型 目标及要求: 1) 熟悉常用的关键字 2) 了解各类操作符 3) 掌握八种基本数据类型 作业内容:
Java各类操作符与基本数据类型 令讨论内容: 自加和自减操作符 自学拓展: Java基本数据类型的强制转换问题 3、 Control Structure Part2(控制结构第二部分)(2学时)(支撑课程目标1) 1)for,while,.do/while循环结构并举例说明 2)switch语句并举例说明 3)带标记的break,continue语句 女目标及要求: 1)掌握循环语句的语法结构以及相互的转换★△ 2)掌握switch语句 ◇ 作业内容: 循环结构举例说明 令讨论内容: 对结构化编程做总结。 令自学拓展: 比较带标记与不带标记的break,continue语句的异同。 4、method(方法)(3学时)(支撑课程目标1) 1)Math类的使用方法和举例说明 2)方法的定义以及类中如何写一个方法 3)Java包并介绍java API包。 4)产生随机数的方法Random()方法 5)递归程序的举例说明、比较递归和循环 6)方法的重载 7)JApplet的方法,init(O,start()等 目标及要求: 1)掌握方法的定义★ 2)了解Java API包 3)掌握方法的重载★△ 4)了解JApplet的方法,initO,)start(0等 令作业内容: JApplet方法的生命周期
Java 各类操作符与基本数据类型 讨论内容: 自加和自减操作符 自学拓展: Java 基本数据类型的强制转换问题 3、 Control Structure Part 2(控制结构第二部分) (2 学时)(支撑课程目标 1) 1)for, while, do/while 循环结构并举例说明 2)switch 语句并举例说明 3)带标记的 break, continue 语句 目标及要求: 1)掌握循环语句的语法结构以及相互的转换 2)掌握 switch 语句 作业内容: 循环结构举例说明 讨论内容: 对结构化编程做总结。 自学拓展: 比较带标记与不带标记的 break, continue 语句的异同。 4、method (方法) (3 学时)(支撑课程目标 1) 1) Math 类的使用方法和举例说明 2) 方法的定义以及类中如何写一个方法 3) Java 包并介绍 java API 包。 4) 产生随机数的方法 Random()方法 5) 递归程序的举例说明、比较递归和循环 6) 方法的重载 7) JApplet 的方法,init(), start()等 目标及要求: 1) 掌握方法的定义 2) 了解 Java API 包 3) 掌握方法的重载 4) 了解 JApplet 的方法,init(), start()等 作业内容: JApplet 方法的生命周期
讨论内容: 无 自学拓展: 实例编写,一个机会游戏程序 5、Arrays((数组)(2学时)(支撑课程目标1) 1)介绍二维数组数组的声明,以及动态分配 2)数组元素的计算 3)传递数组到方法中 4)数组排序,介绍几种排序方法。 5)数组中数据查询并举例说明 6)介绍多维数组,包括多维数组的定义和使用 ◇目标及要求: 1)掌握数组的声明与动态分配★ 2)熟悉几种常用的数组排序方法 3)掌握在方法中将数组作为参数,完成数组元素的传递 作业内容: 数组元素的求和,用直方图显示数组的数据 讨论内容: 无 H 自学拓展: 无 6、 Object--Based Programming(基于对象的编程)(5学时)(支撑课程目标2) 1)抽象数据类型类的声明和定义 2)介绍对类的一些操作,实例化一个类,对类中成员的访问 3)创建一个包,包的作用,以及包的创建和使用 4)this指针用法 5)构造方法的概念,构造方法的特点及作用 6)重载的构造方法,在一个类中有多个构造方法 7)常数的定义,Final关键字 8)什么是组合?Has-a关系 9)“包”的访问权限。 10)静态类成员 女目标及要求: 1)掌握类的基本概念和类的基本操作★ 2)掌握this指针用法★△
讨论内容: 无 自学拓展: 实例编写,一个机会游戏程序 5、 Arrays(数组) (2 学时)(支撑课程目标 1) 1) 介绍二维数组 数组的声明,以及动态分配 2) 数组元素的计算 3) 传递数组到方法中 4) 数组排序,介绍几种排序方法。 5) 数组中数据查询并举例说明 6) 介绍多维数组,包括多维数组的定义和使用 目标及要求: 1)掌握数组的声明与动态分配 2)熟悉几种常用的数组排序方法 3)掌握在方法中将数组作为参数,完成数组元素的传递 作业内容: 数组元素的求和,用直方图显示数组的数据 讨论内容: 无 自学拓展: 无 6、 Object-Based Programming(基于对象的编程) (5 学时)(支撑课程目标 2) 1)抽象数据类型类的声明和定义 2)介绍对类的一些操作,实例化一个类,对类中成员的访问 3) 创建一个包, 包的作用,以及包的创建和使用 4)this 指针用法 5)构造方法的概念,构造方法的特点及作用 6)重载的构造方法,在一个类中有多个构造方法 7)常数的定义,Final 关键字 8)什么是组合?Has-a 关系 9)“包”的访问权限。 10)静态类成员 目标及要求: 1)掌握类的基本概念和类的基本操作 2)掌握 this 指针用法
3)掌握构造方法★△ 4)掌握包的访问权限 令作业内容: 1)解释类和对象的关系。 2)介绍构造方法和finalizer()方法的作用。 令讨论内容: 静态类成员和实例成员的作用范围 ◇自学拓展: 构造方法的重载和super关键字 7、Object-Oriented Programming(面向对象的编程)(5学时)(支撑课程目标2) 1)类的继承,父类与子类 2)父类对象与子类对象之间的关系 3)子类中的构造方法 4)组合与继承的关系 5)类的多态 6)final类和方法的特点 7)抽象类和具体类 8)接口的定义和使用 9)内部类的定义和使用 ◇目标及要求: 1)掌握父类和子类的关系★ 2)掌握接口的定义和运用★△ 3)了解final类与方法的特点 4)掌握抽象类和抽象方法★△ ☆ 作业内容: 1)介绍什么是多态性及其举例 2)抽象类举例 女讨论内容: 解释组合和继承的异同 自学拓展: 无 8、 Graphical User Interface(图形用户接口)(6学时)(支撑课程目标4)
3)掌握构造方法 4)掌握包的访问权限 作业内容: 1) 解释类和对象的关系。 2) 介绍构造方法和 finalizer()方法的作用。 讨论内容: 静态类成员和实例成员的作用范围 自学拓展: 构造方法的重载和 super 关键字 7、 Object-Oriented Programming(面向对象的编程) (5 学时)(支撑课程目标 2) 1) 类的继承,父类与子类 2) 父类对象与子类对象之间的关系 3) 子类中的构造方法 4) 组合与继承的关系 5) 类的多态 6) final 类和方法的特点 7) 抽象类和具体类 8) 接口的定义和使用 9) 内部类的定义和使用 目标及要求: 1)掌握父类和子类的关系 2)掌握接口的定义和运用 3)了解 final 类与方法的特点 4)掌握抽象类和抽象方法 作业内容: 1) 介绍什么是多态性及其举例 2) 抽象类举例 讨论内容: 解释组合和继承的异同 自学拓展: 无 8、 Graphical User Interface(图形用户接口) (6 学时)(支撑课程目标 4)
1)介绍Swing包的特点 2)介绍一些图形元件,JLabel,JTextField,JPasswordField。 3)事件处理机制,介绍类JButton,.TTextField,JCheckBox等 4)鼠标事件的处理 5)适配器类以及举例说明 6)键盘事件的处理举例说明 7)版面管理类,介绍类FlowLayout,,BoardLayout等 8)常用的容器类,JPanel对象和JFrame对象,举例说明 ◇目标及要求: 1)了解Swing包的特点 2)掌握事件处理机制★△ 3)熟悉适配器类 4)熟悉版面管理类 令作业内容: 掌握如何编程实现制作图形界面的各种控件,如:标签、文本框、按钮等 ◇ 讨论内容 适配器类的作用 个自学拓展: 匿名类实例或窗口做监视器 9、 Exception Handling(异常类的处理)和多线程机制(3学时)(支撑课程目标3) l)异常的处理,Try-catch-finally模块 2)异常的抛出,Throw语句 3)自定义的异常类,Exception类 4)Java中的多线程机制 5)线程类与线程的创建 6)线程的常用方法 令目标及要求: I)掌握Java中的异常处理机制,异常类的种类及其主动和被动处理方法★△ 2)熟悉Java的多线程机制 3)掌握线程的常用方法 作业内容: 1)实现自定义异常,对异常进行处理并追踪打印出异常发生的路径 2))线程的常用方法举例
1) 介绍 Swing 包的特点 2) 介绍一些图形元件,JLabel, JTextField, JPasswordField。 3) 事件处理机制,介绍类 JButton, TTextField, JCheckBox 等 4) 鼠标事件的处理 5) 适配器类以及举例说明 6) 键盘事件的处理举例说明 7) 版面管理类, 介绍类 FlowLayout, BoardLayout 等 8) 常用的容器类,JPanel 对象和 JFrame 对象,举例说明 目标及要求: 1)了解 Swing 包的特点 2)掌握事件处理机制 3)熟悉适配器类 4)熟悉版面管理类 作业内容: 掌握如何编程实现制作图形界面的各种控件,如:标签、文本框、按钮等 讨论内容 适配器类的作用 自学拓展: 匿名类实例或窗口做监视器 9、 Exception Handling(异常类的处理) 和多线程机制(3 学时)(支撑课程目标 3) 1) 异常的处理,Try-catch-finally 模块 2) 异常的抛出,Throw 语句 3) 自定义的异常类,Exception 类 4) Java 中的多线程机制 5) 线程类与线程的创建 6) 线程的常用方法 目标及要求: 1) 掌握 Java 中的异常处理机制,异常类的种类及其主动和被动处理方法 2) 熟悉 Java 的多线程机制 3) 掌握线程的常用方法 作业内容: 1) 实现自定义异常,对异常进行处理并追踪打印出异常发生的路径 2) 线程的常用方法举例
讨论内容: 异常处理机制的特点 自学拓展: 无 10、实验(15学时) (支撑课程目标1、2、3和4) 序 实验项目名称 目的要求 学时 实验 每组 必开、 号 分配 类型 人数 选开 1 Java编程软件的 验证 必开 了解JAVA程序的安装和编译过 安装及简单JAVA 型 应用程序的编写 程;熟悉运算符和表达式:掌握 JAVA语言的各种数据类型。 2 Java语言的控制 3 设计 1 必开 结构 熟悉java程序几种控制结构; 型 掌握其中的选择结构及循环结 构:掌握具体实现选择结构及循 环结构的对应的语句进行编程。 3 基于对象编程 3 设计 熟悉O0P编程中类和对象的概 必开 型 念:掌握如何编程实现创建类和 对象:并对对象中的实例变量和 方法的访问。 4 类的继承和多态 3 了解面向对象编程中的继承性 设计 必开 型 和多态性的概念:掌握具体实现 OOP编程中继承性和多态性的编 程方法。 GUI编程和例外 3 设计 必开 熟悉按钮控件的事件处理方法: 的处理 型 掌握如何编程实现制作图形界 面的各种控件,如:标签、文本 框、按钮等:掌握如何编程实现 自定义异常,对异常进行处理并 追踪打印出异常发生的路径。 上机考核方式: 采用上机编程,现场调试,并实验后提交程序源码,上机编程采用现场检查打分方式, 根据完成的时间,功能实现的多少作为评价指标。上机编程成绩和源码的提交成绩分别占 实验成绩的70%和30%
讨论内容: 异常处理机制的特点 自学拓展: 无 10、实验(15 学时)(支撑课程目标 1、2、3 和 4) 序 号 实验项目名称 目的要求 学 时 分配 实 验 类型 每 组 人数 必开、 选开 1 Java 编程软件的 安装及简单 JAVA 应用程序的编写 了解 JAVA 程序的安装和编译过 程;熟悉运算符和表达式;掌握 JAVA 语言的各种数据类型。 3 验 证 型 1 必开 2 Java 语言的控制 结构 熟悉 java 程序几种控制结构; 掌握其中的选择结构及循环结 构;掌握具体实现选择结构及循 环结构的对应的语句进行编程。 3 设 计 型 1 必开 3 基于对象编程 熟悉 OOP 编程中类和对象的概 念;掌握如何编程实现创建类和 对象;并对对象中的实例变量和 方法的访问。 3 设 计 型 1 必开 4 类的继承和多态 了解面向对象编程中的继承性 和多态性的概念;掌握具体实现 OOP 编程中继承性和多态性的编 程方法。 3 设 计 型 1 必开 5 GUI 编程和例外 的处理 熟悉按钮控件的事件处理方法; 掌握如何编程实现制作图形界 面的各种控件,如:标签、文本 框、按钮等;掌握如何编程实现 自定义异常,对异常进行处理并 追踪打印出异常发生的路径。 3 设 计 型 1 必开 上机考核方式: 采用上机编程,现场调试,并实验后提交程序源码,上机编程采用现场检查打分方式, 根据完成的时间,功能实现的多少作为评价指标。上机编程成绩和源码的提交成绩分别占 实验成绩的 70%和 30%
四、教学方法 授课方式:a.理论课(讲授核心内容、总结、按顺序提示今后内容、答疑、公布习题 和课外拓展学习等):b.课后练习(按照理论内容布置相应的作业,巩固课堂内容):c 实验环节(根据实验教学内容,要求学生编写相应的处理程序完成实验任务);d.办公室 时间(每周安排固定的办公室时间,学生无需预约,可来教师办公室就课程内、外内容进 行讨论):©,答疑(全部理论课程和实验课程完成后安排1~2次集中答疑,答疑时间不包 括在课程学时内,答疑内容包括讲授内容、习题、实验等): 课程要求:a.理论课:在理论课讲授环节中,应注意概念讲清讲透,并贯彻理论联系 实例的原则,注意学生工程观点和分析与解决问题能力的培养。根据本课程的特点,必须 严格要求学生独立完成课后习题:b.实验环节:要求学生学会使用Eclipse和Jcreator等 常用计算机软件进行Jva程序设计,根据实验数据和实验结果撰写实验报告,具有对实验 结果进行分析和解释的能力,适当安排综合性与设计类实验,注意启发学生的创新思维, 培养创新能力。 五、考核及成绩评定方式 考核方式:闭卷笔试,平时成绩(课堂表现及作业),实验 成绩评定方式:期末成绩70%,平时成绩10%,实验报告20% 六、教材及参考书目 教材: l)H.M.Deitel,《Java How to Program》(第六版),电子工业出版社,2008 参考书目: 1)耿祥义张跃平编著,《Javad2实用教程》(第三版),清华大学出版社,2006 2)CayS.Horstmann,Gary Cornell,《Java核心技术·卷l:基础知识》(原书 第8版),机械工业出版社,2008 3)雍俊海编著,《Java程序设计教程》(第2版),清华大学出版社,2007 4)Bruce Eckel著:陈昊鹏译,《Java编程思想》(第4版)[thinking in java],机 械工业出版社,2007 5)布洛克(Joshua Bloch)著:杨春花,俞黎敏译,《Effective Java中文版》(第 2版),机械工业出版社,2009
四、 教学方法 授课方式:a.理论课(讲授核心内容、总结、按顺序提示今后内容、答疑、公布习题 和课外拓展学习等);b.课后练习(按照理论内容布置相应的作业,巩固课堂内容);c. 实验环节(根据实验教学内容,要求学生编写相应的处理程序完成实验任务);d.办公室 时间(每周安排固定的办公室时间,学生无需预约,可来教师办公室就课程内、外内容进 行讨论);e.答疑(全部理论课程和实验课程完成后安排 1~2 次集中答疑,答疑时间不包 括在课程学时内,答疑内容包括讲授内容、习题、实验等); 课程要求:a.理论课:在理论课讲授环节中,应注意概念讲清讲透,并贯彻理论联系 实例的原则,注意学生工程观点和分析与解决问题能力的培养。根据本课程的特点,必须 严格要求学生独立完成课后习题;b.实验环节:要求学生学会使用 Eclipse 和 Jcreator 等 常用计算机软件进行 Java 程序设计,根据实验数据和实验结果撰写实验报告,具有对实验 结果进行分析和解释的能力,适当安排综合性与设计类实验,注意启发学生的创新思维, 培养创新能力。 五、 考核及成绩评定方式 考核方式:闭卷笔试,平时成绩(课堂表现及作业),实验 成绩评定方式:期末成绩 70%,平时成绩 10%,实验报告 20% 六、 教材及参考书目 教材: 1) H.M.Deitel,《Java How to Program》(第六版),电子工业出版社,2008 参考书目: 1) 耿祥义 张跃平编著,《Javad2 实用教程》(第三版),清华大学出版社,2006 2) Cay S. Horstmann , Gary Cornell ,《Java 核心技术·卷 1:基础知识》(原书 第 8 版),机械工业出版社,2008 3) 雍俊海编著,《Java 程序设计教程》(第 2 版), 清华大学出版社,2007 4) Bruce Eckel 著;陈昊鹏 译,《Java编程思想》(第4版) [thinking in java], 机 械工业出版社,2007 5) 布洛克(Joshua Bloch) 著;杨春花,俞黎敏 译,《Effective Java 中文版》(第 2 版), 机械工业出版社,2009