课程名称: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 |
三、 课程教学内容及学时分配(重点内容:«;难点内容:D)
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 Part 2(控制结构第二部分)(2学时)(支撑课程目标1)
1)for, while, do/while循环结构并举例说明
2)switch语句并举例说明
3)带标记的break, continue语句
² 目标及要求:
1)掌握循环语句的语法结构以及相互的转换«D
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) 掌握方法的重载«D
4) 了解JApplet的方法,init(), start()等
² 作业内容:
JApplet方法的生命周期。
² 讨论内容:
无
² 自学拓展:
实例编写,一个机会游戏程序
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指针用法«D
3)掌握构造方法«D
4)掌握包的访问权限
² 作业内容:
1) 解释类和对象的关系。
2) 介绍构造方法和finalizer()方法的作用。
² 讨论内容:
静态类成员和实例成员的作用范围
² 自学拓展:
构造方法的重载和super关键字
7、 Object-Oriented Programming(面向对象的编程)(5学时)(支撑课程目标2)
1) 类的继承,父类与子类
2) 父类对象与子类对象之间的关系
3) 子类中的构造方法
4) 组合与继承的关系
5) 类的多态
6) final类和方法的特点
7) 抽象类和具体类
8) 接口的定义和使用
9) 内部类的定义和使用
² 目标及要求:
1)掌握父类和子类的关系«
2)掌握接口的定义和运用«D
3)了解final类与方法的特点
4)掌握抽象类和抽象方法«D
² 作业内容:
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)掌握事件处理机制«D
3)熟悉适配器类
4)熟悉版面管理类
² 作业内容:
掌握如何编程实现制作图形界面的各种控件,如:标签、文本框、按钮等
² 讨论内容
适配器类的作用
² 自学拓展:
匿名类实例或窗口做监视器
9、 Exception Handling(异常类的处理)和多线程机制(3学时)(支撑课程目标3)
1) 异常的处理,Try-catch-finally模块
2) 异常的抛出,Throw语句
3) 自定义的异常类,Exception类
4) Java中的多线程机制
5) 线程类与线程的创建
6) 线程的常用方法
² 目标及要求:
1) 掌握Java中的异常处理机制,异常类的种类及其主动和被动处理方法«D
2)熟悉Java的多线程机制
3) 掌握线程的常用方法
² 作业内容:
1) 实现自定义异常,对异常进行处理并追踪打印出异常发生的路径
2) 线程的常用方法举例
² 讨论内容:
异常处理机制的特点
² 自学拓展:
无
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.办公室时间(每周安排固定的办公室时间,学生无需预约,可来教师办公室就课程内、外内容进行讨论);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