Reform Practices in Computer Course Education

0 Introduction

With the development of computer and information technology, traditional teaching models have shown more and more problems and shortcomings. New teaching methods and means continue to emerge. From a broader trend, introducing internationally advanced teaching concepts, benchmarking against world-class universities’ advanced disciplines, and integrating information technology into course teaching have become the development direction of modern higher education course reform.

“Assembly Language and Interface Technology” is a required foundational course for students in computer and information-related majors at higher education institutions. The significant feature of the core course in computer systems, assembly language, is its ability to directly control underlying hardware and fully utilize the functions of computer hardware. This plays an indispensable role in writing high-performance system software and real-time responsive application software. Computer interface technology focuses on the structure of computer hardware and the composition of I/O systems, which are key issues that must be researched and solved to achieve high-performance storage and networking devices and enhance computer hardware performance. With the deepening of educational reform in universities, the integration of assembly language and computer interface technology, guided by the IEEE/ACM CS2013 curriculum framework, has formed a new foundational course in computer science—”Assembly Language and Interface Technology,” which has been adopted by many universities.

1 OBE-Centered Teaching Model Reform

The OBE-centered reform of the teaching model emphasizes teaching effectiveness, follows a results-oriented approach, and helps promote sustainable improvement in teaching, transforming the passive reception of “teaching” and “learning” into a positive cycle of “teach—assess—learn” [1-4].

The “Assembly Language and Interface Technology” course consists of multiple sizable knowledge points, referred to as knowledge modules, such as assembly instruction sets, memory management models, external interfaces and designs, protected mode programming, etc. These knowledge modules are relatively independent and contain several knowledge points, collectively forming the course content and establishing a three-layer knowledge structure of courses, modules, and knowledge points. The basic idea of the course teaching model reform based on the OBE concept is to achieve independent micro-cycles and continuous improvement within this three-layer structure, as shown in Figure 1.

Reform Practices in Computer Course Education

Knowledge points are evaluated through assignments, and the degree of knowledge point attainment is obtained based on students’ assignment completion. Teaching processes for knowledge points are improved based on this attainment. Knowledge modules are evaluated through practical course sessions and project designs, with module attainment derived from the completion of course designs, leading to improvements in module teaching processes. Knowledge modules can support different indicators in graduation requirements. Course content is assessed through examinations, with course attainment obtained from exam results, leading to improvements in course content. Each process cycles continuously, promoting ongoing improvements.

Example of a cycle (taking module micro-cycles as an example):

(1) Module learning content.

Familiarity with reverse assembly analysis tools like IDA Pro, capable of performing reverse engineering analysis on applications.

(2) Graduation requirements supported by the module and their indicators.

Graduation Requirement 5: Using modern tools (capable of selecting appropriate development environments, choosing suitable software and hardware development tools, and reasonably using various resources to predict and simulate complex problems, while understanding the application scenarios and limitations of different development technologies and tools). Indicator 5.3: Capable of using appropriate software tools for system analysis based on different needs).

(3) Module design evaluation and improvement.

Using IDA Pro to disassemble a certain application program, analyzing the program’s functions and related parameters, and implementing a program with the same functionality in C language. Students demonstrate the analysis process on-site as required and write a design report. Scores are given based on the on-site analysis and report completion, thus obtaining the module attainment. Based on attainment levels and data such as student feedback on difficulty and design completion, continuous improvements to module content are made.

2 Textbook and Teaching Content Reform

(1) Benchmarking against the course systems of world-class universities.

On the basis of adhering to and promoting Chinese characteristics and traditional advantages, the curriculum reform is driven by benchmarking against the corresponding courses of world-class universities, promoting course reform in all aspects, including course objectives, content, teaching models, textbook development, faculty training, and achievement evaluation, achieving substantial equivalence in the intrinsic quality and level of the courses.

