《Java程序设计》教学大纲
“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 |
课程代码 | 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 |
实验报告 | (2)实验步骤 (3)实验结果 (4)总结与思考 |
考核方式 | |
教材、实验指导书及教学参考书目 | 朱庆生、古平、刘骥、葛亮、杨瑞龙,Java程序设计(第2版),清华大学出版社,2017。 主要参考资料: Bruce Eckel,《Java编程思想》(第四版),机械工业出版社, 2009。 |
制定人及发布时间 | 韦佳,2019年4月 |
《Java程序设计》实验教学内容与学时分配
实验项目编号 | 实验项目名称 | 实验学时 | 实验内容提要 | 实验类型 | 实验要求 | 每组人数 | 主要仪器设备与软件 |
1 | 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 |