48 karma · joined August 29, 2020
Text-to-diagram tools are great, but often make the user struggle with the automatic layout (e.g. Graphviz).
Mocodo adopts a mixed approach to the layout problem : diagram-as-text, but the line breaks and the order of the nodes (entities and relationships) are used as positional hints. The resulting layout is constrained to an invisible grid corresponding to a left-to-right and top-to-down reading of the source.
Moreover, since there are relatively few possible grid positions, automatically rearranging the layout becomes an assignment problem, which can be solved by a simple b&b algorithm.
Obviously, this wouldn't scale, but this is just a teaching tool that I use to present small ERDs to my students.
You may test it at https://mocodo.net. Click the turning arrows to draw the diagram and the shuffle symbol to rearrange it randomly.
Moreover, since there are relatively few possible grid positions, automatically rearranging the layout becomes an assignment problem, which can be solved by a simple b&b algorithm.
Obviously, this wouldn't scale, but this is just a teaching tool that I use to present small ERDs to my students.
You may test it at https://mocodo.net. Click the turning arrows symbol to draw the diagram and the shuffle symbol to rearrange it randomly.
Warning: French-flavored ERD, aka Merise MCD.
I developed a tool to help me answer these questions, and more generally to rethink the structure and content of my curriculum. After a few years of tinkering with a rough implementation of these ideas, I decided to rewrite it from scratch with the hope of making it useful to my colleagues, and anyone facing the same issues: this is how Paroxython was born.
How can you use it? In a preliminary step, you make it tag your collection of educational Python programs. Then, whenever you want, based on the things your students already know, the concepts you intend to make them discover or practice, and those you wish to introduce later (or never), it recommends you a list of programs roughly ordered by increasing learning costs.
I developed a tool to help me answer these questions, and more generally to rethink the structure and content of my curriculum. After a few years of tinkering with a rough implementation of these ideas, I decided to rewrite it from scratch with the hope of making it useful to my colleagues, and anyone facing the same issues: this is how Paroxython was born.
How can you use it? In a preliminary step, you make it tag your collection of educational Python programs. Then, whenever you want, based on the things your students already know, the concepts you intend to make them discover or practice, and those you wish to introduce later (or never), it recommends you a list of programs roughly ordered by increasing learning costs.
To all of you who are going back to school in, and despite, these difficult times, I wish you a year filled with beautiful human and pedagogical experiences.