The course group, under the overall planning of the major, has benchmarked against 80 course samples and complete course catalogs listed in the IEEE/ACM CS2013 for various types of universities, transitioning from a single course benchmarking model to a core course system (group) benchmarking construction model. This strengthens the systematization of core course systems (groups) and forms a specialized knowledge system in assembly language and interface technology that aligns with the characteristics of this major, while arranging course teaching based on this system in conjunction with textbooks. The “Assembly Language and Interface Technology” course, along with “Computer Organization Principles” and “Computer System Architecture,” belongs to the core hardware course group, with its knowledge areas and points falling under the Architecture and Organization (AR) related content in IEEE/ACM CS2013.

Taking the University of Wisconsin in the United States as an example, it offers assembly language, logic design, and architecture courses for undergraduate students in their third and fourth years of computer science, covering knowledge points such as instruction sets, computer logic, data paths, pipelining, memory design and control, composition structure, input/output, and multiprocessors. Its core educational philosophy is to understand the operating principles of computers from the perspective of computer designers and to conduct related project designs. The selected textbook is “Computer Organization and Design: The Hardware/Software Interface” by David A. Patterson et al., and Table 1 lists the specialized content knowledge points in the computer discipline at the University of Wisconsin corresponding to the modules in this core hardware course group.

Reform Practices in Computer Course Education

Through the completion of the four major stages of the course (design, implementation, evaluation, improvement), the benchmarking design is achieved, promoting course reform in all aspects, including course objectives, content, teaching models, textbook development, faculty training, and achievement evaluation, achieving substantial equivalence in the intrinsic quality and level of the courses.

(2) Comprehensive updates of course textbooks.

Textbooks determine the teaching content and are the core of the entire teaching process. In writing the textbooks, the course group conducted thorough research on domestic and foreign textbooks on assembly language and interface technology.

Internationally, “The x86 PC Assembly Language, Design, and Interfacing (Fifth Edition)” by renowned experts in computer and microelectronics fields, such as Muhammad Ali Mazidi, is a famous textbook in assembly language and interface technology, widely adopted by many prestigious universities abroad. “Computer Organization and Design: The Hardware/Software Interface (Fifth Edition)” by renowned computer scientist David A. Patterson et al. is a comprehensive textbook systematically introducing computer organization, assembly language, and interface technology, focusing on the most fundamental concepts in current computer design, detailing the relationship between hardware and software, and introducing mainstream technologies and latest achievements in contemporary computer system development. This book is also used as a course textbook in many top foreign universities for computer science.

Domestically, “Assembly Language and Interface Technology (Fourth Edition)” edited by Professor Wang Rangding from Ningbo University and published by Tsinghua University Press is an excellent textbook in the field of assembly language and interface technology. This book organically integrates microcomputer principles, assembly language, and microcomputer interface technology, not only organizing interface technology content in the textbook according to traditional hardware interfaces but also introducing software interface technology to enhance learners’ abilities in hardware and software applications. Another important textbook in the field of assembly language is “16-32 Bit Microcomputer Principles, Assembly Language, and Interface Technology Tutorial” edited by renowned expert Qian Xiao Jie.

Through a comprehensive comparative study of outstanding textbooks in the field of assembly language and interface technology, it can be seen that these textbooks generally start by discussing basic programming methods in assembly language and the basic theories of interface technology, combining theory with practice. In the practical application of interface technology, assembly language is applied to solve complex engineering problems related to hardware, such as interface configuration and data communication, which aligns with the basic steps for beginners to enter, understand, and master professional knowledge. Therefore, the course group also fully drew on this approach in writing the textbooks. However, through in-depth reading of these textbooks, we also found some issues not suitable for the current professional course teaching. For example, “The x86 PC Assembly Language, Design, and Interfacing (Fifth Edition)” still devotes a significant portion to programming in assembly language related to 16-bit BIOS and DOS interfaces, while most operating systems no longer support 16-bit environments, leading to a disconnect between the experimental environment and reality. “Computer Organization and Design: The Hardware/Software Interface (Fifth Edition)” uses the MIPS processor as an example when discussing related interface technologies and their applications, while other software and hardware courses in this major are based on Intel x86 or ARM architecture processors, resulting in a mismatch with the current theoretical system and experimental environment. Other relevant textbooks also have certain issues, making them unsuitable for direct adoption as textbooks for this major.

