Ruixin Ma*, Tie Qiu, Xiucheng Huang
Abstract: Aiming at the common problems of current Java teaching in colleges, this paper proposes a new Java course construction based on DevCloud. This paper combined Java course with DevCloud effectively and three-dimensional constructed teaching resources system through many ways, including the project-driven, cloze, centralized instructions, cloud compilation, repository and others. Teaching effect has been promoted, and it can provide reference for the construction of curriculum resources in other colleges.
Key words: Java; DevCloud; new engineering
The course teaching of computer programming in colleges is always the difficulty and emphases,but there are some big problems in the practical teaching[1]. On the one hand, teachers lack engineering background. Many teachers start teaching after just graduating from school. Most of them understand program based on theory and lack of production experience of front line software enterprise. At the same time, the workload for the teachers is very large,they need to compile and run program for each student,and debug again and again when there are problems.On the other hand, students have no idea with program design, they just think of the program as knowledge points in the book, instead of thinking about how to use a program to solve the problem. Meanwhile, students lack of the concept about what to do with the program in the future and how to apply it. Moreover, there are also great puzzles in enterprises. Many graduates need to spend a lot of time in conducting a series of trainings systematically before beginning work, which costs too much for enterprise. These are the main obstacles to the programming courses teaching in colleges
Software engineering education in colleges must go along the road of school-enterprise cooperation,so as to be more effective in the construction of the curriculum. The Ministry of Education announced the notice of new engineering in 2017. During the notice, the construction of new engineering projects required the active participation of enterprises, building a community of engineering education responsible for business negotiation, co-construction and sharing,deepening the cooperation in industry and education,integrating production and teaching, Through the joint development of school-enterprise training objectives and training programs to jointly build the curriculum and development of tutorials to encourage industry and business enterprises to participate in all aspects of education and teaching, and promote talent cultivation and industry demand closely. This paper takes Java programming as an example, it needs to be considered for how can the java course in colleges be done well,how to make students feel the usefulness of learning,and how the teacher combine course with practice.Many outstanding enterprises have good production environment, they have strict production process. In the field of software engineering, most of the advanced software production processes are in the enterprise, they have strict specifications and processes, furthermore,with the advanced environment of software producing.It is necessary to introduce the advanced environment for the process of software engineering. School of Software of Dalian University of Technology has signed a cooperation framework agreement with Huawei Technologies Co. Ltd, which introduce the whole process of DevCloud into the teaching of java course.
In the teaching of Java, traditional way is mainly based on theoretical knowledge, and combine it with program exercise, however, it is useless for student to grasp the program skill. In this paper, all of the course teaching is based on task driven, not only knowledge points students need to learn, but also instructions on the practical apply. In teaching, making students not only know what they have studied but also what they have learned. The goal of learning is to be able to solve the problem in real earnest, not on paper. In the Java courses, we provide lots of actual project. This actual projects make students be skilled and standard to code and debug through this repeated practices, which make them master the practical development technology.
As Fig. 1 shows, in order to complete fixed assets management system that has six parts, which needs to master the relevant knowledge. In the progress, we put this task on the DevCloud, then students can get the task after logging in. Each task can show something when it is clicked, such as on courseware, sample code,and discussing that the student doubted problems. As shown in Fig. 2.
Fig.1 T ask decomposition.
Fig.2 Learning resource.
After students complete tasks, teachers can see the task schedule through the schedule management view of task. And teachers can give appropriate advice through code detection, test cases and other tools.Finally, teachers give a score to make the students see their scores for each task at any time. It reduces the workload of teachers greatly. As shown in Fig. 3.
In class, students need to know “do not recite the methods and attributes of the object only, but to use this object to solve the problem”. For some knowledge points, only basic and frequently-used technical details are introduced, others are embodied in cases and tasks.It can enhance students' autonomous learning ability.
Fig.3 T ask completion.
After receiving the task, many students do not know how to start about program design. There is a test called cloze test in English learning which digs a number of core words from an article, but does not affect the reading of this article, students can fill in the appropriate context with meaning words. We introduce this mode into java teaching progress. First of all, we put the complete project into the server of DevCloud,then open the access port so that students can run the program to view each function without the source code.Secondly, we cut the entire source code and dredged some of the key code without affecting the system's operation. As shown in Fig. 4.
Fig.4 Cloze Test.
Students can complete the corresponding function by following the prompts. After completing a function,every time we can run the entire program to view the results. We can set the course about the different content of the cloze test, the difficulty is gradually escalating according to course schedule. Every time students fill in the blank, they need to review the content of the course,access to relevant information to understand the mission needs, but every time they complete the corresponding function, they feel a great sense of accomplishment and the knowledge of the point of use, but also feel the gradual improvement of ability.
There are a phenomenon that programming level is not very good in many graduates of software major, but after the appropriate technical training in the software enterprises, the program ability of them improved quickly. The reason is courses skill learning requires a complete environment, like English learning. In order to improve the students' programming ability,we have adjusted the java curriculum drastically to the short semester. The short semester is formed of four weeks that between June and July each year.In these four weeks, we focus on explaining java technology to students. We have class in the morning,practice on computers in the afternoon, receive and complete the tasks in the evening. Due to the relatively concentrated time, we hired Huawei frontline engineers to participate in teaching, to explain the problems encountered by the students. In the beginning, students do not adapt to such large rhythms of large-scale learning, but a few days later, they find that their programming skills and understanding has been greatly improved, the DevCloud can guarantee that they communicate with the same group anytime and anywhere, and keep communication with teacher so that they have a kind of interest in learning. Ability of students has been greatly improved through this school-enterprise cooperation after the four weeks.
In Java teaching, students need to practice code in the programming environment, Eclipse is widely used in teaching, but there still have many problems in the installation process of software, such as code loss,version incompatibility and other issues. Even if in the computer room, installation is also to be need for each computer. DevCloud configures CloudeIDE, an Eclipse programming environment on the cloud for the Java program, which users can directly open the Eclipse browser after login, after that students write, run and stored codes in the cloud repository. As shown in Fig. 5.
Fig.5 ClodeIDE.
Cloud compilation and building method is a new way to program, It has bring great convenience to teachers and students for java programming practice,When doing Java programming practice again, students can choose any computer to continue, because the personal code have been stored in the cloud repository,students can always retrieve online. At the same time, repository support teamwork, students share codes between the same group, which can achieve implementation of the team management function of the project. This new technology makes students feel very fresh, and greatly enhanced their programming interest.
Java course has many knowledge points, including variables, data types, loops, classes and so on, and get widely used usually, but there still some problems in the teaching progress. On the one hand, if all of this knowledge points are taught in the class, teaching progress would be delayed. On the other hand, some students have learned similar knowledge and cause repetition. Therefore, we record the java knowledge points into micro-video, each video is about 10 minutes,the entire course is composed of 70 micro-video, and we put these micro-video into the DevCloud, students can watch video online. In this way, each knowledge point supplemented with courseware, sample code,and micro-video, students can get more learning resources based on these way, so as to learn anytime and anywhere, as shown in Fig. 6.
Fig.6 MOOC teaching.
We introduce DevCloud into the practical teaching of Java course, which is a bold attempt in the teaching of software engineering. There is a great difficulty for teachers at the beginning of teaching, because the knowledge points teaching need to be transplanted to the new platform, it causes heavy workload, at the same time student account management, schedule management and score management must be managed in the DevCloud. However, after the preparatory work, workload of teaching reduced greatly latter. The DevCloud is effective in management, including the entire task, schedule and code. For students, this new way of learning has also been a great encouragement.On the one hand, they experience the standardized development process of first-line software companies.On the other hand, they get tremendous improvement in programming through centralized learning. In the survey of two consecutive grades about 600 students in School of Software of Dalian University of Technology,majority of them like this way to be taught, love to program through DevCloud and get the thought of problem-solving.
Students and teachers practice to solve problems and share ideas in the class, they have real-time interaction and cloud collaboration. Students are familiar with the enterprise development processes and methods.Teachers can make individual evaluations based on process data. As shown in Fig. 7.
Fig.7 DevCloud.
Front-line enterprises will produce advanced technology, greater changes will be caused after introducing advanced technology into the course. In the new engineering background, software engineering must combined with the enterprise, lead advanced technology into course and put forward new teaching methods and concepts, so that software engineering develop further.