Java程序设计》教学大纲

课程代码

045100741

课程名称

Java程序设计

英文名称

Java Programming

课程类别

专业基础课(网络工程)

选修课(计算机科学与技术,信息安全)

课程性质

必修(网络工程)

选修(计算机科学与技术,信息安全)

学时

总学时:40  实验学时:8  实习学时:0  其他学时:0

学分

2.5

开课学期

第三学期(网络工程)

第五学期(计算机科学与技术,信息安全)

开课单位

计算机科学与工程学院

适用专业

网络工程,计算机科学与技术,信息安全

授课语言

中文

先修课程

课程对毕业要求的支撑

 №3.设计/开发解决方案:能够设计针对复杂网络工程问题的解决方案,包括满足特定需求的系统设计、部件选择、工程实施流程或方案设计,并能够在设计环节中体现创新意识,考虑社会、健康、安全、法律、文化以及环境等因素。

5.使用现代工具:能够针对复杂网络工程问题,开发、选择与使用恰当的技术、资源、现代工程工具和信息技术工具,包括对复杂工程问题的预测与模拟,并能够理解其局限性。

课程目标

1)本课程要求学生掌握Java语言基础知识;类和对象;继承和接口;泛型、枚举和内部类;异常控制;集合;Java常用类编程;基本I/O处理;多线程开发;网络编程;数据库访问;用户界面开发等。[3

2)要求学生能够使用面向对象的思维方法设计开发小规模的Java应用程序,并在集成开发环境下(如Eclipse)调试运行。[5

课程简介

Java程序设计是网络工程专业的学科基础课,计算机科学与技术专业、信息安全专业的选修课。Java语言是目前推广速度最快的程序设计语言,它采用面向对象的编程技术,功能强大而又简单易学。通过本课程的教学,帮助学生掌握面向对象的程序设计思想,并能运用Java语言和相关开发工具解决实际问题。培养学生运用面向对象程序设计思想和逻辑思维方式进行计算机编程,启发学生的创新意识,通过理论学习和实践技能训练,提高学生在软件设计过程中分析问题和解决问题的实际动手能力。

教学内容与学时分配

(一)绪论    1学时

了解课程的目的与任务;了解Java语言的发展历程及其在软件行业中发挥的作用。

(二)类和对象    5学时

了解面向对象的基本概念;掌握JDK类的使用方法;掌握自定义类的创建方法;掌握对象的创建方法;理解static关键字的含义;掌握包的使用方法。

(三)继承和接口    5学时

理解类的层次结构;掌握继承的使用方法;理解Object类、抽象类、final类;掌握接口的定义与使用方法;理解类型系统。

(四)泛型、枚举和内部类    3学时

掌握泛型的使用方法;掌握枚举类型的定义与使用;掌握内部类的定义与应用。

(五)Java常用类编程    3学时

掌握System的使用方法;掌握StringStringBuffer的使用方法;掌握日期处理方法;理解正则表达式;掌握Observable对象和Observer对象的使用方法;掌握数值的包装类的使用方法;掌握生成随机数的方法;理解反射与代理。

(六)集合    3学时

了解集合框架;掌握列表List的使用方法;掌握队列Queue的使用方法;掌握集的使用方法;掌握映射的使用方法;掌握有序集合的构建方法。

(七)异常控制    3学时

理解异常的概念;掌握异常处理的方法;掌握自定义异常的方法;理解方法声明中抛出的异常;了解异常处理的基本规则。

(八)基本I/O处理    3学时

理解流的概念;理解字符流和字节流;理解结点流;理解流的处理链;掌握文件处理方法;掌握对象串行化方法;掌握I/O的异常处理方法。

(九)多线程开发    3学时

理解线程;掌握创建线程方法;理解线程间的同步和互斥;理解线程的状态与转换;掌握线程的管理方法。

(十)网络编程    3学时

了解网络基础;掌握网络编程常用类的使用方法;掌握基于TCP的网络编程方法;掌握对象的网络传输方法;掌握基于UDP的网络编程使用方法;掌握基于URL的网络编程方法。

实验教学(包括上机学时、实验学时、实践学时)

8学时

教学方法

课堂讲授、课程实验

考核方式

课堂表现:10%

课程实验:30%

期末考试(闭卷):60%

教材及参考书

朱庆生、古平、刘骥、葛亮、杨瑞龙,Java程序设计(第2版),清华大学出版社,2017

主要参考资料:

Bruce Eckel,《Java编程思想》(第四版),机械工业出版社, 2009

制定人及制定时间

韦佳 20194


 “Java Programming” Syllabus

Course Code

045100741

Course Title

Java Programming

Course Category

 Specialty Basic Courses (Network Engineering)

Elective Courses (Computer Science and Technology, Information Security)

Course Nature

 Compulsory Course (Network Engineering)

Elective Course (Computer Science and Technology, Information Security)

Class Hours

Total: 40 hours, Experiment: 8 hours

Credits

2.5

Semester

 The third semester (Network Engineering)

The fifth semester (Computer Science and Technology, Information Security)

Institute

School of computer science and engineering

Program Oriented

Network Engineering, Computer Science and Technology, Information Security

Teaching Language

Chinese

Prerequisites

Non

 Student Outcomes

 (Special Training Ability)

 №3. Design / Development Solutions: An ability to design solutions for complex network engineering problems, including system design, component selection, engineering implementation process or solution design to satisfy specific needs, and an ability to exhibit innovative awareness in the design process, considering factors such as society, health, security, law, culture, and environment.

5. Applying Modern Tools: An ability to develop, select and apply appropriate techniques, resources, and modern engineering and IT tools for complex network engineering problems, including prediction and modeling of complex engineering problems with an understanding of the limitations.

Course Objectives

(1) This course requires students to master the basic knowledge of Java Programming; Class and Object; Inheritance and Interface; Generics; Enumerations and Inner Class; Exception; Collection; Commonly Used Classes; Basic I/O Processing; Multi-thread Programming; Network Programming; Database Accessing; GUI Programming, etc. [3]

(2) Students are required to be able to design and develop small scale Java applications by using Object Oriented Thinking. The ability of programming under IDE such as Eclipse is also required. [5]

Course Description

Java programming is the specialty basic course of network engineering, elective course of computer science and technology, information security. Java language is the fastest growing programming language, it uses object-oriented programming technology, powerful and easy to learn. Through the teaching of this course, help students to master the object-oriented programming ideas, and can use the Java language and related development tools to solve practical problems. Training students to use object-oriented programming ideas and logical thinking way to computer programming, inspire students' innovative consciousness, through theoretical study and practical skills training, improve students in the software design process to analyze problems and solve problems in practical ability.

Teaching Content and Class Hours Distribution

 ( 1 ) Introduction 1 hour

 Understand the purpose and mission of the course; Understand the evolution of the Java language and its role in the software industry.

 ( 2 ) class and object  5 hours

 Understand the basic concept of object-oriented; Master the use methods of JDK classes; Master the methods of creating custom classes; Grasp the object's creation method; Understand the meaning of static keyword; Master the usage of packages.

 ( 3 ) inheritance and interface  5 hours

 Understand the hierarchy of classes; Master the methods of using inheritance; Understand Object class, abstract class, final class; Master the definition and usage of interface; Understand type systems.

 ( 4 ) generics, enumerations, and inner classes  3 hours

 Master the usage of generics; Master the definition and use of enumeration type; Master the definition and application of inner class.

 ( 5 ) commonly used classes  3 hours

 Master the usage of System; Master the use of String and StringBuffer; Master the date processing method; Understand the regular expression; Grasp the usage of Observable and Observer objects; Grasp the usage of the numerical wrapping class; Master the method of generating random numbers; Understand reflection and agency.

 ( 6 ) collection  3 hours

 Understand the collection framework; Master the usage of List; Master the usage of Queue; Master the usage of Set; Master the usage of Map; Grasp the construction method of ordered Set.

 ( 7 ) exception  3 hours

 Understand the concept of exception; Master the methods of exception handling; Master the methods of customizing exceptions; Understand the exception thrown in the method declaration; Understand the basic rules of exception handling.

 ( 8 ) basic I/O processing  3 hours

 Understand the concept of stream; Understand character stream and byte stream; Understand the node stream; Understand the processing chain of the stream; Master the method of file processing; Master the method of object serialization; Master the exception handling method of I/O.

 ( 9 ) multi-thread programming  3 hours

 Understand the threads; Master the creation of the thread; Understand the synchronization and mutual exclusion between threads; Understand the state and transformation of the thread; Grasp the thread management method.

 ( 10 ) network programming  3 hours

Understand the basic of network; Master the usage of commonly used network programming classes; Master the network programming method based on TCP; Master the method of network transmission of objects; Master the network programming method based on UDP; Master the network programming method based on URL.

Experimental Teaching

8 hours

Teaching Method

Classroom lectures, course experiments

Examination Method

 Classroom performance: 10 %

 Course experiments: 30 %

Final exam ( closed book ): 60 %

Teaching Materials and Reference Books

 Zhu Qingsheng, Gu Ping, Liu Ji, et al, Java Programming (2nd edition), Tsinghua University Press, 2017.

 Main reference materials:

Bruce Eckel, Thinking in Java (4th edition), China Machine Press, 2009.

Prepared by Whom and When

Jia Wei, April, 2019


Java程序设计》实验教学大纲

课程代码

045100741

课程名称

Java程序设计

英文名称

Java Programming

课程类别

专业基础课(网络工程)

选修课(计算机科学与技术,信息安全)

课程性质

必修(网络工程)

选修(计算机科学与技术,信息安全)

学时

总学时:40 实验学时:8 实习学时:0 其他学时:0

学分

2.5

开课学期

第三学期(网络工程)

第五学期(计算机科学与技术,信息安全)

开课单位

计算机科学与工程学院

适用专业

网络工程,计算机科学与技术,信息安全

授课语言

中文

先修课程

毕业要求(专业培养能力)

 №3.设计/开发解决方案:能够设计针对复杂网络工程问题的解决方案,包括满足特定需求的系统设计、部件选择、工程实施流程或方案设计,并能够在设计环节中体现创新意识,考虑社会、健康、安全、法律、文化以及环境等因素。

5.使用现代工具:能够针对复杂网络工程问题,开发、选择与使用恰当的技术、资源、现代工程工具和信息技术工具,包括对复杂工程问题的预测与模拟,并能够理解其局限性。

课程培养学生的能力(教学目标)

1)本课程要求学生掌握Java语言基础知识;类和对象;继承和接口;泛型、枚举和内部类;异常控制;集合;Java常用类编程;基本I/O处理;多线程开发;网络编程;数据库访问;用户界面开发等。[3

2)要求学生能够使用面向对象的思维方法设计开发小规模的Java应用程序,并在集成开发环境下(如Eclipse)调试运行。[5

课程简介

Java程序设计是网络工程专业的学科基础课,计算机科学与技术专业、信息安全专业的选修课。Java语言是目前推广速度最快的程序设计语言,它采用面向对象的编程技术,功能强大而又简单易学。通过本课程的教学,帮助学生掌握面向对象的程序设计思想,并能运用Java语言和相关开发工具解决实际问题。培养学生运用面向对象程序设计思想和逻辑思维方式进行计算机编程,启发学生的创新意识,通过理论学习和实践技能训练,提高学生在软件设计过程中分析问题和解决问题的实际动手能力。

主要仪器设备与软件

PC机,Eclipse

实验报告

1)实验内容