In response to these situations, the “Assembly Language and Interface Technology” course group has conducted detailed planning and writing of this textbook, fully considering the aforementioned issues during the writing process. Based on the advantages of domestic and foreign related textbooks and the professional characteristics of this discipline, the textbook writing work has been carried out. The textbook content has been comprehensively updated, removing knowledge related to 16-bit CPUs, fully introducing 32-bit CPUs and their instruction sets, and adding new content regarding assembly language and interface technology based on 64-bit CPUs. Traditional content on ISA, IDE, and other data transmission interfaces has been removed, and new interface types such as USB 3.0, HDMI, and Wi-Fi have been included, along with discussions on relevant interface knowledge and their underlying applications in conjunction with mobile device interfaces like Android and iOS, thus keeping the textbook content up to date while retaining classic content.

(3) Achieving a professional continuity in teaching content.

The traditional course system lacks continuity between courses, making it difficult for students to form coherent thinking and deeply understand computer system design. Courses such as “Computer Organization Principles,” “Compiler Principles,” and “Operating Systems” are core to cultivating computer system capabilities, allowing students to gradually understand the operating principles of computer systems and the construction methods of computer application systems. This course plays a transitional role in cultivating computer system capabilities, helping establish a hierarchical, progressive, and open course system. In terms of course content, some knowledge points are integrated with the C programming course, further mastering the memory management model of computers based on a solid understanding of programming design. Through reverse assembly analysis combined with computer security courses, students learn new knowledge in the field of information security. By studying memory management under protected mode, they grasp the underlying operating mechanisms of operating systems. By analyzing network interfaces and their protocols, they learn about computer networking knowledge. Different knowledge points in the textbook resonate with various professional courses through examples, facilitating the integration of courses and enhancing students’ abilities to solve practical complex engineering problems using assembly language and interface technology.

3 Reform of Teaching Methods Combining MOOC and Flipped Classroom

Currently, the application of MOOCs (Massive Open Online Courses) in professional course teaching is becoming increasingly popular. The rich course resources and diverse learning tools break the limitations of traditional course time and space, making learning more accessible and convenient. Flipped classrooms, by rearranging the time inside and outside the classroom, shift the decision-making power of learning from teachers to students, reconstructing the learning process. Utilizing abundant information resources, students gradually become the main actors in learning, and more interaction between teachers and students helps promote students’ absorption and digestion of knowledge [9-12].

The “Assembly Language and Interface Technology” course combines traditional classroom teaching methods with new teaching methods such as MOOCs and flipped classrooms. Systematic knowledge modules are still presented using traditional teaching methods, such as the design methods of assembly language programs, commonly used computer interface technologies, and their programming. These parts contain a lot of teaching content, and the knowledge structure deepens progressively. Fully adopting online learning methods like MOOCs cannot control students’ learning progress, and evaluating students’ learning effectiveness poses certain challenges. However, relatively independent knowledge points are implemented using the MOOC combined with flipped classroom teaching methods. For example, assembly programming for floating-point data, memory management in 32-bit protected mode, and USB interface technology and design have separate video course resources available on MOOCs, require relatively little prerequisite knowledge, and use relatively independent module assessment methods, allowing for OBE-based achievement evaluations to monitor students’ learning progress and depth.

Figure 2 briefly describes the learning process of the module knowledge point using floating-point data assembly programming as an example. First, students learn about floating-point assembly programming through MOOCs, including knowledge points such as floating-point data definition, register stack, and floating-point instruction set. Then, students participate in the flipped classroom segment with questions, where teachers provide guidance on difficult points and answer questions, while also issuing new learning problems and practical programming tasks. In the post-class practice, students continue learning through MOOCs while completing practical programming tasks in teams. Finally, teams write project documents and presentation slides for public project demonstrations and defenses, while teachers evaluate students based on completion and attainment, making continuous improvements based on evaluation results, thus completing the entire teaching segment.

Reform Practices in Computer Course Education

4 Reform of Experimental Teaching

Experimental teaching is a necessary complement and extension of theoretical teaching. The experimental teaching of the “Assembly Language and Interface Technology” course allows students to consolidate and deepen the knowledge acquired from theoretical learning through numerous experiments related to practical applications. This combination of theory and practice cultivates students’ interest in computer hardware courses and related research directions, enhancing their engineering practice abilities. The reform of experimental teaching is primarily implemented through the following aspects.

