Application of Visual Knowledge Graph in Assembly Language Programming Teaching

: Assembly L anguage P rogramming is a compulsory course for information related majors in colleges and universities. It plays a basic role in cultivating students' professional ability. Based on the teaching experience accumulated by the authors' teaching team for many years, visual knowledge graph is used for teaching application, the fragmented knowledge points are correlated, and the knowledge system has been formed. Through the knowledge points network of the course, the teaching advantages are better brought into play, which not only promotes the students' mastery of Assembly Language Programming, but also lays a solid foundation for the students' subsequent hardware course learning.


Introduction
Nowadays, how to maintain students' learning interest and stimulate students' learning motivation in computer language teaching has become a key issue for teachers of information related majors at home and abroad. The knowledge graph was put forward by Google in 2012, and its search service has been enhanced by this technology [1]. Knowledge graph brings vitality to Internet semantic search, and also shows a strong ability in question and answer system. The search based on knowledge base, recommendation and Q & A widely used today are all based on knowledge graph. So we applied the visual knowledge graph used by team teachers in their field of scientific research to the course teaching of Assembly Language Programming. Through the visual knowledge graph, we summarized the knowledge points of Assembly Language Programming course, formed a personalized learning program oriented to learning objectives, and combined with online and offline teaching means. So the teaching advantages of the course are better brought into play, which not only promotes the students' mastery of Assembly Language Programming, but also lays a solid foundation for the students' subsequent hardware course learning.

Course Teaching Characteristics
Assembly Language is the computer language closest to hardware. Its remarkable feature is that it can directly control the underlying hardware and give full play to the performance of computer hardware. It is one of the most suitable languages for writing high-performance system software and application software with real-time response requirements [2]. However, in teaching, we found that only when students fully understand the working principle and operation process of computer and recognize the relationship between hardware and software, can they master Assembly Language and finally form a complete knowledge system.
With the rapid development of information technology, high-level language occupies a major position. Compared with high-level language, Assembly Language has many problems, such as many instructions, poor program readability, various addressing methods and so on. At the same time, Assembly Language has high compatibility with hardware, and the language structure is relatively complex. In the process of learning this course, the results of computer debugging are not as obvious as other high-level languages, which makes students flinch from the course of Assembly Language Programming.
After years of teaching, we found that in the existing teaching means, if Assembly Language is taught as a language and too much attention is paid to the instructions and grammar, the course will be boring and obscure, not targeted, and can not achieve good teaching effect. Therefore, by applying visual knowledge graph to Assembly Language Teaching [3,4], we explore the innovative teaching means and share our experience in teaching to improve teaching quality and enhance teaching effect.

Summary of Knowledge Points
In the teaching of Assembly Language Programming, instruction system has always been the focus and difficulty of the whole course, which is mainly reflected in the large number of instructions, which can be divided into 14 categories and 92 kinds. The memorability of instructions is relatively poor, so the traditional teaching method has been ineffective. How to improve the teaching effect of instructions is a difficult problem perplexing us. Starting from the teaching purpose of instructions, we use the knowledge network constructed by knowledge graph to associate the data of static knowledge points with the data of dynamic teaching activities. The instruction system mainly requires students to master the instruction function, including what operation each instruction can achieve. The difficulty of instruction teaching lies in the addressing mode supported by the instruction, that is, how to obtain the operands in the instruction. For the processor, the addressing mode means how to find the data it needs. From underlying hardware, this addressing mode involves a large number of memory formats, which are closely related to the specific memory management methods that are very different or even contrary to the students' usual thinking, so it is very difficult for students to understand. At the same time, the execution of instructions will also affect the flag bit which is very complex, so it is also a difficult factor for students to master its mechanism. Therefore, we must improve traditional teaching methods and adopt innovative teaching methods to improve teaching efficiency and teaching quality.
In order to better understand students' learning of knowledge points and integrate teaching priorities according to students' actual situation, in the process of course teaching, we use tools to extract knowledge points from unstructured texts such as teaching program and teaching materials as entities, identify the relationship between knowledge points, and take the importance and learning difficulty of knowledge points as attributes to form a knowledge network of relevancy query. On the basis of knowledge graph, big data, Artificial Intelligence and other technologies are used to form a personalized learning program oriented to learning objectives.
By forming a knowledge network of relevancy query and combing the relevant instructions of the instruction system, we designed a recommendation system based on knowledge graph (as shown in Figure 1) to help students master the characteristics and key points of instructions [5]. The recommendation system for the learning of Assembly Language Programming course can be divided into three categories: student-based method, knowledge-based method and model-based method. The student-based method recommends key knowledge points for students with similar preferences. The knowledge-based method recommends the related knowledge points for the students. The model-based method further recommends the knowledge points by building a student description model. The core problem of recommendation system is how to mine and extract features from various information. In this process, the sparsity and cold start of information restrict the effect of recommendation system. As a structured information form which describes the entities and relationships in the objective world, knowledge graph contains rich semantic associations between entities. It provides a variety of auxiliary information sources and help in organizing, managing and understanding information for the recommendation system, so as to effectively alleviate the sparsity problem and cold start problem in the recommendation task. Specifically, the knowledge graph introduces rich semantic relationships to facilitate the recommendation system, which can deeply find the relationship between students and knowledge points. In addition, the diversified relationship links in the knowledge graph can help the recommendation system obtain rich recommendation results, which are more helpful for students to understand knowledge points. At the same time, the relational information contained in the triple structure of knowledge graph helps to improve the interpretability of recommendation results.

