Visualización de interacciones para concurrencia con Manim

Bookmark (0)
Please login to bookmark Close

Este trabajo explora el uso de la librería de animación Manim para crear materiales visuales que permitan explicar la ejecución paralela de código. El objetivo es conseguir un recurso educativo que ayude la enseñanza de la programación, en particular para la asignatura de Concurrencia. Se realiza un estudio de los diagramas de secuencia y se identifica su estructura y componentes. Luego se diseña un lenguaje de uso específico para poder traducir los elementos gráficos a un lenguaje intuitivo. Este lenguaje soportaría los componentes del diagrama (hilos, semáforos) y sus primitivas (await, signal, join, etc.). Manim es una librería escrita en Python, que integra LaTeX para la representación matemática, que la hace idónea para este trabajo. Su uso es habitual en canales de YouTube de divulgación científica como 3Blue1Brown. Manim permite la creación y transformación de objetos matemáticos y su animación y se caracteriza por la calidad gráfica y limpieza de estas representaciones. Se desarrolla una librería como herramienta que permita al usuario crear y personalizar diagramas necesarios de forma fácil y ordenada.
ABSTRACT
This paper explores the use of the Manim animation library to create visual materials that explain parallel execution. The aim is to provide an educational resource to aid the teaching of programming, in particular for the subject of Concurrency. A study of sequence diagrams is carried out and their structure and components are identified. A specific language is then designed to translate the graphical elements into an intuitive language. This language would support the diagram components (threads, semaphores) and their primitives (await, signal, join, etc.). Manim is a library written in Python, which integrates LaTeX for mathematical representation, making it ideal for this work. Its use is recognisable on popular science YouTube channels such as 3Blue1Brown. Manim allows the creation and transformation of mathematical objects and their animation and is characterised by the graphic quality and cleanliness of these representations. A library is developed as a tool that allows the user to create and customise the necessary diagrams in an easy and orderly manner.

​Este trabajo explora el uso de la librería de animación Manim para crear materiales visuales que permitan explicar la ejecución paralela de código. El objetivo es conseguir un recurso educativo que ayude la enseñanza de la programación, en particular para la asignatura de Concurrencia. Se realiza un estudio de los diagramas de secuencia y se identifica su estructura y componentes. Luego se diseña un lenguaje de uso específico para poder traducir los elementos gráficos a un lenguaje intuitivo. Este lenguaje soportaría los componentes del diagrama (hilos, semáforos) y sus primitivas (await, signal, join, etc.). Manim es una librería escrita en Python, que integra LaTeX para la representación matemática, que la hace idónea para este trabajo. Su uso es habitual en canales de YouTube de divulgación científica como 3Blue1Brown. Manim permite la creación y transformación de objetos matemáticos y su animación y se caracteriza por la calidad gráfica y limpieza de estas representaciones. Se desarrolla una librería como herramienta que permita al usuario crear y personalizar diagramas necesarios de forma fácil y ordenada.
ABSTRACT
This paper explores the use of the Manim animation library to create visual materials that explain parallel execution. The aim is to provide an educational resource to aid the teaching of programming, in particular for the subject of Concurrency. A study of sequence diagrams is carried out and their structure and components are identified. A specific language is then designed to translate the graphical elements into an intuitive language. This language would support the diagram components (threads, semaphores) and their primitives (await, signal, join, etc.). Manim is a library written in Python, which integrates LaTeX for mathematical representation, making it ideal for this work. Its use is recognisable on popular science YouTube channels such as 3Blue1Brown. Manim allows the creation and transformation of mathematical objects and their animation and is characterised by the graphic quality and cleanliness of these representations. A library is developed as a tool that allows the user to create and customise the necessary diagrams in an easy and orderly manner. Read More