Showing posts with label Technologies. Show all posts
Showing posts with label Technologies. Show all posts

Wednesday, March 14, 2018

Promoting Equity in Mathematics Education


In February 2018, I visited the Mathematical Sciences Research Institute at UC Berkeley to attend a MSRI Workshop on Critical Issues in Mathematics Education 2018: Access to mathematics by opening doors for students currently excluded from mathematics. Tertiary and K-12 educators across the nation and some including myself from overseas converged at this workshop packed with group discussions and lightning talks co-organized by Francis Su who was the President of the Mathematical Association of America. The MSRI has been a prominent driving force behind math circle learning in the United States, and so for me it was rightly a pilgrimage trip to MSRI which is perched right up at the top of the Berkeley hill, offering an unbeatable panoramic view of the Golden Gate Bridge and the Bay Area.  

One striking takeaway from this workshop is equity in mathematics education. Roughly speaking, equity means giving students what they need to succeed in learning regardless of their personal or social circumstances. One of the plenary speakers, Prof. Dave Kung, gave a very powerful and fantastic talk that provoked the educators among the audience to ponder the question of "I teach math?" or "I teach students?"  and where the audience would see themselves in the spectrum between these two extremes. The former is speaking the content, while the latter is individualized instruction. Dave held polls in between his plenary and it was interesting to watch the number of hands raised in the audience when Dave asked whoever had experienced a teacher at those two extremes and where the audience thought their current department might be standing in that spectrum. 

What Dave Kung brought out is an important pedagogical question but also one that is well formulated to ask whether and how, somewhere in the spectrum, technologies can help the disaffected students and even teachers. Going by the extent in which technologies have democratized information sharing in the last ten years, it is thus necessary to consider what greater role will technology play in order to address the equity problem in mathematics education. Will it open up doors to many more students or will it shrink the equity gap between the haves and the have-nots? This one-week pilgrimage to MSRI has been extremely educational and has given me a sense on how to develop and deploy our educational software technologies going forward.

For more than a year, we have been working on the PolyMath App, which first saw action at the Julia Robinson Mathematics Festival in Hong Kong in April 2017. Subsequently, we have partnered with a number of educators to promote the JRMF App at a few international and regional math outreach activities. Last October, the JRMF App was featured as a means to play Exploding Dot that James Tanton created for the 2017 Global Math Project. We also held a few interactive workshops with mathematics teachers at several well-established math education centers in Shanghai and the Shanghai World Foreign Language Middle School (上海市世界外国语中学). In February 2018, we worked with a group of forty secondary school mathematics teachers from the English Schools Foundation (ESF) international schools in Hong Kong. There was so much to learn from the teachers at the front-line of the ever-evolving mathematics education landscape. After the workshop was over, some ESF teachers even came forward to volunteer as math mentors at the Julia Robinson Mathematics Festival in March 2018!

Using the PolyMath App, we shared with the teachers how they can quickly learn binary number system and arithmetic through game-play in our PolyMath App. Thereafter it was natural to introduce James Tanton's exploding dot as it revolves around place value number system once the teachers had become familiar with the binary number system. The binary system is the most basic and practical one, not just because we use it in computers, but also because binary number representation and its arithmetic manifest intriguingly in games and algorithms. In particular, we delved into the deep mathematical insights behind the NIM game (also called the Fish-flavored Lollipop problem set in JRMF) and the algorithm behind the Russian peasant's method of multiplication and a logical puzzle by Martin Gardner. Working with these amazing teachers was an uplifting experience!













Monday, December 12, 2016

Camera Vibration in Canvas Based Unity Game

Contributions by Alex Ling

Currently I am maintaining a 2D Unity game (check it out here if you are interested). I was trying to implement a feature that when the user gives illegal input, the whole screen would shake (or vibrate if you would) for a while.

Here’s a GIF as a demo. When the user try to multiply of divide a variable with x, the whole screen will vibrate for 0.3 seconds.



I know what you would say, what’s the big deal here? We can simply randomly move the main camera for 0.3 seconds to achieve the effect. I don’t blame you, because that’s what I thought at first glance.
I attached a CameraShaker.cs script to the main camera. The script looks like this