Improvement of Teaching Methods
Assembly Language Programming is a very abstract course with many knowledge points. It is a great test for teachers and students to complete the teaching tasks of all theories and experiments in the limited class hours [6]. Especially for students with general foundation and weak learning comprehension ability, it is easy to lose interest. Therefore, in the teaching process, we should highlight the key points and difficulties, make full use of diversified teaching methods, and mobilize students' interest in learning. According to the recommendation system based on knowledge graph above, we can use audio-visual multimedia in the design of course slides, highlight the key points through color matching, combine with the knowledge points given by the recommendation system, and carry out the course purposefully, trying to make the content lively and attract students' attention. For the knowledge points that are difficult to understand, we also make full use of animation diagrams to show dynamic processes, such as data storage process, stack pushing and stack popping process, so that students can intuitively understand the form of memory storage and the change of stack.
We have applied large open network course which can break through the time and space constraints of the traditional courses and make learning easier and convenient. The comprehension ability of each student is different, and their feeling of the course content is also different. However, the traditional education is fixed and unified in the teaching progress, so it is difficult to take into account the learning situation of individual students. The learning of online courses can be mastered by students themselves. Students can learn relevant contents according to their own scheme given by the above recommendation system so that students can make full use of their time and improve learning efficiency. In addition, a key link in the learning process of students is communication, which includes the communication between students and teachers and between students and students. Through communication, some problems encountered by students in learning can be found, corrected and solved in time. In traditional teaching, Q & A is mixed with teachers' teaching time, while the unique Q & A tools in network teaching extend students' questions time, which is no longer limited to the teachers' teaching time. The way of anonymous questions also allows students to give up their timid and shy ideas and ask questions boldly. While providing online courses, online courses can also provide rich and detailed online databases. Students can check the problems mentioned by others, make up for their deficiencies in learning and increase interactivity.

Conclusion
To sum up, in order to further improve the teaching quality of Assembly Language Programming course and cultivate students' good learning and application practice ability, the problems existing in the current course teaching was analyzed, the knowledge points based on the knowledge graph were combined, and the knowledge network with relevancy query was formed. The technologies such as big data, Artificial Intelligence and so on were applied to form a personalized learning program oriented to learning objectives. Through the knowledge points network, the teaching advantages of the course are better brought into play, which not only promotes the students' mastery of Assembly Language Programming, but also lays a solid foundation for the students' subsequent hardware course learning. The exploration of course teaching methods is a long-term and continuous process. We are in an era of rapid development of computer and information technology, and various new theories, new knowledge and new technologies are emerging. This requires us to keep up with the pace of the times in the process of theoretical and experimental teaching, take the cultivation of high-level research talents in computer science as the ultimate goal, and export qualified computer professionals for our country.