A practical methodology to learn computer architecture, assembly language, and operating system

Hiroaki Fukuda, Paul Leger, Ismael Figueroa

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

System-level details, such as assembly language and operating systems, are important to develop/debug embedded systems and analyze malware. Therefore it is recommended to teach every topic of these subjects. However, their learning cost has been significantly increased due to current system complexities. To solve this problem, several visualization techniques have been proposed to help students in their learning process. However, observing only the computer system behaviors may be insufficient to apply it to real systems due to the lack of practical experiences and a comprehensive understanding of system-level details. To address these issues, we propose a novel methodology where students implement a virtual machine instead of using existing ones. This virtual machine needs to execute binary programs that can be run on a real operating system. Through implementing this virtual machine, students improve by experience their understanding of computer architecture, assembly languages, instruction sets, and the role of operating systems. We also provide MMVM that is a virtual machine implementation reference, and can execute the binary programs while showing the internal states of CPU (registers & flags) to users (students) to support their implementation. Finally, this paper reports the education results applying this methodology to 15 students that consist of 3rd-year students and 1st year of master students.

Original languageEnglish
Title of host publicationCSEDU 2020 - Proceedings of the 12th International Conference on Computer Supported Education
EditorsH. Chad Lane, Susan Zvacek, James Uhomoibhi
PublisherSciTePress
Pages333-340
Number of pages8
ISBN (Electronic)9789897584176
Publication statusPublished - 2020
Event12th International Conference on Computer Supported Education, CSEDU 2020 - Virtual, Online
Duration: 2020 May 22020 May 4

Publication series

NameCSEDU 2020 - Proceedings of the 12th International Conference on Computer Supported Education
Volume1

Conference

Conference12th International Conference on Computer Supported Education, CSEDU 2020
CityVirtual, Online
Period20/5/220/5/4

Keywords

  • Assembly Language
  • Computer Architecture
  • Educational Methodology
  • Operating System
  • Virtual Machine

ASJC Scopus subject areas

  • Computer Science Applications
  • Information Systems
  • Education

Fingerprint Dive into the research topics of 'A practical methodology to learn computer architecture, assembly language, and operating system'. Together they form a unique fingerprint.

Cite this