Designing Technologies for Learning: Unity Prototype

Team: Timmy Chan, Guadalupe Ortiz, Shmuel Nyssen

Our team set forth to augment a book on sharks (Hoyos, 2017). The book is written by a biologist based in Mexico that is focused on great white shark research. The great white shark is one of the most important species that maintains the balance of the ocean.

Then, our project is designed as a tool to reinforce the learning of children about environmental education topics. One of the principal targets we are trying to achieve is to make use of augmented reality in order to show with more details in an interactive environment. In particular, we were interested in how AR can not only augment the content by display, but we designed this prototype so to highlight the potential towards immersion and tangible interfaces (Dede, 2009; Dunleavy et al., 2009; Marshall, 2007).

Source Code and Assets

Unity SDK

The source code is hosted on GitHub. All code was written using Unity SDK and Visual Studio.

The Android application package file is hosted here. (Note, we have some depreciated code, so please only compile with Vuforia versions 8.x.x.)

Description of Prototype


As the scientific name of the white shark is Carcharodon carcharias, which comes from the Greek meaning pointed tooth, when the page is recognized as a target, a 3D real size model will be displayed. This way, the user can have a clear idea of the size of shark teeth in comparison to humans. In a more complete project, a whole jaw will be shown, due to the specific alignment of up to three teeth rows they can have, and also because it’s one of the principal reasons they chase this animal for. For this part, the 3d model is sourced from Poly by Google.

Shark Splash + Video Flavor

Display of video to further add to the textual descriptions.

Island Topography:

Isla Guadalupe has a crucial role on white sharks life. As the island allows the perfect conditions for sharks to grow, it is the best place in the world to encounter and swim between these animals. The author has made the book as a tribute itself to the island, and has dedicated a whole chapter about it. Due to the remoteness of its location, which takes 24h of sailing to get, an augmented environment is a great opportunity to get to know the place.

Habitat Map + 2 Cards: Interaction and Multiple Representations

Target images: Two cards and map page in the book

The book talks about the aggregation zones of sharks in the world. We use the page of the book as the main recognition target to display a 3D model of the world. When a card of the White Shark is placed over the book the project recognizes it as a target, and a scheme of the places where that specific species lives is triggered, which is mainly at cold-water coasts. When a second card of the Tiger Shark is placed, a different scheme will be displayed, showing its natural habitat at warm water places. This way, the user will have a clear idea of the difference between the species habitat, and can see this augmented implementation of content via physically interacting with an Image Target. On a further project the 22 most common species will be mapped to have a greater understanding about the differences between sharks.

to be implemented: Growth and behavior

Three different image targets will trigger a scale model of a hammerhead, white and gray shark, in order to compare the size between different species. On a further project, those models will interact with each other showing the possible behavior they can have, such as parallel swim, fake ambush, and mutual recognition. Sample of animation for “calm”


Bower, M., Howe, C., McCredie, N., Robinson, A., & Grover, D. (2014). Augmented Reality in education – cases, places and potentials. Educational Media International, 51(1), 1–15.

Cuendet, S., Bonnard, Q., Do-Lenh, S., & Dillenbourg, P. (2013). Designing augmented reality for the classroom. Computers & Education, 68, 557–569.

Dede, C. (2009). Immersive Interfaces for Engagement and Learning. Science, 323(5910), 66–69.

Dunleavy, M., Dede, C., & Mitchell, R. (2009). Affordances and Limitations of Immersive Participatory Augmented Reality Simulations for Teaching and Learning. Journal of Science Education and Technology, 18(1), 7–22.

Hoyos, M. (2017). El gran tiburón blanco: Protector de los océanos.

Johnson-Glenberg, M. C. (2017). Embodied Education in Mixed and Mediated Realties. In D. Liu, C. Dede, R. Huang, & J. Richards (Eds.), Virtual, Augmented, and Mixed Realities in Education (pp. 193–217). Springer Singapore.

Marshall, P. (2007). Do tangible interfaces enhance learning? Proceedings of the 1st International Conference on Tangible and Embedded Interaction  – TEI ’07, 163.

Radu, I. (2014). Augmented reality in education: A meta-review and cross-media analysis. Personal and Ubiquitous Computing, 18(6), 1533–1543.

Radu, I., & Schneider, B. (2019). What Can We Learn from Augmented Reality (AR)? Proceedings of the 2019 CHI Conference on Human Factors in Computing Systems  – CHI ’19, 1–12.


  • Timmy (Programmer): GitHub, Webpage Hosting, all scripting in Unity + Vuforia.
  • Shmuel (2d & 3d Graphics Design) : 3d models of island, three unique and informative textures for the globe,
  • Guadalupe (Animator & Tester): Choosing the book, testing of prototype, making demo videos, access to video and friends with the author of the book.

Prototype Design Meeting Journal

Miscellaneous Updates