2)实验步骤

3)实验结果

4)总结与思考

考核方式

主要考查程序功能的完备性和实验报告的规范性。实验完成后,提交程序和实验报告。成绩占课程总成绩的30%

教材、实验指导书及教学参考书目

朱庆生、古平、刘骥、葛亮、杨瑞龙,Java程序设计(第2版),清华大学出版社,2017

主要参考资料:

Bruce Eckel,《Java编程思想》(第四版),机械工业出版社, 2009

制定人及发布时间

韦佳,20194


Java程序设计》实验教学内容与学时分配

实验项目编号

实验项目名称

实验学时

实验内容提要

实验类型

实验要求

每组人数

主要仪器设备与软件

1

 Java面向对象特性:继承、接口、包和内部类

2

编写求解几何图形周长、面积的应用程序,要求如下:

1.几何图形要求至少包含直线、三角形、矩形、圆等类型,计算周长、面积等。

2.要求能计算两个图形之间的距离。

3.要求能计算两个图形进行布尔运算(即交、并、差)后的面积。

4.必须用到继承、接口、多态、包和内部类。

综合性

必做

1

PC机,Eclipse

2

多线程编程技术

3

利用线程比较各种排序算法的效率:

1.要求生成1万个随机数。

2.找出3种排序方法,并写出它们的算法。

