Constructing a Modern Programming Language for Learning Low-Level Programming

dc.contributor.authorBas Forsberg, Samuel
dc.contributor.authorCole, Daniel
dc.contributor.authorDahlqvist, Emma
dc.contributor.authordos Guaranys Olsen, Lucas
dc.contributor.authorCabdulahi Mohamed, Aisha
dc.contributor.authorTan, Felix
dc.contributor.departmentChalmers tekniska högskola / Institutionen för data och informationstekniksv
dc.contributor.departmentChalmers University of Technology / Department of Computer Science and Engineeringen
dc.contributor.examinerJansson, Patrik
dc.contributor.supervisorMyreen, Magnus
dc.date.accessioned2026-08-07T08:27:39Z
dc.date.issued2026
dc.date.submitted
dc.description.abstractWhile modern high-level programming languages can vastly improve developer productivity and efficiency, they obscure the underlying machine code. For aspiring students or simply anyone who is interested in the field, understanding the output of compilers can deepen one’s knowledge of how computer systems operate on a low level, and offer a new perspective on programming as a whole. Assembly is the human-readable representation of machine code, making it a practical entry point for anyone seeking to understand what happens at the hardware level. However, assembly is often challenging to learn, with architecture-specific commands, and logic that is fundamentally detached from the high level syntax that most modern developers rely on. To address these challenges, this project presents Fika, a statically typed language, which focuses on showing the relationship be tween assembly and high-level programs. Writing code in Fika is meant to be simple and intuitive, which allows the user to focus their cognitive resources exclusively on mastering fundamental assembly concepts. The language is complemented by tooling, including a language server and a Visual Studio Code extension, which provides on-demand visualisation of the generated assembly code corresponding to the code written in Fika. A user study was conducted with participants ranging from novice to experienced programmers. The results indicate that Fika provides improved accessibility to assembly concepts and is perceived as a useful tool for learning low-level programming.
dc.identifier.coursecodeDATX11
dc.identifier.urihttps://hdl.handle.net/20.500.12380/312088
dc.language.isoeng
dc.setspec.uppsokTechnology
dc.titleConstructing a Modern Programming Language for Learning Low-Level Programming
dc.type.degreeExamensarbete på kandidatnivåsv
dc.type.degreeBachelor Thesisen
dc.type.uppsokM2
local.programmeInformationsteknik 300 hp (civilingenjör)
local.programmeDatateknik 300 hp (civilingenjör)

Ladda ner

Original bundle

Visar 1 - 1 av 1
Hämtar...
Bild (thumbnail)
Namn:
CSE 26-17A.pdf
Size:
1.94 MB
Format:
Adobe Portable Document Format

License bundle

Visar 1 - 1 av 1
Hämtar...
Bild (thumbnail)
Namn:
license.txt
Size:
2.35 KB
Format:
Item-specific license agreed upon to submission
Description: