《Java程序设计》教学大纲
“Java Programming” Syllabus
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程序设计》实验教学大纲
《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 |
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 Programming” Experimental 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 |