Java程序设计》教学大纲

课程代码

045100741

课程名称

Java程序设计

英文名称

Java Programming

课程类别

专业基础课

课程性质

学时

总学时:40,实验学时:8

学分

2.5

开课学期

学期

开课单位

计算机科学与工程学院

适用专业

计算机科学与技术全英联合班,全英创新班(本硕、本博连读)

授课语言

英语

先修课程

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


1.思政建设实现计算机专业知识教学与立德树人教育的有机融合;激发学生“实干兴邦”的爱国奋斗精神。

2.工程知识:培养学生熟练掌握英语,能够将数学、自然科学、工程基础和专业知识用于解决复杂网络工程问题。

3.问题分析:能够应用数学、自然科学和工程科学的基本原理,识别、表达、并通过文献研究分析复杂网络工程问题,以获得有效结论。

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

5.研究:能够基于科学原理并采用科学方法对复杂网络工程问题进行研究,包括设计实验、分析与解释数据、并通过信息综合得到合理有效的结论。

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

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

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

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

课程简介

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

教学内容与学时分配

(一)类和对象    2学时

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

(二)继承和接口    3学时

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

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

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

(四)异常控制    3学时

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

(五)集合    3学时

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

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

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

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

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

(八)多线程开发    3学时

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

(九)网络编程    3学时

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

(十)数据库访问    3学时

了解数据库编程基础;掌握数据库的连接方法;掌握使用Statement访问数据库的方法;掌握ResultSet的使用方法;掌握PreparedStatement的使用方法;掌握CallableStatement的使用方法;理解事务的概念;掌握数据源和连接池的使用。

(十一)用户界面开发    3学时

掌握容器和基本组件的使用方法;掌握布局管理器的使用方法;掌握用中间容器组织界面元素的方法;理解事件机制;掌握对话框的使用方法;了解图形编程基础。

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

实验学时8学时)

教学方法

课堂教学、课外作业、上机实践

考核方式

平时作业和课堂表现:10%

实验报告:20%

期末考试(闭卷):70%

教材及参考书

 Y. Daniel Liang, Introduction to Java Programming, 10th Edition, 2016

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

制定人及制定时间

董敏20194


 “Java ProgrammingSyllabus

Course Code

045100741

Course Title

Java Programming

Course Category

Specialty Basic Courses

Course Nature

Elective Course

Class Hours

Total: 40 hours, Computer Practice: 8 hours

Credits

2.5

Semester

The Second semester

Institute

School of computer science and engineering

ProgramOriented

Computer Science and Technology Full English Creative Class (Bachelor-Master, Bachelor-Doctor Successive Program)

Teaching Language

English

Prerequisites

None

Student Outcomes

 (Special Training Ability)

1.Ideological and political construction: realize the organic integration of computer professional knowledge teaching and moral education;Inspire the students' patriotic spirit of "making the country prosperous by doing".

2.Engineering Knowledge: An ability toapply knowledge of English,mathematics, science, engineering fundamentals and engineering specialization to solve complex network engineering problems.

3. Problem Analysis: An ability to apply basic principles of mathematics, science, and engineering to identify, formulate, and analyze complex network engineering problems through literature research.

4. 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. Research: An ability to conduct investigations on complex network engineering problems based on scientific theories and by adopting scientific methods, including design of experiments, analysis and interpretation of data, and synthesis of information, to obtain effective conclusions.

6. 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. [1, 2, 3, 4,5]

(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. [6]

Course Description

Java programming is the basic course of network engineering. 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 ) class and object 2 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.

( 2 ) inheritance and interface 3 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.

( 3 )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.

( 4 ) 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.

( 5 ) 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.

( 6 ) commonly usedclasses  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.

( 7 ) 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.

( 8 ) 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.

( 9 ) 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.

( 10 ) database accessing 3 hours