using UnityEngine;
public class CameraShaker : MonoBehaviour {
public float shakeAmount = 0.7f;
float shakeTime = 0.0f;
Vector3 initialPosition;
public void VibrateForTime(float time){
shakeTime = time;
}
void Start() {
initialPosition = this.transform.position;
}
void Update () {
if (shakeTime > 0){
this.transform.position = Random.insideUnitSphere * shakeAmount + initialPosition;
shakeTime -= Time.deltaTime;
}
else{
shakeTime = 0.0f;
this.transform.position = initialPosition;
}
}
}


And in another script I call the VibrateForTime method:

// ...
if (!OperationIsLegal(operation)) {
Camera.main.GetComponent<CameraShaker>().VibrateForTime(.3f);
return;
}
// ...

Then I ran the game and tried it… Oh wait! Why isn’t the screen shaking? I quickly found that it’s because the canvas’ renderMode property is at its default value Screen Space - Overlay


When this property is set as Screen Space - Overlay or Screen Space - Camera, the canvas is always attached to the screen (and of course the camera), and so it’s vibrating with the camera. That’s why we can’t see any vibration happen.

So the solution is simply set the renderMode property to World Space in the inspector. In this way the canvas and the camera are decoupled and so the vibration can be seen. This should work in most cases, but for me, I found that when set to World Space, the light blue operator when dragged (see the above GIF) will not be displayed. That’s because to position the blue operator at mouse position the coupling between canvas and camera(screen) is needed.

So my final solution is, set the renderMode of the canvas to World Space when the vibration start, and set it back to Screen Space - Overlay once the vibration finish. Since the vibration time is short, this should not affect the display of the light blue operator. The final version of CameraShaker.cs is shown below:

using UnityEngine;
using UnityEngine.UI;
public class CameraShaker : MonoBehaviour {
public float shakeAmount = 0.7f;
public Canvas canvas;
float shakeTime = 0.0f;
Vector3 initialPosition;
public void VibrateForTime(float time){
shakeTime = time;
canvas.renderMode = RenderMode.ScreenSpaceCamera;
canvas.renderMode = RenderMode.WorldSpace;
}
void Start() {
initialPosition = this.transform.position;
}
void Update () {
if (shakeTime > 0){
this.transform.position = Random.insideUnitSphere * shakeAmount + initialPosition;
shakeTime -= Time.deltaTime;
}
else{
shakeTime = 0.0f;
this.transform.position = initialPosition;
canvas.renderMode = RenderMode.ScreenSpaceOverlay;
}
}
}

Let’s take a closer look at what I did in VibrateForTime:

// ...
canvas.renderMode = RenderMode.ScreenSpaceCamera;
canvas.renderMode = RenderMode.WorldSpace;
// ...

Before setting the renderMode to WorldSpace, I set it to ScreenSpaceCamera first. That’s because by setting it to ScreenSpaceCamera, the canvas will be automatically positioned and scaled to fit in the camera. If I jump from ScreenSpaceOverlay directly to WorldSpace, the canvas will be out of the sight of the camera, and we will need to manually reposition the canvas in that case.

Wednesday, September 21, 2016

Algebra Game and Algebra Maze on Google Play Store!

We recently launched our first mobile apps Algebra Game and Algebra Maze on the Google Play Store.  From day one, the Algebra Game team members basically hit the ground running to put ideas into code.  Designing mathematical games in mobile apps is a challenging experiment - binding mathematical elements with the human-computer interface is an art,  making the same piece of software work on different hardware is trial and error,  walking through the entire online app submission process is new to us!  And this whole process doesn't stop there. It continues in a loop whenever new bugs/ideas surface.  Developing software is truly a humble learning experience.  We are working hard on the iOS mobile apps - so expect to see them in App Store soon.