3.利用线程技术计算不同排序算法对这些数排序的运行时间。

综合性

必做

1

PC机,Eclipse

3

网络通信技术

3

设计图形界面程序,在服务器端和客户端传输图片和文件。如果是图片请显示该图片,如果是其它文件,则保存。

设计性

必做

1

PC机,Eclipse


 “Java Programming” Syllabus

Course Code

045100741

Course Title

Java Programming

Course Category

 Specialty Basic Courses (Network Engineering)

Elective Courses (Computer Science and Technology, Information Security)

Course Nature

 Compulsory Course (Network Engineering)

Elective Course (Computer Science and Technology, Information Security)

Class Hours

Total: 40 hours, Experiment: 8 hours

Credits

2.5

Semester

 The third semester (Network Engineering)

The fifth semester (Computer Science and Technology, Information Security)

Institute

School of computer science and engineering

Program Oriented

Network Engineering, Computer Science and Technology, Information Security

Teaching Language

Chinese

Prerequisites

Non

Student Outcomes (Special Training Ability)

 №3. Design / Development Solutions: An ability to design solutions for complex network engineering problems, including system design, component selection, engineering implementation process or solution design to satisfy specific needs, and an ability to exhibit innovative awareness in the design process, considering factors such as society, health, security, law, culture, and environment.

