Skip to content

Commit c16e3dc

Browse files
authored
Add docs section with potential classroom activities (#210)
1 parent 8c208e3 commit c16e3dc

File tree

5 files changed

+45
-5
lines changed

5 files changed

+45
-5
lines changed

README.md

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
<hr/>
6868
</div>
6969

70-
Data Morph transforms an input dataset of 2D points into select shapes, while preserving the summary statistics to a given number of decimal points through simulated annealing.
70+
Data Morph transforms an input dataset of 2D points into select shapes, while preserving the summary statistics to a given number of decimal points through simulated annealing. It is intended to be used as a teaching tool to illustrate the importance of data visualization (see the [Data Morph in the Classroom](https://github.com/stefmolin/data-morph/#data-morph-in-the-classroom) section for ideas).
7171

7272
<div align="center">
7373
<img alt="Morphing the panda dataset into the star shape." src="https://raw.githubusercontent.com/stefmolin/data-morph/main/docs/_static/panda-to-star-eased.gif">
@@ -156,11 +156,21 @@ In this example, we morphed the built-in panda `Dataset` into the star `Shape`.
156156

157157
* The `ShapeFactory.AVAILABLE_SHAPES` attribute contains a list of available shapes, which are also visualized in the `ShapeFactory` documentation.
158158

159+
## Data Morph in the Classroom
160+
161+
Data Morph is intended to be used as a teaching tool to illustrate the importance of data visualization. Here are some potential classroom activities for instructors:
162+
163+
- **Statistics Focus**: Have students pick one of the [built-in datasets](https://stefaniemolin.com/data-morph/stable/api/data_morph.data.loader.html#data_morph.data.loader.DataLoader), and morph it into all available [target shapes](https://stefaniemolin.com/data-morph/stable/api/data_morph.shapes.factory.html#data_morph.shapes.factory.ShapeFactory). Ask students to comment on which transformations worked best and why.
164+
- **Creativity Focus**: Have students [create a new dataset](https://stefaniemolin.com/data-morph/stable/custom_datasets.html) (*e.g.*, your school logo or something that the student designs), and morph that into multiple [target shapes](https://stefaniemolin.com/data-morph/stable/api/data_morph.shapes.factory.html#data_morph.shapes.factory.ShapeFactory). Ask students to comment on which transformations worked best and why.
165+
- **Math and Coding Focus**: Have students create a custom [shape](https://stefaniemolin.com/data-morph-talk/#/shape-class-hierarchy) by inheriting from `LineCollection` or `PointCollection` (there will be a tutorial on this in the future), and try morphing a couple of the [built-in datasets](https://stefaniemolin.com/data-morph/stable/api/data_morph.data.loader.html#data_morph.data.loader.DataLoader) into that shape. Ask students to explain how they chose to calculate the shape, and comment on which transformations worked best and why.
166+
167+
If you end up using Data Morph in your classroom, I would love to hear about it. Please [send me a message](https://stefaniemolin.com/contact/) detailing how you used it and how it went.
168+
159169
## Acknowledgements
160170

161171
This code has been altered by Stefanie Molin ([@stefmolin](https://github.com/stefmolin)) to work for other input datasets by parameterizing the target shapes with information from the input shape. The original code works for a specific dataset called the "Datasaurus" and was created for the paper *Same Stats, Different Graphs: Generating Datasets with Varied Appearance and Identical Statistics through Simulated Annealing* by Justin Matejka and George Fitzmaurice (ACM CHI 2017).
162172

163-
The paper and video can be found on the Autodesk Research website [here](https://www.research.autodesk.com/publications/same-stats-different-graphs-generating-datasets-with-varied-appearance-and-identical-statistics-through-simulated-annealing/). The version of the code placed on GitHub at [jmatejka/same-stats-different-graphs](https://github.com/jmatejka/same-stats-different-graphs), served as the starting point for the Data Morph code base, which is on GitHub at [stefmolin/data-morph](https://github.com/stefmolin/data-morph).
173+
The paper and video can be found on the Autodesk Research website [here](https://www.research.autodesk.com/publications/same-stats-different-graphs-generating-datasets-with-varied-appearance-and-identical-statistics-through-simulated-annealing/). The version of the code placed on GitHub at [jmatejka/same-stats-different-graphs](https://github.com/jmatejka/same-stats-different-graphs), served as the starting point for the Data Morph codebase, which is on GitHub at [stefmolin/data-morph](https://github.com/stefmolin/data-morph).
164174

165175
Read more about the creation of Data Morph [here](https://stefaniemolin.com/articles/data-science/introducing-data-morph/) and [here](https://stefaniemolin.com/data-morph-talk/#/).
166176

docs/classroom-ideas.rst

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
Data Morph in the classroom
2+
---------------------------
3+
4+
Data Morph is intended to be used as a teaching tool to illustrate the importance
5+
of data visualization. Here are some potential classroom activities for instructors:
6+
7+
* **Statistics Focus**: Have students pick one of the `built-in datasets
8+
<./api/data_morph.data.loader.html#data_morph.data.loader.DataLoader>`_,
9+
and morph it into all available `target shapes
10+
<./api/data_morph.shapes.factory.html#data_morph.shapes.factory.ShapeFactory>`_.
11+
Ask students to comment on which transformations worked best and why.
12+
* **Creativity Focus**: Have students :doc:`create a new dataset <custom_datasets>`
13+
(*e.g.*, your school logo or something that the student designs), and morph that into multiple
14+
`target shapes <./api/data_morph.shapes.factory.html#data_morph.shapes.factory.ShapeFactory>`_.
15+
Ask students to comment on which transformations worked best and why.
16+
* **Math and Coding Focus**: Have students create a custom `shape
17+
<https://stefaniemolin.com/data-morph-talk/#/shape-class-hierarchy>`_ by inheriting
18+
from :class:`.LineCollection` or :class:`.PointCollection` (there will be a
19+
tutorial on this in the future), and try morphing a couple of the `built-in datasets
20+
<./api/data_morph.data.loader.html#data_morph.data.loader.DataLoader>`_
21+
into that shape. Ask students to explain how they chose to calculate the shape, and
22+
comment on which transformations worked best and why.
23+
24+
If you end up using Data Morph in your classroom, I would love to hear about it. Please
25+
`send me a message <https://stefaniemolin.com/contact/>`_ detailing how you used it and
26+
how it went.

docs/index.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ Data Morph
1818
.. include:: quickstart.rst
1919
:start-after: .. INSTALLATION
2020

21+
.. include:: classroom-ideas.rst
22+
2123
Citations
2224
---------
2325

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ maintainers = [
2020
{ name = "Stefanie Molin" },
2121
]
2222
authors = [
23-
{ name = "Stefanie Molin", email = "[email protected].com" },
23+
{ name = "Stefanie Molin", email = "data-morph@stefaniemolin.com" },
2424
{ name = "Aaron Stevens", email = "[email protected]" },
2525
{ name = "Justin Matejka", email = "[email protected]" },
2626
]

src/data_morph/__init__.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22
Data Morph.
33
44
Morph an input dataset of 2D points into select shapes, while preserving the summary
5-
statistics to a given number of decimal points through simulated annealing.
5+
statistics to a given number of decimal points through simulated annealing. It is intended
6+
to be used as a teaching tool to illustrate the importance of data visualization (see
7+
`Data Morph in the classroom`_ for ideas).
68
79
Notes
810
-----
@@ -17,7 +19,7 @@
1719
<https://www.research.autodesk.com/publications/same-stats-different-graphs-generating-datasets-with-varied-appearance-and-identical-statistics-through-simulated-annealing/>`_.
1820
The version of the code placed on GitHub at
1921
`jmatejka/same-stats-different-graphs <https://github.com/jmatejka/same-stats-different-graphs>`_,
20-
served as the starting point for the Data Morph code base, which is on GitHub at
22+
served as the starting point for the Data Morph codebase, which is on GitHub at
2123
`stefmolin/data-morph <https://github.com/stefmolin/data-morph>`_.
2224
2325
Read more about the creation of Data Morph in `this article

0 commit comments

Comments
 (0)