The very most recent news is that I have decided to join University of Illinois at Chicago to work on a PhD in Learning Sciences, with a focus on Mathematics Education. I’m very excited to join the Learning Sciences Research Institute (LSRI) in continuing my research!

I’m moving this July, and this site will see significantly more activity; especially WRT notes on math education! I’ll be compiling notes and some definitions here as a resource

Some Highlights of 2018-2019:

  • Spring 2018:
    • Received the Sally Casanova Scholarship for the academic year 2018-19 (See page 14 of this booklet).
    • Participated in the California Forum for Diversity in Graduate Education
    • Finalized all the code for my thesis
    • Teaching:
      • Math 199 – Precalculus
      • Math 227 (x2) – Calculus II (as TA)
  • Summer 2018
    • Generalized code to any dimension, final verification of code with Dr. Gubeladze
    • Worked on implementing California Executive Order 1110 – part of a team with tenured faculty working on creating the curriculum for stretch courses.
    • Created a gradebook template and a lesson plan template for general use.
  • Fall 2018:
    • Applied to twelve PhD programs, and had a bit of an existential crisis because PhD applications can be grueling.
    • Worked on writing out my thesis, as most of my work was coding up to this point.
    • Defended my master’s thesis, “Computational Verification of the Cone Conjecture”
    • Teaching:
      • Math 107 – Math for Business Calculus I
      • Math 197 – Prelude to Calculus I
  • Spring 2019
    • Out of 12 I was waitlisted at one and accepted into two.
    • Finalized edits for my master’s thesis and submitted to archives
    • Updated LaTeX template for Masters Thesis for STEM majors at SFSU
    • Graduated from the Masters program!
    • First semester to finish grading finals not on the day that grades are due 😀
    • Teaching:
      • Math 108 – Math for Business Calculus II
      • Math 198 – Prelude to Calculus II

Masters Thesis

I defended my thesis, “Computational Verification of the Cone Conjecture”, in December 2018, and submitted all final edits in May 2019.

My advising committee:

  • Dr. Joseph Gubeladze
  • Dr. Matthias Beck
  • Dr. Serkan Hosten


The set of polyhedral pointed rational cones form a partially ordered set with respect to elementary additive extensions of certain type. This poset captures a global picture of the interaction of all possible rational cones with the integer lattice and, also, provides an alternative approach to another important poset, the poset of normal polytopes. One of the central conjectures in the field is the so called Cone Conjecture: the order on cones is the inclusion order. The conjecture has been proved only in dimensions up to 3. In this work we develop an algorithmic approach to the conjecture in higher dimensions. Namely, we study how often two specific types of cone extensions generate the chains of cones in dimensions 4 and 5, whose existence follows from the Cone Conjecture.

A naive expectation, explicitly expressed in a recently published paper by Dr. Gubeldaze, is that these special extensions suffice to generate the desired chains. This would prove the conjecture in general and was the basis of the proof of the 3-dimesional case. Our extensive computational experiments show that in many cases the desired chains are in fact generated, but there are cases when the chain generation process does not terminate in reasonable time. Moreover, the fast generation of the desired chains fails in an interesting way—the complexity of the involved cones, measured by the size of their Hilbert bases, grows roughly linearly in time, making it less and less likely that we have a terminating process. This phenomenon is not observed in dimension 3. Our computations can be done in arbitrary high dimensions. We make a heavy use of SAGE, an open-source mathematics software system, and Normaliz, a C++ package designed to compute the Hilbert bases of cones.

Full Text is below:

The actual latex code is hosted on github.

Updates on GitHub

Finally set up a github to house all the custom LaTeX files that I’ve created!

Will be updating this over time – this particular github is mostly meant for personal use, though I’m happy to share what I have and continue to update this github.

As I continue to create new tools, I’ll be hosting them here.

You’ll see currently the following repositories:

Institute of Mathematics and its Applications at University of Minnesota: SAGE Coding Sprint Journal

April 5th, 2018

  • Met with the team of SAGE & Normaliz Developers at Institute of Mathematics and its Applications at University of Minnesota.
  • Discovered the issues I had connecting PyNormaliz to SAGE was due to installing SAGE using the Binary, which limits the use of custom packages. While making from source allows for the use of most recent version,
  • While waiting for the fresh install of SAGE, read an article about unit testing by Jeff Knupp here.
  • Learned about using parallel compiling option for SAGE install, and also learned about the System Monitor (was cool to see all the cores get used at once)
  • Begin writing Unit Tests

April 6th, 2018

  • Shifted to the developer branch of SAGE
  • Installed the newest developer version of PyNormaliz, which installs Normaliz 3.5.3
  • Rewrote Top Down algorithm using Polyhedron(rays=[[vector1],…,[vectorN]],backend=’normaliz’)
    • Allows for the use of common operations like verifying if a vector is contained in the Cone.
    • Resolved multiple issues (that all arose basically due to me being a newb.)

April 8th, 2018

  • Added multiple githubs to record my work besides my thesis
  • Begin redesign of Bottom Up using the ideas above.