Oriented to Practice and Engineering Training Mechanism for Computer Major Students

Practice and engineering ability training is very important for university students who major in computer science and technology. We proposed a practice and engineering training mechanism for computer major students. Firstly, the teaching mode which emphasizes both theory and practice for the professional foundation curriculum system was reformed. The programming, data structure, discrete mathematics and object-oriented programming are taught in the laboratory and evaluated through our online judging system. Secondly, the training subjects of core curriculum system were well designed and an engineering practice ability training mechanism based on enterprise training and open laboratories training was also presented. To cultivate the engineering practice ability, the open lab in university provides lots of projects for students and the cooperative enterprise also gives enough chances in their senior year. At last, a professional competence-driven innovation ability training mechanism was introduced. To further excite the innovation ability and practical ability, we choose some excellent students to participate in subject competitions, such as ACM International College Student Programming Competition (ACM-ICPC) and Chinese College Student Programming Competition (CCPC) and so on.

universities, the traditional teaching model of computer majors still concerns the theory and knowledge rather than practice and ability. So, there exists a large gap between the graduates' application ability and the needs of enterprises.
The phenomenon of the derailment of computer professionals training and the actual needs of society for talent has attracted widespread attention from universities, and several effective solutions have been proposed. In general terms, these programs are aimed at the training of applied computer talents, guided by the concept of engineering education, centered on students, clarify the training goals, highlight the training characteristics, optimize the curriculum system and curriculum connection, and pay attention to student professional foundation and engineering practice ability, train students' computational thinking and innovation ability, and form a computer professional talent training mechanism oriented by engineering practice ability.

Related Works
To solve this problem, many experts and scholars from universities have carried out research and put forward research ideas and solutions. Scholars from the computer science and technology major of Nanjing University of Aeronautics and Astronautics take the certification of engineering education as an opportunity to standardize the major construction and student training. According to the requirement of major certification, the optimized the curriculum teaching system, major curriculum settings and the connection between courses. The teaching aims have shifted from knowledge transfer to capacity training. They always encourage teachers to guide students' scientific and technological innovation activities, and concern on student capacity training and development (Sun et al., 2016). Wu et al. introduced the computer engineering curriculum settings of UIUC, IIT, Northwest University, and Purdue University in the United States.
They analyzed the main characteristics of the computer engineering undergraduate curriculum settings of these 4 universities. They found that all the computer engineering undergraduate curriculum settings of American universities basically match the requirements of the American Engineering Education Accreditation Agency ABET's EC2000 indicator system. It is reflecting the characteristics of focusing on basic knowledge, emphasizing the cultivation of engineering practice ability, stimulating students' autonomy and creativity, and focusing on the intersection and integration of related disciplines (Wu & Li, 2010).
Professor Zhou introduced the development of computer practice teaching in his university (Zhou, 2014a). He introduced the characteristics of computer practice teaching, and put forward an important recognition that practice is an important process of scientific development of personnel training (Zhou, 2014b).
In addition, Professor Lu summed up the teaching reform trends. He proposed that the computer major should reform the curriculum content from the perspective of precipitating the theoretical foundation of the discipline, focus on cultivating practical skills of students, emphasize the development of good sub-  (Lu & Jin, 2014). Han Hong proposed that computer engineering capabilities include core knowledge architecture and computer thinking mode. The core knowledge reflects the essential laws of computers and is established from the bottom. It will enable students to establish computer thinking mode implicitly (Han & Zhou, 2011).
This paper aims to cultivate students' engineering practice ability, and it will work from a number of aspects, including the construction of a professional basic curriculum system, the construction of a professional core curriculum system, the construction of experimental and practical bases inside and outside the university, and the construction of innovative talent training models.

Overview of the Mechanism
The overview of the proposed mechanism is shown in Figure 1. From Figure 1 we can know that based on the professional basic curriculum system reforming, the teaching philosophy of emphasizing both theory and practice is reflected in the professional basic curriculum, with the goal of training students' practical ability and computational thinking.
Under the condition that students have a certain professional foundation, rely on open laboratories to cultivate professional practical ability, and at the same time select outstanding students to participate in professional competitions, and promote the cultivation of students' innovative ability. Select key courses in the professional basic courses to design courses with the cooperation of enterprises, so that students can understand the development process and standards of the enterprise, corporate culture and concepts as early as possible, enhance students 'professional cognition, and promote the purpose and initiative of students' professional learning in the future. In addition, focusing on the reform of the core curriculum system of the major, relying on the on-campus open laboratory and off-campus enterprise practice base to provide students with sufficient project