(1) Establishing separate practical courses.

The “Assembly Language and Interface Technology” course is divided into independent theoretical and practical courses, with practical courses arranged for 2-3 weeks during the summer session following the completion of theoretical courses. The theoretical course also includes a small amount of experimental content, but this experimental part mainly consists of validation experiments and design experiments. Practical courses focus on developing comprehensive and innovative experiments aimed at enhancing the ability to solve complex engineering problems. For instance, a buffer overflow attack experiment allows students to learn and master the mechanisms of certain worm viruses and understand basic knowledge of virus protection and information security. Such experiments are not limited to the course itself; they require comprehensive design and testing through consulting other professional materials, deepening understanding of the course knowledge while integrating knowledge from different directions.

(2) Integration with virtual simulation experiments [13].

The course relies on a national-level virtual simulation experimental teaching center to carry out virtual experimental teaching. During theoretical learning, some experiments deepen understanding through a combination of virtual simulation experiments and real-world experiments, such as the implementation of data block operation repeated execution instruction REP MOVSB in the teaching module.

Reform Practices in Computer Course Education

During the experiments, as shown in Figure 3(a), students can freely write programs, execute codes, and initialize values in a visualized manner within a specific syntax framework. They can observe the program execution process in Figure 3(b) and the program execution results in Figure 3(c). Through the experiments, students can understand the usage of instructions like REP MOVSB/MOVSW, and by combining this with actual memory access experiments, they can fully master the related knowledge of these instructions.

(3) Building an experimental environment focused on cultivating students’ system capabilities.

The course experiments are closely centered around cultivating computer system capabilities. Some experiments use the same experimental development platform as computer organization principles (based on Xilinx’s SoC development platform), such as MIPS assembler and demonstrator experiments, application experiments based on SoC interfaces, and VGA controller and USB controller interface experiments. Students learn about the CPU design process by designing CPU interfaces, mastering knowledge modules such as instruction sets and simple instruction design, assembly language, hardware description language, hardware interface design, and hardware simulation debugging, thereby integrating knowledge from hardware experimental courses and understanding computer system design from a “big system perspective”.

5 Conclusion

The course teaching reform of “Assembly Language and Interface Technology” has been initiated. Based on the feedback from teachers and students during the implementation process, good results have been achieved, along with some typical teaching outcomes. However, as this course reform is still in its initial stages, some aspects are not yet mature, particularly the reform of teaching methods, which requires further refinement and exploration. Future discussions will actively address specific issues encountered during the reform process.

Course teaching reform is a long-term and continuous process. We are in an era of rapid development in computers and information technology, with new theories, knowledge, and technologies constantly emerging. The hardware platform centered on CPUs and the system software centered on operating systems are continuously advancing, which requires us to keep pace with the times in the reform of theoretical and experimental teaching, focusing on cultivating students’ abilities as the center of teaching reform, with the overall goal of training high-level research-oriented talents in computer science, thereby transforming students into qualified professionals.

References:

[1] Zhou Hongfang, Zhu Zhengwei, Li Maoguo. Development and Innovation of Engineering Education Certification and Its Implications for China’s Engineering Education—Summary of the 2016 International Symposium on Engineering Education Certification[J]. Chinese University Teaching, 2017(1): 88-95.

[2] Huang Ru, Shu Xinfeng. Exploration and Practice of Iterative Concentrated Practical Teaching Model for Software Engineering Based on Outcomes[J]. Computer Education, 2018 (2): 152-155.

[3] Li Wei, Wang Lei, Lu Xiaofeng, et al. Innovation of Computer Major Talent Training Model Based on OBE Concept[J]. Computer Education, 2017(8): 47-51.

[4] Zhou Jiandong. Practical Research on the Outcomes-Oriented Concept in Linux Teaching[J]. Education Teaching Forum, 2015(30): 149-150.

[5] Muhammad A M, Janice G M. The x86 PC assembly language, design, and interfacing[M]. 5th ed. London: Pearson Education, 2011.