We are also excited to have made inroads into understanding the mathematics behind Tao's Algebra Game.  Figuring out the math to compute the fewest moves for puzzle generation thereby answering some of Terence Tao's questions is actually the ultimate endgame for us :)   This can help in cleverer puzzle generation and we will flesh out that once the math is neatly ironed out.  The Algebra Maze on the Google Play Store currently has forty-five levels altogether,  but we have embarked on newer game design for the Algebra Maze and even contemplating new functionality in these mobile app games to bring out the social element: Math is social!






Ultimately, user experience matters the most. And we expect to get as much feedback as possible to further improve our mobile app games. Check them out and let us know!  We will be glad to hear from you.  Algebra Game Team members meanwhile take a break from crunching maths and writing software to savor yummy mooncakes.




Saturday, February 20, 2016

Gamification for Learning Mathematics




As seen by the popularity of Whitehouse's push for Computer Science For All, gamification has been used very successful to promote basic computational thinking knowledge. There are indeed vast potentials in how gamification can be useful for teaching and learning of K-12 foundational subjects such as mathematics.  This is simply because, digital games on a digital computer and ideas of computing (and mathematics) are intimately related. The level of public reception and enthusiasm in the Whitehouse's Computer Science for All was reminiscent of the Nimrod when one of the earliest digital games (Nim) was put into a digital computer and went on a whirlwind roadshow tour in 1951.

Recently, we gave a talk on Ed-tech on gamification for learning mathematics at a university's entrepreneurship symposium, sharing with the audience our Algebra Game software and the idea of a Mathematics Gamification Foundry. This Gamification Foundry is a cloud-based data analytics platform that can serve as a new two-way educational technology in the era of personalized learning.

With this Gamification Foundry, student players can:
  • learn mathematics by playing brilliantly-crafted games.
  • “see” under the hood of the games and even remix them to create game variants to enhance problem-solving skills and computational thinking.
Teachers are always in the loop. Educators can gain insights to these learning processes that can be analysed by big data analytics. Insights gained from students' online game-playing can be integrated with classroom teaching, and dedicated reports can be automatically generated for school teachers and parents. We are engineering this gamification foundry as a personalized way to learn mathematics and computer science. 

Beyond enhancing numeracy and computational thinking skills, we also hope to explore whether our Algebra Game software can be useful to children with dyscalculia – a math disability in learning or comprehending arithmetic (estimated to be one in twenty). It was suggested that computer games can diagnose and treat dyscalculia in a recent Nature article Dyscalculia: Number games, Nature 493, 150–153 (10 January 2013).

Saturday, October 3, 2015

Starting Up our Algebra Game



Software is eating the world. Yet, it is a marvel of how readily the younger generation eats up software like Angry Bird, Storybird, Youtube, mobile app games etc.

We have learned an enormous insight to the Terence Tao's algebra game and want to make this fun game accessible to more people especially the younger generation. 
In the next few months, as we launch some of the mobile app software revolving around the Algebra Game, I hope that this is one small step towards developing learning technologies that make an impact no matter how small. To make Advance Personalized Learning at scale possible, we want to make learning mathematics and computer science a cool thing for everyone. 

Check us out at http://www.algebragamification.comWe will post pictures of our learning endeavours on our Algebra Game Facebook Page and hope to release more fun software in the future  — stay tuned!

Sunday, May 3, 2015

Explorer - The First Step

Yes, that's you - you're the explorer.
"Explorer?"
[ From the Preface: Games & Puzzles, Discovering the Art of Mathematics by V. Ecke and C. von Renesse with J. F. Fleron and P. K. Hotchkiss, 2015 ]

In 2008, the National Academy of Engineering (NAE) made Advance Personalized Learning as one of the fourteen grand challenges for engineering in the 21st century. Since then we have witnessed the emergence of amazing technologies for learning such as mobile tech, MOOC, flipped classroom, social learning networks, Youtube, gamification, .... Everyone learns mathematics differently. Can a math teacher cater to the different learning style of each and every student?

Perhaps, we can start by teaching children, K12 students and even adults to see mathematics as not just arithmetic or algebra. Mathematical skills and knowledge can be shaped through playing. This is the journey to explore the less trodden paths of personalized learning through innovations in computer science.