The Scaffolding Instruction of New Engineering Talent Programming Ability Based on C Language Course

The fundamental problem of cultivating new engineering talents is ability training, and computer programming ability is an important ability of new engineering talents. In view of the difficulty of students' programming ability in C language teaching, it is necessary to implement C language teaching reform in order to train the programming ability of new engineering talents. Based on Vygotsky’s theory of "proximal development zone" and constructivism learning theory, design and application of scaffolding C language teaching it is proved that the teaching of scaffolding C can make the teaching of programming ability clear, objective and operable.


INTRODUCTION
With the advent of the fourth industrial revolution, engineering education has to carry out all-round reform. The construction of new engineering is a positive response of higher engineering education in the face of made in China 2025. [1] The origin of education ability cultivation reform in higher engineering is the "bottom-up" reform based on curriculum, and the origin of curriculum reform is the basic course. C language programming is a basic computer course widely offered in engineering colleges and universities, the current teaching mode of the course is based on "examination", and the assessment is based on the examination result. In view of the training needs of new engineering talents, college students' computer programming ability is an important part of the ability of new engineering talents. In order to realize the cultivation of students' programming ability in C language teaching and solve the learning difficulties of students in C language teaching, teaching scaffolding can reduce students' learning difficulties, improve their independent learning ability and eliminate cognitive impairment. Scaffolding C language teaching is an effective teaching exploration and practice to cultivate programming thinking and ability.

INTRODUCTION TO SCAFFOLDING TEACHING 2.1 Definition of Scaffolding Teaching
According to the EC "distance education and training of project" (DGX Ⅲ) of the relevant documents, scaffolding instruction is defined as: Scaffolding teaching should provide a conceptual framework for learners to construct their understanding of knowledge, the concept in this framework is needed to develop learners' further understanding of the problem. Therefore, complicated learning tasks should be decomposed in advance so as to gradually deepen learners' understanding. [2]

The Psychological Theory Foundation of Scaffolding Teaching
The theoretical basis of scaffolding teaching is derived from the theory of "the most adjacent development area" of Vygotsky, a famous psychologist in the former Soviet Union [3]. Vygotsky argued that in children's intellectual activities, there may be differences between the problem to be solved and the original capability, which can be eliminated by teaching children with the help of teachers. This difference is called "the most adjacent development area". This difference is known as the "nearest development area". In other words, the proximal development area is defined as the distance between the actual level of child development (the first level of development) when solving problems independently and the potential level of development (the second level of development) when solving problems under the guidance of teachers. It can be seen that the state between the two development levels of children is determined by teaching, that is, teaching can create the most adjacent development area by means of scaffolding teaching design [4]. There are two levels of students' development in teaching: one is the current level of students, which refers to the level of problem solving that can be achieved by independent activities; the other is the level of possible student development, which is the level of potential goal development obtained through teaching. The difference between the two is the zone of proximal development.

The Learning Theoretical Basis of Scaffolding Teaching
Constructivist learning theory advocates learnercentered learning under the guidance of teachers [5]. It not only emphasizes the cognitive subject role of learners, but also does not ignore the guiding role of teachers. The teacher is an environmental factor of meaning construction, which plays an indispensable role in helping and promoting meaning construction. It is the organizer, helper and promoter in the learning process, rather than an imparter of knowledge and implants. The learning theory foundation of scaffolding teaching is constructivismlearning theory.

THE ZONE OF PROXIMAL DEVELOPMENT IN TEACHING OF C LANGUAGE 3.1 The First Development Level of C Language Teaching
The teaching object of C language teaching is firstyear college students. Generally, the courses of electrical related majors are offered in the first semester of the freshman year, while the courses of non-electrical majors are offered in the second semester of the freshman year. The original knowledge structure, learning mode, learning method, learning achievement and students' learning preference are the first development level of students' programming learning.

The Second Development Level of C Language Teaching
The ultimate development level of students in C language teaching is to establish programming thinking, develop programming habits and acquire programming ability. Students' personal ability: have the ability of simple problem analysis, algorithm establishment and programming problem solving.

The Proximal Development Level of C Language Teaching
In the C language teaching, students' learning difficulties are mainly shown as: on the one hand, the inherent knowledge is not consistent with the C language knowledge, such as students in their writing program, often a multiplication sign that C language written by means of the mathematical sciences omit multiplication sign or write "×".On the other hand, the contradiction between the inherent thinking mode and calculation mode of thinking, such as students in the use of variable always ignore the execution of the variables, the dynamic change characteristics. These difficulties area is students' "the most neighboring developmental zone".

THE DESIGN OF C LANGUAGE TEACHING SCAFFOLD
Based on the analysis of the "nearest development area" of C language teaching, it is similar to the scaffolding teaching method proposed by American education scholar Bernie dodge [6,7]. According to the different contents of the learning scaffold and the realization of different goals, the C language scaffold teaching is divided from the functional aspects, and three types of C language teaching scaffolds can be built.

