ABSTRACT
Software engineering students not only have to learn theoretical concepts but also how to successfully apply them in practice. Hence, projects are an important part of software engineering curricula. As software engineering methods and technologies are only relevant for non-trivial software systems, we report in this paper on a master-level software engineering project course in which a team of students developed a compiler for the Game Boy in a single semester. The students developed different languages and corresponding parsers to a common intermediate language, optimizations on the intermediate language, as well as a code generator for the Game Boy. We particularly present lessons learned by us and the students as well as potential course improvements.
- 2017. Emulicious (Game Boy {..} Emulator). (2017). Retrieved October 4, 2017 from http://emulicious.net (Author: Michael Stegmaier).Google Scholar
- Alexander Aiken. 1996. Cool: A portable project for teaching compiler construction. ACM Sigplan Notices 31, 7 (1996), 19--24. Google ScholarDigital Library
- James S Daley. 1978. A laboratory approach to teaching compiler writing. In ACM SIGCSE Bulletin, Vol. 10. ACM, 19--21. Google ScholarDigital Library
- Marjan Mernik and Viljem Zumer. 2003. An educational tool for teaching compiler construction. IEEE Transactions on Education 46, 1 (2003), 61--68. Google ScholarDigital Library
- Julie E Mills, David F Treagust, and others. 2003. Engineering education---Is problem-based or project-based learning the answer. Australasian journal of engineering education 3, 2 (2003), 2--16.Google Scholar
- Shimon Schocken, Noam Nisan, and Michal Armoni. 2009. A synthesis course in hardware architecture, compilers, and software engineering. In ACM SIGCSE Bulletin, Vol. 41. ACM, 443--447. Google ScholarDigital Library
Index Terms
- Developing an optimizing compiler for the game boy as a software engineering project
Recommendations
Learning from achievement: scaffolding student projects in software engineering
It has become almost a truism that students learn more from working on projects than from lectures. This is reflected in pedagogical approaches such as Problem-based Learning, Project-based Learning (PBL) and Work-based Learning. A problem in PBL, ...
How much authenticity can be achieved in software engineering project based courses?
ICSE-SEET '19: Proceedings of the 41st International Conference on Software Engineering: Software Engineering Education and TrainingSoftware engineering (SE) students not only need sufficient technical knowledge and problem solving ability but also social and interpersonal skills in order to be industry ready. To prepare the students for the 'real world' the SE educators frequently ...
Putting Human Aspects of Software Engineering in University Curricula
Although people-related issues are central factors in determining the success of software projects, they do not receive sufficient attention in the software industry to improve project results. This essay describes two barriers to their getting more ...
Comments