5. Applying Modern Tools: An ability to develop, select and apply appropriate techniques, resources, and modern engineering and IT tools for complex network engineering problems, including prediction and modeling of complex engineering problems with an understanding of the limitations.

Teaching Objectives

(1) This course requires students to master the basic knowledge of Java Programming; Class and Object; Inheritance and Interface; Generics; Enumerations and Inner Class; Exception; Collection; Commonly Used Classes; Basic I/O Processing; Multi-thread Programming; Network Programming; Database Accessing; GUI Programming, etc. [3]

(2) Students are required to be able to design and develop small scale Java applications by using Object Oriented Thinking. The ability of programming under IDE such as Eclipse is also required. [5]

Course Description

Java programming is the specialty basic course of network engineering, elective course of computer science and technology, information security. Java language is the fastest growing programming language, it uses object-oriented programming technology, powerful and easy to learn. Through the teaching of this course, help students to master the object-oriented programming ideas, and can use the Java language and related development tools to solve practical problems. Training students to use object-oriented programming ideas and logical thinking way to computer programming, inspire students' innovative consciousness, through theoretical study and practical skills training, improve students in the software design process to analyze problems and solve problems in practical ability.

Instruments and Equipments

Personal computer; Eclipse

Experiment Report

( 1 ) Experimental contents

( 2 ) Experimental steps

( 3 ) Experimental results

( 4 ) Summary and thinking

Assessment

The completeness of the program and the standardization of the experimental report. After the experiment is complete, submit the program and the experimental report. Results accounted for 30 percent of the total curriculum.

Teaching Materials and Reference Books

Zhu Qingsheng, Gu Ping, Liu Ji, et al, Java Programming (2nd edition), Tsinghua University Press, 2017.

Main reference materials:

Bruce Eckel, Thinking in Java (4th edition), China Machine Press, 2009.

Prepared by Whom and When

Jia Wei, April, 2019

 “Java Programming” Experimental Teaching Arrangements

No.

Experiment Item

Class Hours

Content Summary

Category

Requirements

Number of Students Each Group

Instruments, Equipments and Software

1

Java object-oriented features: inheritance, interface, package, and inner class

2

Write applications to calculate the perimeter and area of the geometries, as follows:

1. Geometries include at least straight lines, triangles, rectangles, circles, etc. Calculate the perimeter, area, etc. 

2. The distance between the two geometries is required to be calculated. 

3. The area after the boolean operation (i.e. intersection, merging, difference) is required to be calculated. 

4. Inheritance, interface, polymorphism, package, and inner class must be used.

Comprehensive

Compulsory

1

Personal Computer; Eclipse

2

Multi-thread programming

3

Use threads to compare the efficiency of various sorting algorithms

1. Request to generate 10, 000 random numbers.

2. Find out three kinds of sorting methods and write their algorithms.

3. Use thread technology to calculate the running time of different sorting algorithms on these numbers.

Comprehensive

Compulsory

1

Personal Computer; Eclipse

3

Network communication technology

3

Design a graphical interface program to transfer pictures and files between the server and the client. If it is a picture, show the picture, if it is a file, save.

Design

Compulsory

1

Personal Computer; Eclipse