Understand the basis of database programming; Master the connection method of the database; Master the method of accessing the database using Statement; Master the usage of ResultSet; Master the usage of PreparedStatement; Master the usage ofCallableStatement; Understand the concept of transaction; Master the usage of data sources and connection pooling.

( 11 ) GUI programming  3 hours

Master the usage of containers and basic components; Master the usage of layout manager; Master the method of organizing the interface elements in the intermediate container; Understand the event mechanism; Master the usage of dialog box; Understand the basics of graphics programming.

Experimental Teaching

Yes,8Periods

Teaching Method

Classroom teaching, homework, computer practice

Examination Method

Homework and classroom performance: 10 %

Experimental report: 20 %

Final exam ( closed book ):70 %

Teaching Materials and Reference Books

Y. Daniel Liang, Introduction to Java Programming, 10th Edition, 2017

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

Prepared by Whom and When

Dong Min, 2019.4


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

课程代码

045100741

课程名称

Java程序设计

英文名称

Java Programming

课程类别

学科基础课

课程性质

学时

总学时:40,上机学时8

学分

2.5

开课学期

第二学期

开课单位

计算机科学与工程学院

适用专业

计算机科学与技术全英联合班,全英创新班(本硕、本博连读)

授课语言

英语

先修课程

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

1.思政建设实现计算机专业知识教学与立德树人教育的有机融合;激发学生“实干兴邦”的爱国奋斗精神。

2.工程知识:培养学生熟练掌握英语,能够将数学、自然科学、工程基础和专业知识用于解决复杂网络工程问题。

3.问题分析:能够应用数学、自然科学和工程科学的基本原理,识别、表达、并通过文献研究分析复杂网络工程问题,以获得有效结论。

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

5.研究:能够基于科学原理并采用科学方法对复杂网络工程问题进行研究,包括设计实验、分析与解释数据、并通过信息综合得到合理有效的结论。

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

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

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

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

课程简介

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

主要仪器设备与软件

PC机,Eclipse

实验报告

1)实验目的

2)实验步骤

3)实验结果

4)总结与思考

考核方式

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

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

Y. Daniel Liang, Introduction to Java Programming, 10th Edition, 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 ProgrammingSyllabus

Course Code

045100741

Course Title

Java Programming

Course Category

Specialty Basic Courses

Course Nature

Elective Course

Class Hours

Total: 40 hours, Computer Practice: 8 hours

Credits

2.5

Semester

The second semester

Institute

School of computer science and engineering

Program Oriented

Computer Science and Technology Full English Creative Class (Bachelor-Master, Bachelor-Doctor Successive Program)

Teaching Language

English

Prerequisites

None

Student Outcomes (Special Training Ability)

1.Ideological and political construction: realize the organic integration of computer professional knowledge teaching and moral education;Inspire the students' patriotic spirit of "making the country prosperous by doing".

2.Engineering Knowledge: An ability toapply knowledge of English,mathematics, science, engineering fundamentals and engineering specialization to solve complex network engineering problems.

3. Problem Analysis: An ability to apply basic principles of mathematics, science, and engineering to identify, formulate, and analyze complex network engineering problems through literature research.

4. 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. Research: An ability to conduct investigations on complex network engineering problems based on scientific theories and by adopting scientific methods, including design of experiments, analysis and interpretation of data, and synthesis of information, to obtain effective conclusions.

6. 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. [1, 2, 3, 4,5]

(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. [6]

Course Description

Java programming is the basic course of network engineering. 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 ) the purpose of the experiment

( 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

Y. Daniel Liang, Introduction to Java Programming, 10th Edition, 2017

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

Prepared by Whom and When

Dong Min, 2019.4

 “Java ProgrammingExperimental Teaching Arrangements

No.

Experiment Item

Class Hours

Content Summary

Category

Requirements

Number of StudentsEach 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 serverand the client. If it is a picture, show the picture, if it is a file, save.

Design

Compulsory

1

Personal Computer; Eclipse