Knowledge Receptive Scaffold
The purpose of the design of knowledge-accepting scaffold is to facilitate the memorization, discrimination and understanding of knowledge, which is mainly applied to the memory of language keywords and the memorization of language usage norms in C language teaching. The teaching strategy of this kind of stent design is to set up the stent by analogy, comparison and differentiation.

Mode Solidifying Scaffold
The purpose of the model solidified stent design is to assist and guide students to establish the framework of application paradigm in program design such as program framework, function framework, algorithm design framework, function application framework. The teaching strategy of this kind of bracket design is to combine engineering practice and construct the bracket according to actual needs.

Knowledge Internalization Scaffold
The purpose of knowledge internalization scaffold design is to improve students' knowledge transfer and highlevel thinking, and to cultivate students' innovation and creativity. This kind of stent design requires teachers to have high knowledge and application ability, and be able to set questions flexibly, dynamically and skillfully to build the stent.  Assignment operator = = "=" is used in mathematics to join equations, "=" is used in C to assign values to variables

C LANGUAGE SCAFFOLD TEACHING DESIGN CASE
The core of scaffolding instructional design is to find the "most adjacent development area" for students. For the teaching of computer programming, to find the "most adjacent development area", the first thing to do is to clarify the original knowledge area of students. The determination of the original knowledge area of college students is based on the original knowledge reserve of all students. C language programming courses for the first year or less, students have education basis for the basic level of English and mathematics. The foundation of scaffolding instructional design is basic understanding of mathematics and elementary English level.

Case of Knowledge Receptive Scaffold
In the teaching of C language, part of the teaching content of language knowledge is rather boring. This part of the teaching is the basis for the subsequent teaching of program design. To lay a good foundation, open the door of students' interest in learning C language and stimulate their thirst for knowledge are the core of the receptive C language bracket design. The main point of this part of the stent design is to present the complex content as "simple", and make an analogy and comparison with the original knowledge of students, so as to refine the stent design. Take the content of C language operator as an example to illustrate this part of the scaffold [8,9]. See Tab. 1.

Mode Solidifying Scaffold
C language teaching enables students to learn the teaching goal of programming, which needs to be strengthened by solidifying some basic contents of programming and repeatedly applying them. In this part, the curing simplified scaffold is designed to assist learning.
In terms of teaching, the teaching design is based on the "three-step teaching" [10] experience summarized by the teacher and the refining of the content. The "three-step bracket" is designed for the application of C language. Some teaching "three-step brackets" see Tab. 2. Table 2 Three-step brackets Scaffold Teaching difficult points Support content Write C program "three step" method Master the structure of C program Design C program Define variables and initialize them as needed (save the problem to the computer). Program algorithms (solve problems).
Output results (variable content display).
The function applies the three-step method Master the structure of functions Can write functions Define functions (make your own tools). Declares the called function in the calling function (who declares it with whom). Call a custom function in the caller (using tools).
the three-step method of the pointer Understand pointer variables Can apply the pointer Define pointer variables Make pointer variables point to specific variables (assign values to pointer variables). Use pointer variables.

Knowledge Internalization Scaffold
Knowledge internalization scaffold is designed to build knowledge network. Knowledge internalization scaffold design shall coordinate all parts of the knowledge of C language program design. According to the knowledge, point, line, surface, network, ability cultivation shall be conducted from primary to intermediate to advance. Design teaching support from the perspective of unity and wholeness. The scaffold problem is set up in the form of simple, slightly complex and complex presentation. For example, the triangle area [11,12] was calculated by using Helen's formula, and the design of internalized bracket is shown in Tab. 3. Learn to analyze multiple possibilities Learn how to program select structure Calculate the triangle area by using Helen's formula Design program can repeat: input three Numbers, determine whether the input of three Numbers constitute a triangle, can, find the area of the triangle, otherwise the output cannot form a triangle.
Learn to analyze the repeated problems in terms of conditions Learn how to program looping Calculate the triangle area by using Helen's formula Design function completion: for any 3 Numbers, determine whether the triangle can be formed, can find the area of the triangle, otherwise return cannot form a triangle. In the main function to call the design of the function to achieve the triangle area.
Learn modular problem analysis Learn functional programming 6 SCAFFOLDING C LANGUAGE TEACHING PRACTICE 2017 in two teaching units scaffolding grouping contrast teaching C language teaching practice, three class as a theoretical teaching object, as a teaching group, each group number 110 people, the experimental group 1 scaffolding C language teaching, experiment 2 groups continue to implement the traditional teaching, the teaching effect to measure the test point for programming fallible knowledge the error rate of the calendar year in the experiments, the measurement data after teaching are shown in Tab. 4.

CONCLUSION
The application of scaffolding C language teaching, teaching practice in two classes of six C language, practice proves that scaffolding C language practice teaching can be students programming ability training classification, stratification into the curriculum teaching, Make the students' divergent, fuzzy and chaotic programming thinking clear and standardized, can effectively train students' programming thinking and establish programming habits, enhance students' awareness of application programming language to solve practical problems, improve students' initiative in autonomous learning. Scaffolding C language teaching can clarify stage and operate the process of ability cultivation.