“C Language Programming” is a basic course for undergraduate engineering majors such as “software engineering”. It is a required course and a foundation for learning other related engineering courses ( Fan & Wang, 2018). Therefore, it is very important to learn the course “C Language Programming” well. However, due to too much grammar in the course and that the class time is tight, the students cannot absorb the knowledge in the effective time of the class, and the extracurricular students also have no interest to understand the key points and the difficult points. Therefore, the teaching concept of “community of learning” is introduced to allow students to study independently. Teachers play a supporting role, and communicate more with students. Let students and teachers learn and progress together.
The concept of the community was proposed by the German sociologist Ferdinand Townies in 1887 ( Jin, 2018; Ding, 2019; Zhang, 2019). Later, in 1995 Ernest L. Boyer applied the concept of community to learning for the first time, and proposed the concept of “learning community” ( Li, 2018). The concept of “learning community” emphasizes the establishment of good communication between learners and mentors. Meanwhile, learners communicate and cooperate with each other, share ideas and experiences, and learn and progress together ( Song, 2019).
Now, C Language Programming courses have the following problems: First, the teaching mode is not clear enough. In the past, the classroom teaching was dominated by the teacher, who told the knowledge and the students took notes in class. However, the course of C Language Programming is mostly about some grammatical knowledge, which is very logical in practice. Students blindly absorb too much knowledge, without active thinking, which is often difficult to digest. The real operation is confused, which leads to the gradual loss of interest in the course learning ( Ding, 2018; Guo & Li, 2018).
Second, teaching methods are not diversified enough. Due to more grammar and heavy teaching tasks, teachers usually use PPT to explain in class, and the single teaching method is easy to make students lose interest in class. Ignore the interaction between teachers and students.
Third, lack of practical ability. Because of the singleness of class form and the tension in class, teachers can’t take students to carry out practical operation too much. Students often understand the knowledge points but don’t know how to use the knowledge to solve practical problems. In the face of practical operation, students often do not know how to start, or even later do not want to do it ( Tang, 2019).
2. The Practice Method of the Teaching Concept of “Learning Community” in the Course of C Language Programming
The teaching concept of “learning community” emphasizes that students are the main body and teachers and students learn together. Adding the teaching concept of “learning community” into the teaching of “C Language Programming” can improve students’ autonomy, increase their interest in the course, and let students take the initiative to learn. Based on the actual situation, the following practical methods of “learning community” in the course of “C Language Programming” are proposed to solve the above problems.
2.1. Make Clear the Main Body and Arrange the Teaching Time Reasonably
Students are the main body of learning, teachers in the classroom teaching time should be appropriate. In the classroom, they can’t always infuse knowledge into students. They should have time for students to think and digest. Reasonably arrange the teaching time of the teacher and give the class to the students properly.
Students as the main body, let students to study independently, the teacher is responsible for answering students’ questions. Most students do not want to learn C programming because they do not understand and do not want to ask. They are in a passive stage, step by step, unwilling to find their own initiative to find a way out. The “learning community” concept is to let students in an active stage, become the master of their own learning.
Each learn a knowledge point, can give two to three questions to think for the student. Digest the knowledge on the spot, solve the existing problems on the spot, let every student participate in, every student should think about the problem to write their own answers. Ask more questions in class and guide students to think more. The right to learn will be placed in the hands of the students themselves, and the teacher will have the role of supervision and instruction.
2.2. Study Together and Pay Attention to the Differences between Students
The interaction between teachers and students helps to arouse students’ interest in the course, and also enables teachers to know more about students. Teachers and students discuss and communicate in the interaction to learn and progress together. Every student has different thinking methods and interests and specialties. When answering questions, teachers should adopt different methods for different students, so as to develop students’ specialties and fill in their weaknesses.
In class, the teacher puts forward some open questions more, guides the student to think. Class forms are diversified to enhance students’ sense of participation and let every student be involved in the class. Teachers should prepare some examples related to real life. Questions close to life can arouse students’ sense of identity, so that students can concentrate more. Give enough time for students to think and respond to questions. If students have good examples, they can also take them out and discuss them with their classmates and teachers.
2.3. Set up a Team and Run in the Team
Group learning is a learning method that can stimulate students’ interest. A group is a team. There needs a running in time between team members. After a long running in time, team members can also maximize their strengths to achieve the highest efficiency.
Let the students study independently can exercise the ability of independent thinking, but often many students do not stick to it, usually because they cannot restrain themselves and give up halfway. Similarly, many students often choose to give up when they encounter a problem that cannot be solved, rather than find someone to solve it together. Students lack of self-discipline ability, lack of communication and exchange between students. Set up groups, communicate and discuss with each other, learn from each other and supervise each other. Through the cooperation between the team members and the competition between the teams, we can make learning more interesting and students more involved in learning. Each student has his or her own field of expertise and interest. Let the students determine their own points of expertise and interest, and then organize their own teams on this basis. In this way, in the process of mutual learning, students will not neglect the ability of independent learning, so that team cooperation and personal development get a relatively good balance.
Every Friday issues the topic assignment, the team allocates the task by itself, gives play to the team member the strength, formulates the different solution plan from the different aspect. Various solutions can be proposed from innovation, practicality, time-saving and other aspects. Once a week, groups and teachers exchange ideas and concepts. Set up standardized groups to help students take the initiative to learn and make learning more interesting.
The group learning of the concept of “learning community” is shown in Figure 1.
2.4. Self-Evaluation, Suggestions and Feedback
To objectively evaluate the practice of “learning community” teaching concept in the course of “C Language Programming”, we can put forward our own Suggestions and opinions from the perspective of individuals or groups, such as what we have learned and what can be improved. Encourage students to evaluate and give feedback on their learning progress and teachers’ teaching methods. Teachers or classmates can be witnesses to their own reflections. Teachers can listen to and adopt suggestions on teaching methods. Continuous absorption of experience and advice, teaching quality can also be greatly improved, students can also find the most appropriate learning methods, so that their learning more efficient.
3. Practical Conclusions of “Learning Community” in the Course of C Language Programming
According to the differences in team running-in time, teachers’ classroom
Figure 1. Group learning process of the “learning community” concept.
teaching time and the overall level of the class, four classes in different semesters were selected to compare the results before and after the teaching of C Language Programming based on the teaching concept of “learning community”, as shown in Table 1, Table 2, Table 3 and Table 4. The full score is 100, 60 or above is passing, 90 or above is excellent.
From the data in the four tables, it can be seen that after the implementation of “C Language Programming” based on the teaching concept of “learning community”, the average score of the four classes has increased, the highest score and the lowest score have also increased, and the level of students is improving. The results of the four classes before and after the collation, together with the influencing factors are illustrated in Table 5.
According to the data in Table 5, under the premise of the improvement of students’ performance, the proportion of the influence of team running time, teachers’ classroom teaching time and the overall class level on the improvement of learning is different. As shown in Figure 2, team running-in time and teachers’ classroom teaching time account for the majority, while the overall level of the class is secondary.
The average score before and after the implementation of the four classes was made into a line chart, as shown in Figure 3. The average score growth rate of
Table 1. Results of score comparison before and after the implementation of class 1.
Table 2. Results of score comparison before and after the implementation of class 2.
Table 3. Results of score comparison before and after the implementation of class 3.
Table 4. Results of score comparison before and after the implementation of class 4.
Table 5. Influencing factors of the four classes and differences in scores before and after implementation.
Figure 2. Proportion of the three factors to the degree of learning improvement.
Figure 3. Class average score increase before and after implementation.
the four classes was different. The average score of class 4 before the implementation was higher than that of class 1 before the implementation, but after reasonable distribution of influencing factors, the average score of class 1 after the implementation was higher than that of class 4, which also reflected the influence of team running time, teacher’s classroom teaching time and the overall class level on the improvement of learning.
From the above chart, we can intuitively see the influence of the teaching concept of “learning community” on the classroom teaching of “C Language Programming”. The results show that it can more stimulate the students’ potential when taking students as the main role and allowing students to learn independently. Factors such as team running time, teachers’ classroom teaching time and overall class level also affect the degree of learning improvement. Reasonable management and distribution of these factors can make students’ learning improvement more significant.
The teaching concept of “learning community” advocates taking students as the main body and letting students participate in their study independently. Students learn independently as learners, while teachers help students learn as facilitators. The teaching concept of “learning community” is put into the course learning of “C Language Programming”, and factors such as reasonable management and allocation of team running time, teachers’ classroom teaching time and the overall level of the class are used to improve students’ learning efficiency, improve teaching quality and achieve better teaching effect.
The authors gratefully acknowledge the support from the education Reform Project of Gannan Normal University and the science (gsjg-2017-29) and technology research project of the education department of Jiangxi province (Grant Numbers: GJJ180773, GJJ180754).
 Guo, Z., & Li, H. (2018). The Teaching Mode of C Language Programming under the Background of Multimedia Information Technology. Journal of Henan College of Mechanical and Electrical Engineering, 6, 71-73.
 Song, P. Y. (2019). The Teaching Innovation of College Ideological and Political Course Based on Learning Community. Journal of Yancheng Normal University (Humanities and Social Sciences Edition), 1, 112-115.