Detection of clones - repeating fragments in source code - is an important task for ensuring maintainability of software systems. This paper presents an algorithm for clone detection based on comparing parts of abstract syntax tree of programs and finding repeating patterns. The algorithm is implemented in the prototype tool that allows to detect clones in programs written in Haskell programming language. The main contribution is believed to be proposal and experimental verification of the new technique for identifying exact and syntactical clones in Haskell code.
This chapter explores the essential role of game and graphics rendering engines in creating computer games and their applications in education. Starting with a brief discussion on the importance of visualization in game development, we analyze popular game engines, including CryEngine, Irrlicht, Unreal Engine, Unity, and Godot, and graphics rendering engines (cores), including OpenSceneGraph (OSG) and Object-Oriented Graphics Rendering Engine (OGRE). Each engines unique features and pedagogical potentials are discussed, with emphasis on Unity, Godot, and Unreal Engines interactive and step-by-step tutorials. This analysis reflects the adaptability of game engines to different teaching styles and provides insights into their effectiveness as tools for teaching game development and computer science. The chapter aims to highlight game engines role in game creation and education by exploring these topics.
1 December 2015 in Acta Electrotechnica et Informatica
This work describes an environment supporting learning by creating computer games in programming courses. The environment consists of guidelines for student assignments (instructions for computer game creation - the key motivator). In order to submit assignments regularly, the environment is connected to Git version control system. Moreover, assignments are regularly assessed by the platform called Arena. The aim is to provide feedback as soon as possible, so there is enough space for bug fixing and personal improvement. In addition to ongoing assessment, Arena provides a web interface for writing code and displaying test results immediately, which is used mainly during exams. The main contribution is believed to be an increase of student motivation, enhancement of student engagement and effectiveness of assessment process, so it is fast and fair.