ing the undergraduate Operating Systems course. The
XM tool is a command line programme designed to
facilitate teaching activities for both teachers and stu-
dents. The methodology has been put into practice
and refined during the last five academic years, with a
focus on developing professional and soft skills. We
have presented the tools and their role in keeping stu-
dents engaged throughout the semester by providing
ongoing feedback for each practical test.
The outcomes of this experience from both the
teacher’s and students’ perspectives show increased
satisfaction and confidence in students’ ability to use
the concepts learnt forward, in industry. From the
teacher’s perspective, the system provides more effi-
cient class management (in terms of attendance and
grading). The objective evaluation also shows the
high-quality practical skills achieved by the students.
Moreover, with time and adjustments each year, there
is a better correlation between practical and theoreti-
cal knowledge and skills, as shown by the higher cor-
relation of grades obtained during the semester and at
the end-of-term written exam. However, this needs to
be closely monitored and fine-tuned in the future. We
note also the system’s capability to detect cheating,
and this knowledge discourages students, to some ex-
tent, from attempting copy-paste of external code.
As future work we aim improvements to the XM
software related to plagiarism detection, and to inte-
grate activity patterns detection using artificial intelli-
gence on usage data, to identify drop-out risk.
ACKNOWLEDGEMENTS
The publication of this article was supported by the
2023 Development Fund of the UBB.
REFERENCES
Bailey, J. and Zilles, C. (2019). Uassign: Scalable inter-
active activities for teaching the unix terminal. In
Proceedings of the 50th ACM Technical Symposium
on Computer Science Education, SIGCSE ’19, page
70–76, New York, NY, USA. Association for Com-
puting Machinery.
Fowler, M. and Zilles, C. (2021). Superficial code-guise:
Investigating the impact of surface feature changes on
students’ programming question scores. In Proceed-
ings of the 52nd ACM Technical Symposium on Com-
puter Science Education, pages 3–9, New York, NY,
USA. Association for Computing Machinery.
Grover, S. (2021). Toward a framework for formative as-
sessment of conceptual learning in k-12 computer sci-
ence classrooms. In Proceedings of the 52nd ACM
Technical Symposium on Computer Science Educa-
tion, pages 31–37, New York, NY, USA. Association
for Computing Machinery.
Hassan, I. (2020a). Automated authentic assessment: Ap-
plied to an undergraduate course in network and sys-
tem administration. In 2020 IEEE Global Engineering
Education Conference (EDUCON), pages 183–191,
Porto, Portugal. IEEE.
Hassan, I. (2020b). Teaching cybersecurity to computer
science students utilizing terminal sessions recording
software as a pedagogical tool. In 2020 IEEE Fron-
tiers in Education Conference (FIE), pages 1–8, Upp-
sala, Sweden. IEEE.
Kankuzi, B. (2019). Balancing theory and practice in an
introductory operating systems course. In ICT Educa-
tion: 47th Annual Conference of the Southern African
Computer Lecturers’ Association, SACLA 2018, Gor-
don’s Bay, South Africa, June 18–20, 2018, Revised
Selected Papers 47, pages 362–375. Springer.
Kulik, M. (2022). Asciinema. last accessed on August 8,
2022.
Nieh, J. and Vaill, C. (2006). Experiences teaching op-
erating systems using virtual platforms and linux.
SIGOPS Oper. Syst. Rev., 40(2):100–104.
O’Brien, D. (2017). Teaching operating systems concepts
with systemtap. In Proceedings of the 2017 ACM Con-
ference on Innovation and Technology in Computer
Science Education, pages 335–340, New York, NY,
USA. Association for Computing Machinery.
Raymond, E. S. (2003). The art of Unix programming.
Addison-Wesley Professional, Boston.
Sharrock, R., Collin, E., Labat, T., Hamonic, E., Bonfert-
Taylor, P., and Goudzwaard, M. (2022). Teaching and
learning programming with linux using in-browser
client-side web technologies: Exploring the key fea-
tures for achieving systems and tools scalability. In
Proceedings of the Ninth ACM Conference on Learn-
ing @ Scale, L@S ’22, page 427–430, New York, NY,
USA. Association for Computing Machinery.
Thompson, L., Clarke, J., and Sheehan, R. (2020). Edufuse
a visualizer for user-space file systems. In Proceed-
ings of the 2020 ACM Conference on Innovation and
Technology in Computer Science Education, ITiCSE
’20, page 549–550, New York, NY, USA. Association
for Computing Machinery.
Vavreckov
´
a, S. (2020). The combination of skills train-
ing for it administrators and programmers. In ISSEP
(CEURWS Volume), pages 152–159.
Vykopal, J.,
ˇ
Sv
´
abensk
`
y, V., Seda, P., and
ˇ
Celeda, P. (2022).
Preventing cheating in hands-on lab assignments. In
Proceedings of the 53rd ACM Technical Symposium
on Computer Science Education V. 1, pages 78–84,
New York, NY, USA. Association for Computing Ma-
chinery.
Weina, F., Ping, Y., and Shuai, L. (2018). Research on the
related teaching method of computer operating system
course. In International Conference on E-Learning,
E-Education, and Online Training, pages 292–297,
Cham. Springer, Springer International Publishing.
XM: A Customised Software Tool to Facilitate Learning and Professional Skills Development in Operating Systems
337