Computer Curriculum System Optimization and Teaching Method Reforming
The development of computer technology is changing very fast. It leads to a wrong understanding of the university computer curriculum system, that computer courses offered in universities are empty, useless, outdated and derailed from the actual needs of society. The root of this realization lies in the traditional talent training methods and mechanisms that emphasize theory and neglect practice. The curriculum of practice and theory in the curriculum system is clearly defined and does not have sufficiently connected. During the training process, most attentions are paid on transferring knowledge and evaluating the degree of knowledge mastery, but ignore how to train the engineering practice ability, innovation ability of students and the cultivation of students' internal professional quality and professional thinking. Therefore, students have deep theoretical knowledge, weak engineering practice ability, and decoupling from the actual demand for computer talents in society.
If we insist on chasing new technology and new methods in the course system, it is the practice of giving up everything. After all, universities are not vocational training institutions. They should not only pay attention to whether students can master new technologies after graduation, but also should pay attention to the development of students' future professional development potential and comprehensive abilities, including engineering practice abilities, professional thinking abilities, and professional cognitive abilities and more. Therefore, the main content of this scheme is how to optimize the existing computer course architecture to achieve both the foundation and new technology, focusing on students' professional ability and professional thinking training; how to improve teaching and evaluation methods so that students can master the necessary professional knowledge.
The core goal of the basic course of computer major is to train the freshmen's programming ability and develop a professional thinking mode to form computational thinking. We treat "Basics of Programming Design", "Discrete Mathematics", "Data Structures and Algorithms", and "Object-Oriented Programming" courses as the basic professional courses. These courses will be reformed form teaching methods, assessment methods, and evaluation methods. Figure 2 shows the mode of basic curriculum reforming.
As shown in Figure 2, the core of the professional basic curriculum reforming is based on the program's online evaluation system which developed by ourselves. The aim of the reforming is to improve developing program skill and form the computational thinking. Specifically: the "Programming" course was entirely put in the laboratory; at the same time, the evaluation system is supplemented  with a large number of programming topics for students to practice in the lesson. The online evaluation system can automatically judge the correctness of the program. The entire course was divided into four assessment modules to conduct process-based evaluation of students. By this way, the "Programming" course strengthens and solidifies students' programming skills. Then the "Discrete Mathematics", "Object-Oriented Programming", and "Data Structures and Algorithms" courses are all based on the template of the "Programming" reforming.

Construction of Students' Innovation Ability Training
Innovative skills are the ability to carry out active thinking activities to generate new knowledge and create new things according to certain goals and tasks. Innovation has great significance for the country, society and individuals. The innovation ability is an important driving force for social development. Universities are the cradle for training high-quality innovative talents. Cultivating students' innovative consciousness, spirit and ability is a higher requirement for student training, and it is also an important way and effective measure to meet the demand for high-quality personnel in the era of knowledge economy.
Therefore, universities must give high priority to the cultivation of students' innovative spirit and ability.
However, only relying on a good curriculum system and teaching methods is difficult to meet the requirements of innovation ability cultivation. It is also necessary to create a good innovation ability cultivation mechanism to provide students with the conditions, resources and atmosphere to participate in innovation. So that students can fully demonstrate their own ability and express themselves unique insights, so as to show the creative talents, reflect the fun of innovation, and make students with outstanding learning ability and outstanding ability stand out. Based on the ACM college student's innovation practice base, it also cooperates with the IoT laboratory, single-chip computer laboratory, software incubation laboratory, and intelligent equipment laboratory to jointly cultivate students' innovation ability.
As shown in Figure 3, the ACM College Student Innovation Practice Base serves as the core organization for training students' programming skills. Combining

Training Mechanism of Computer Engineering Ability
The so-called engineering practice ability is to be able to connect theory with practice, apply what you have learned to design, manufacturing, testing, operation, management, other engineering practice links, and comprehensively consider many factors such as technology, economy, culture, law, environment, etc.
And the ability to provide systems, products, processes or technical services in- hands-on ability, ability to comprehensively use knowledge, engineering design ability, ability to analyze and solve problems, interpersonal practical ability, and so on.
An important way to improve students' engineering practice ability is to provide students with enough project training opportunities. The project training will be based on students' participation in corporate training, supplemented by open laboratories and training courses in the school, and the employment of enterprise engineers. Schools bring practical training, select outstanding teachers to participate in corporate practice and other measures.
As shown in Figure 4, in the entire training system structure, schools and enterprises jointly develop training projects, determine relevant curriculum training links, select key courses to arrange curriculum design, project assignments, and other links, and are trained by the school's teachers Or hire an engineer from the company to guide the training, and choose 1 -2 key courses to arrange corporate training, so that students can experience the corporate culture and working atmosphere in advance. After having a certain practical ability and professional knowledge system and forming basic professional thinking, students will jointly design comprehensive training projects with enterprises to cultivate comprehensive engineering practice ability. At the same time, they will formulate effective assessment methods, evaluate internships, training effects and goals. Reach. Finally, pay close attention to the graduation design link. Graduation design topics need to reflect the project implementation process, the process of implementing the graduation design link and the target evaluation, and evaluate the final engineering practice ability of students through the graduation design link.

Some Statistical Results
After implementing the proposed mechanism, the programming competition mode was employed to complete the final computer-based test of the professional  Table 1.
Moreover, our students have won more than 70 awards in various college student program design competitions. Figure 5 shows the statistics of the annual awards (above the bronze awards) of various competitions.
It can be found from Figure  2008. We won the first bronze medal in the ACM-ICPC regional competition in

Conclusion
Professional basic courses play an important role in enabling students to master basic professional knowledge and form preliminary professional knowledge.
Under the traditional teaching mode, professional basic courses are mainly based on theoretical teaching, which leads to the use of professional core courses as an important carrier to improve students' practical ability. Under the traditional teaching mode, when students come into contact with professional core courses, it is difficult to learn professional core courses better due to the lack of necessary practical ability support. Therefore, based on the training of practical ability to the basic professional courses, a set of teaching modes and teaching plans that focus on cultivating students' comprehensive engineering practice ability are formed at the teaching stage of the professional core curriculum system.
On the other hand, professional competitions provide a good platform for the application and interpretation of students 'professional knowledge. The formation of an innovative ability training mechanism driven by professional competitions was proposed. It is a way for most students to have the opportunity to participate in various professional competitions, supplemented by good training, selection and shunting mechanisms to enable students of different levels and interests. The cultivation of engineering practice ability cannot be separated from the participation of enterprises, and the school-enterprise cooperation talent training model is a very effective method. Before students go to enterprises for training, schools and enterprises need to fully design and discuss the training programs. The school and the training enterprise should have a long-term cooperative relationship. The training plan should grasp the training links and training goals in the enterprise as a whole, and the school and enterprise should participate in the development of the training program and form a good communication mechanism.