Learning computer structure through an ARM-based Arduino platform

This paper proposes and analyzes the use of the Arduino Zero board as the lab platform for the Computer Structure course that constitutes an essential part of Computer Science studies. The understanding of the main functional blocks of a computer, addressing the main concepts included in the course syllabus, is reinforced by mean of the hands-on experience acquired in the lab sessions and the completion of a project based on a mobile robot. Special care has been devoted to link the theoretical concepts with their practical application. The inclusion of a debugging chip (EDBG) in the Arduino Zero board is one of the main assets to enable exploring the architecture and analyze the execution of programs down to the assembler instructions level.