[6] David A. Patterson, John L. Hennessy. Computer organization and design: The hardware/software interface[M]. 5th ed. San Francisco: Morgan Kaufmann, 2013.

[7] Wang Rangding. Assembly Language and Interface Technology[M] 4th ed. Beijing: Tsinghua University Press, 2017.

[8] Qian Xiao Jie. 16-32 Bit Microcomputer Principles, Assembly Language, and Interface Technology Tutorial[M]. Beijing: Machinery Industry Press, 2011.

[9] Zhan Dechen. Implementation Plan for the Mixed Teaching Reform of “University Computer” with “MOOC+SPOCs+Flipped Classroom”[J]. Computer Education, 2016 (1): 12-16.

[10] Ling Qinghua, Han Fei, Wang Changbao. Initial Exploration of Flipped Classroom Teaching Model in the Course of “Fundamentals of Computer Hardware Technology”[J]. Higher Education Forum, 2016(8): 62-65, 68.

[11] Zhao Yuan, Wang Jie, Zhou Lijun, et al. Construction of C Language Programming MOOC Oriented by Computational Thinking[J]. Experimental Technology and Management, 2018(4): 147-150.

[12] You Xiaoming, Fang Zhijun, Yao Xinghua. Teaching Reform and Practice of Application-Oriented Colleges under the Mixed Teaching Model of MOOC and Flipped Classroom[J]. Software Guide (Educational Technology), 2017(1): 7-9.

[13] Li Lin, Li Fengxia, Lan Shan, et al. Exploration of Virtual Simulation Experiment Methods Based on MOOC[J]. Laboratory Research and Exploration, 2017(4): 111-113, 130.

Funding Project: Ministry of Education Industry-University Cooperation Collaborative Education Project (201802137004, 201802228004); Beijing Institute of Technology “13th Five-Year Plan” Textbook Project (29).

First Author Profile: Li Yuanzhang, Male, Lecturer, Research Direction: Embedded Systems, Information Security, [email protected].

(End)

(WeChat Editor: Shi Zhiwei)

More Exciting:

[Directory] Computer Education, Issue 5, 2020

2020 China University Computer Education Conference Notification (Nanjing, Jiangsu)

Harbin Institute of Technology Professor Zhan Dechen: A New Model to Ensure the Quality of University Teaching—Synchronous and Asynchronous Mixed Teaching

Peking University Professor Li Xiaoming: After Realizing “Online Teaching Works”…

From the “Accidental” Outbreak of the Pandemic to the “Inevitable” Combination of Offline and Online Teaching

The Online Teaching Network Seminar on “Working Together to Fight the Pandemic” Successfully Held

Call for Papers: “Online Teaching During the Pandemic”

Some Suggestions for Online Teaching—Li Fengxia from Beijing Institute of Technology

[Directory] Computer Education, Issue 4, 2020

[Directory] Computer Education, Issue 3, 2020

How Should University Teachers Ensure the Quality of Online Teaching? See What Experts Say

[Directory] Computer Education, Issue 2, 2020

[Principal Interview] Accelerating the Promotion of Computer Science Education, Becoming a Pathfinder for Data Science Education—Interview with Professor Zhou Aoying, Vice President of East China Normal University

Chief Editor’s Message: Reflections on Computer Education from “Coffee on the Wall”

[Directory] Computer Education, Issue 1, 2020

[Series of Articles] Analysis and Suggestions on Quality Issues in Undergraduate Computer Courses

[Directory] Computer Education, Issue 12, 2019

[Directory] Computer Education, Issue 11, 2019

Analysis and Insights on the Computer Undergraduate Course Setup at the University of Tokyo

Teaching Reform and Practice of Artificial Intelligence Courses at Peking University

New Engineering and Big Data Major Construction

Computer Education Magazine Selected for the CCF Recommended Directory of Chinese Science and Technology Journals!!!

[Series of Articles] Distilling Truth from Falsehood—Starting from ESI Indicators

Learning from Others—Compilation of Research Articles on Computer Education at Home and Abroad

Reform Practices in Computer Course Education

Reform Practices in Computer Course Education

Leave a Comment