RACFP: a training tool to work with floating-point representation, algorithms, and circuits in undergraduate courses

The design of pedagogical tools to train students is an interesting challenge for academic instructors in any educational area. Some approaches have appeared focusing on computer arithmetic, both integer and floating point. Floating-point arithmetic involves much more complexity; nevertheless, little time is usually devoted to this topic in computer engineering undergraduate courses. In this paper, RACFP is proposed as a pedagogical tool to work with floating-point in undergraduate courses. The tool has been designed with three abstraction levels according to the following learning outcomes: representation, arithmetic operation algorithms, and manufactured hardware circuits. The abstraction levels work independently, allowing for the use of RACFP in other courses, such as discrete mathematics or numerical methods, in which floating representation and related issues are also learning topics. RACFP design pursues two main goals: to minimize the complexity of the learning process and to encourage students when working with floating point. The first goal is achieved as a result of the multilevel design of the tool, while the second goal is achieved as RACFP shows how manufactured hardware implements generic algorithms