This content was implemented under the following project:
Consortium Partners
Erasmus+ Disclaimer
This project has been funded with support from the European Commission.
This publication reflects the views only of the author, and the Commission cannot be held responsible for any use which may be made of the information contained therein.
Copyright Notice
This content was created by the MultiASM Consortium 2023–2026.
The content is copyrighted and distributed under CC BY-NC Creative Commons Licence and is free for non-commercial use.
In case of commercial use, please get in touch with MultiASM Consortium representative.
The art of efficient and compact-code assembler programming is considered to be a crucial skill in the context of many EU initiatives that are targeting to bring back to Europe processor design and manufacturing, as on the low-level it requires engineers aware of low-level programming methods, to correctly design processor architecture and development tools such as e.g. compilers.
Assembler programming is also the one giving the best control over hardware. Assembler programming brings the capability to include only essential code and thus generate compact software that is fast, limits resource use, and is energy efficient.
The document offers a curriculum for studies (see figure below) in the niche of unique skills in low-level programming and computer architectures, which are still urgently needed.
Currently, available digital devices have been classified as contained ones (such as embedded systems, IoT end nodes, smart sensors, etc.), mobiles (including recent notebooks, e.g. Apple and Microsoft, tablets, mobile phones, network equipment and fog class IoT devices) and PCs (all x86-based equipment, including notebooks, desktops and servers).
This split reflects the composition of the curriculum. One common module about computer architectures is for those who do not know the hardware concepts behind the construction of digital devices. Familiarising themselves with those concepts is necessary to understand low-level programming techniques. Further modules are designed to familiarise users with class-specific assembler programming using selected technology.
Each module has a separate syllabus and is composed of topics intended to be studied in the order in which they are presented. Some of those topics can also be used independently to let experienced users catch up with a particular piece of knowledge (topic).
An expected number of ECTS points for each module is presented below (figure 2):
The following section delineates the architecture of the curriculum module in detail.
The MultiASM project delivers comprehensive learning and teaching materials for various stakeholders on low-level assembler programming for:
In addition to the three modules listed above, an introductory module for computer architecture is offered. This module enables inexperienced users to gain the necessary knowledge to understand basic concepts of low-level programming.
The contents are available in a variety of forms:
The curriculum can be used as a whole course or a separate technology-related module. Once studied, students will obtain unique knowledge that is crucial for participation in EU-based activities, to bring chip, processor, and MCU design and manufacturing back to Europe. Modules can be used as a closed set of knowledge when studying from scratch or by experienced learners to recall/catch up with particular knowledge using selected topics, e.g. integration of the Assembler code and high-level languages.
Project results are composed of 4 main pillars (intellectual results, see figure below):