The Steven

Name:
Location: CA, United States

My dream is to dramatically improve math education throughout the world.

Friday, February 09, 2018

Learning Without Understanding

Turns out my own 8-year-old daughter, Skyla, is too good at memorizing things and also good at pattern matching.  She can get through some of my MathScore topics with a rating of 100 without achieving the deep understanding that I actually desire.  Problem is, once she hits a problem that is too hard, she gives up because she didn't understand what she was doing when she worked on the easier problems.

Take for example, a new math topic I created, called Fraction Multiples.

Here is one of the hardest questions from that topic:









Skyla can do these problems fairly easily.  But now here's what shows up in Fraction Multiples 2:









Now she's in trouble!  The difference is that the numerator in the first fraction is not 1.  You have to have a better grasp of fraction equivalence to solve these.  Skyla was smart enough to hack her way through the first topic and halfway through the second topic without a true understanding.  So how do I get her to the next level?  I could of course tutor her directly, but that's cheating.  If I'm going to really change the world in math, I have to accomplish this through MathScore, so here's what I'm going to try next:

From now on, I'm going to make a strong effort to include math questions that quiz the process itself.  So rather than only ask for numeric answers, sometimes I will make my students select from a choice of approaches.  Here's an example of a new type of question I intend to add to Fraction Multiples 2:

Given the fraction 3/5, how would you compute the numerator for an equivalent fraction that has a denominator of 30?
- The new denominator of 30 is 6 times greater than the old denominator, so the new numerator is 6.
- The new denominator of 30 is 6 times greater than the old denominator, so multiply the old numerator by 6 to get 18.

I may include other answer choices, but you can see the direction this is going.  Perhaps I could potentially make a question as hard as this one:
Given the fraction 3/5, how do you calculate the numerator for the equivalent fraction whose denominator is x?
- Divide x by the denominator, 5, then multiply by the old numerator, 3.
- Other answer choices would be included

Also notice that I can't go fully algebraic because that would confuse the heck out of elementary school students, so it's not proper for me to ask for a final expression like 3x/5.

In the past, I generally taught understanding through explicit math lessons and solution explanations when you get something wrong.  But lots of students will only gloss through lessons and also gloss through the explanations.  The only way I can guarantee that I can make a student think about the process is to directly quiz it, so that's the direction I'm taking.

Anyway, it was eye-opening for me to come to this realization.  It's clear that I learn differently from others.  When I learn things, I focus on the underlying process or algorithm by default, so I kind of assumed that most students would at least make an attempt to do the same.  But if the majority of students did that by default, teaching math would be easy.  So now I'm going to assume that students are trying to actively avoid a deep understanding (in other words, cut corners when possible), so the only way to teach those students is to throw it directly in their face.

I had a similar problem, by the way, when I asked Skyla to try some new perimeter questions I developed.  For example, given that the perimeter of a rectangle is 22 cm and the length is 5cm, what's the width?  I asked Skyla how to solve this, and she told me that she doubles the length, subtracts from 22, then divides by 2.  I asked why she divides by 2 as the last step and she couldn't give me a proper answer!  Argh!  See?  She's good at memorizing things, which means she might get an A on a math test, but for the wrong reasons.   This is very frustrating for me, but at least I now have a perfect test subject for MathScore!


Friday, November 10, 2017

Do Common Core Methods Teach Understanding Better than Traditional Methods?

With the current wave of Common Core this and Common Core that, there's a tremendous amount of confusion, especially among parents.  The purpose of this blog post is to not only clarify things, but to also suggest improvements.

Common Core is neither new nor traditional

The Common Core standards ask for a deep understanding, but they don't specify how that understanding must be acquired.  The Common Core standards also specify some very traditional requirements, such as memorization of the addition math facts in 2nd grade and the memorization of multiplication math facts in 3rd grade.  The Common Core also specifies the standard algorithm for things like long multiplication.  

In short, the Common Core specifies all of the qualities of an A+ student at each grade level, meaning that if a student were to master all of the specified standards, that student would absolutely be not only computationally correct, but also deeply understand the operations.

The strength of the Common Core standards is also its deepest flaw.  They fail to specify what a B-level student should know.  That interpretation has been left up to the greater teaching population, so what's actually being taught in schools is actually like cherry picking.  Teachers are teaching to the standards they are attracted to, but they aren't teaching to 100% of the standards, largely because there's no guidance to distinguish the relative importance of each standard.  Granted, teachers believe they are teaching to 100% of the standards, and they probably really do touch all of them, but frankly, some skills are more important than others, and we're often failing in extremely vital areas, such as the memorization of math facts, which has been proven through research to be a prerequisite to acquiring a deep understanding.  In 2006, the National Council of Teachers of Mathematics (NTCM) published the Curriculum Focal Points, which said exactly this.  If you know the history of the NCTM, that sparked controversy because the NCTM is known for having a Constructivist emphasis on mathematics. 

Constructivism - what is it?

For starters, here's a good definition:

Today's teachers are being trained to teach using Constructivist techniques.  As applied to math, they are trying to teach a deep mathematical understanding by approaching number theory from a variety of angles.  It sounds amazing.  

If you are really good at math, and you've recently been exposed to Constructivist techniques, you may have discovered that the steps being taught in school closely mirror the process you would use to solve math problems in your head.  When you look at it from that standpoint, then yes, this looks wonderful.

However, for a brief history lesson, please read this page:

One of the goals of history is to not repeat our mistakes, but we appear to be doing exactly that.  I'm not saying Constructivist approaches are all bad (I actually agree and use some of them), but I do think the balance between deep understanding and traditional methods has been thrown off.

What's a good common example of Constructivist math?

A good example of Constructivist math is to focus on base 10 place value understanding.  A common problem might be 23 + 9.  The Constructivist does it this way:
  • 9 = 10 -1
  • 23 + 9 = 23 + (10 -1) = (23 + 10) - 1
  • 23 + 10 = 33
  • 33 - 1 = 32
You wouldn't necessarily write out every single step I just wrote there, but essentially, that's what's actually going on.  

The Traditionalist does it this way:
  • 9 + 3 = 12
  • 20 + 12 = 32

What I like and don't like about this example

It's very easy to construct an argument that the traditional method is better because it is faster in this case, but the counterargument is that the Constructivist approach leads to a deeper understanding.  My standpoint, which you may find surprising, is that neither argument is correct!

The problem that is happening in schools is that the students often are being forced to write out nearly every step.  It's actually insane to write out every Constructivist step for a problem as trivial as 23 + 9.  This causes parents to be especially angry (rightfully, too!).  Furthermore, is it really teaching a deep understanding?  No, it's not.  Instead, standard approaches have been simply replaced by newer approaches.  Students are being taught a step-by-step approach that if they see the number 9, they should replace that with "10 - 1".  So instead of that understanding becoming intuitive (which would imply a deep understanding), students are learning a new set of steps.  The new method is not better than the old way in terms of actual results achieved.

How to teach the same understanding better

I have two approaches to improve this topic so that it actually teaches a deep understanding.  Remember that the real goal is to make the place value concept actually intuitive and not a series of operations.

The first method

I have been using this method when I teach my own children.  The prerequisite to this approach for this example is that the student has not yet memorized the addition math facts.   

The first question I will ask is 23 + 10.  That's super easy, so the student will say 33 without much thought.  

The second question I will ask is 23 + 9.  If the answer doesn't come out immediately, I then say, "You know the answer to 23 + 10", so how does that help you get the answer to 23 + 9?

Inevitably, the student discovers the answer, not by counting on fingers, but by converting 9 into 10 - 1.  When I ask the student "how did you know the answer?", it's not always easy for the student to first explain the reason.  That's actually a great sign.  When you intuitively understand something, it's not always easy to explain what you know.  That's how I know the deep understanding has actually been acquired.  

Why this works

For starters, I make the student answer the problem without using pencil and paper and without counting on fingers.  Isn't the entire point of this exercise to break down the problem so that you can easily solve it in your head?  I have guided my own children to achieve a deeper base ten understanding through self discovery.  I never explicitly taught my children to take 9 and convert it into 10 - 1 even though that was my entire goal.  I consider my approach to be a purist Constructivist approach because the solution was self-discovered.  I sincerely believe that leading students to self discovery can raise IQ because you challenge your students to apply original thought, rather than recall of some "9 = 10 - 1" algorithm.  So the heart of my criticism of today's Constructivist approaches as seen in school is the very possibility that students are memorizing a new rule like "to add 9, first add 10, then subtract 1" instead of intuitively grasping it.

The second method

The next step to make this concept gold is to now ask questions that are too difficult for most young children to compute in their head using standard approaches.  I am likely to ask questions like these, in progression:
  • 63 + 19
  • 156 + 9
  • 345 + 100
  • 345 + 101
  • 345 + 99
  • 345 + 98
  • 567 + 98
This is the same concept, only with bigger numbers.  If your child can add 345 + 100 easily, then there's no reason why the same child can't solve 345 + 99 if the concept is understood.  If your 5-year-old can add 23 + 10 and is aware of the hundreds, then my viewpoint is, 345 + 99 is fair game if the deep understanding is there. 

The bottom line is that working with small numbers is a good way to first teach a concept, but if you don't apply that concept in a more challenging format, the truly deep understanding might never occur.

The flaw I see in schools

Even if schools force their students to write out all of the steps on paper, the flaw I see is the failure to advance things to larger numbers as seen in my second method above.  If you want the actual understanding to sink in, you need to put your students in a position where they have to really apply it.  Take this problem, for example, and apply the same Constructivist steps:

685 + 298 = ?
  • 298 = 300 - 2
  • 685 + 298 = 685 + (300 - 2) = (685 + 300) - 2
  • 685 + 300 = 985
  • 985 - 2 = 983
Now, writing out all the steps doesn't seem so insane now, does it?  Truthfully, I really want you to solve that problem in your head, but I'm still pleased if you can write this out.  I think you'll find far less objections from Traditionalists regarding the solution above compared to the same approach when applied to 23 + 9.  

My Suggestions to School Teachers

I understand that there are few chances to work one-on-one with students, which is why you require things to be worked out on paper, so my first method for teaching an understanding through self discovery of the algorithms (as opposed to directly teaching the steps) might not be easy to achieve.  The second method, however, is what I really want to push due to its feasibility.  A lot of these concepts frankly don't make practical sense unless you apply them to larger numbers.  Here are some examples of what I'm saying:
  • I don't want to estimate the answer to "9 x 8", but I do want to estimate the answer to "89 x 78". 
  •  I don't want to estimate the answer to 98 - 19, but I do want to estimate the answer to 59738 - 19873.
  • Please don't take 7 + 7 and convert that into a number bond question where the second seven becomes 3 and 4 and the 3 is added to the first 7 to get 10, allowing you to arrive at 10 + 4, which results in 14!  But, if you take 317 + 87 and show how that converts to 320 + 84, I'm quite OK with that.
  • Please don't take 145 - 62 and turn it into a visual 2-minute problem with charts. I know the point of the problem is to solve the sub problem of 140 - 60, where you can't take 60 away from 40, so you have to get ten 10s from 100, but to actually construct a chart to show this is ridiculous.  Would you solve that problem that way in the real world?  Heck no.   Do you want to test real understanding?  Make that an oral question and make your student solve that on the spot without pencil and paper.  Otherwise, let the student solve the problem on paper using any method known to that student, and provide full credit for getting the right answer.
The bottom line is, for homework and tests, please do not require an approach that looks ridiculous on paper in the eyes of a Traditionalist.  If the problem and its solution looks ridiculous, would the solution look useful if the numbers used were bigger?  If so, use bigger numbers.  One of our flaws with K-3 mathematics is the reluctance to work with bigger numbers.  My point is that the deep understanding doesn't exist unless the student can apply the same concepts to larger numbers, and frankly, you don't really know if a student has the understanding unless the student can solve it without paper and pencil.

Let's Marry Traditional Approaches with Constructivist Approaches

I really want to marry the best of both worlds.  I hope by now I've convinced you that I am a big fan of self-discovery because I apply that approach to my own children.  At the same time, I cling to some Traditionalist beliefs, as should be evident in the next paragraph.

If I could mandate one thing to change US math education, it would be mastery of the addition math facts by the end of second grade at a rate of recalling each math fact within 3 seconds, and similar mastery of the multiplication math facts by the end of 3rd grade.   These thresholds would ideally be tested at the federal level.  I'm being specific on purpose and I'm citing a low threshold.  To be really good, recall of each math fact ought to be nearly instantaneous, at a rate no slower than 1 problem per second.  Imagine trying to solve the following algebra problem without knowing your math facts:

Here's the truth: you can't solve this efficiently with a normal calculator, and you are downright doomed if you don't know your math facts.  Furthermore, this isn't even calculus!  Imagine trying to do calculus without knowing your math facts.  It's not possible.  There is simply no way around the fact that you need to know your math facts, so you might as well learn them early.

Here's the answer, by the way, as generated by MathScore.com:


Outside of the math facts, I see Constructivist approaches as potential improvements when applied to situations where using traditional methods would be inconvenient or merely impractical.  Why fight a traditional method when it is clearly more efficient?  If you know a superior algorithm exists, why teach second best? Deep understanding is supposed to be intuitive.  Artificially writing out a bunch of steps to solve a simple math problem is not intuitive, and that type of "new new math" is always going to anger parents.  My observation is that today's teachers are trying too hard to teach a deep understanding while using numbers that are too small for the real lesson to sink in.  If you want your Constructivist teaching methods to not only be effective, but also not anger parents, please work with bigger numbers!

At the same time, when it comes to traditional math problems, there comes a point where computing bigger numbers becomes silly.  It's important to be able to add and subtract at least 3-digit numbers, and probably useful to add and subtract 4-digit numbers, but there's no point in drilling 5-digit long subtraction!  There's no point in drilling 3-digit multiplication!  When the numbers get this big, any normal adult would whip out a calculator.  But that's exactly the point where we can focus on a deeper understanding.  Take something like 385 x 212 and ask for an estimate of the answer, and you can get the student to say "400 x 200 = 80000, so 385 x 212 is something close to 80000".  Now that skill is practical, and applicable to real world situations.

In conclusion, here's my advice as concisely as I can say it:
  • Stick with traditional methods for small numbers, and focus on Constructivist techniques for bigger numbers
  • Work with bigger numbers at a younger age so that the deeper understanding can really be achieved.

Wednesday, January 06, 2016

Handling Click Events on a Tablet

One thing I discovered recently is that when using a web browser, tablets purposefully impose a 300ms delay on all click events so that they can differentiate between a click and gesture, such as swiping.  When entering answers on MathScore, we present an on-screen number pad.  If students pressed our buttons too quickly, the 300ms delay would have the effect of some button presses not registering, which was a huge usability problem.

My first solution was to use the ontouchstart handler and treat them like clicks.  This seemed to work great, but had one issue:  if a student wanted to scroll the screen downward, and did the swipe gesture on top of the keyboard, a button click would register and then the swipe would occur.  The preferred action would have been to handle the swipe, but not process the button click.

My next approach was to integrate a tool called FastClick.  At first, I thought this solution was perfect.  After adjusting one of the constants within the file, it seemed that I had the best of both worlds, where button presses were very responsive, yet if you wanted to scroll on top of the keypad, it would scroll without registering a button press.  In truth, I think this is a perfect approach, provided that you are a coordinated tablet user.  The problem I discovered today with a group of 1st graders is the fact that some students initiate a slight swipe gesture when they poke at the buttons on the keypad.  As a result, even though they appeared to be tapping the buttons, they were doing swipes, which meant the button presses were not registering.

So it turns out, directly handing ontouchstart was the lesser of 2 evils when compared with using FastClick, which I really didn't expect.  The compromise is to disable swiping whenever your touch event starts on a button, so now my jQuery-enabled click handler looks like this:

function addClickHandler($jQueryElement, $function) {
  $jQueryElement.on('touchstart click', function(e){
      e.stopPropagation();
      e.preventDefault();
      $function();
    });
}

So as you can see, the first argument it accepts is a jquery element, and the second is your custom function.  By adding e.stopPropagation() and e.preventDefault(), I was able to disable the swipe gesture entirely when the touch event starts on a button.

If I were still using FastClick, the code would have looked like this instead:

function addClickHandler($jQueryElement, $function) {
  $jQueryElement.click($function);
}

Obviously this looks appealing due to its simplicity.  FastClick does some fancy stuff behind the scenes to override the click handler to take into account touchstart and a whole bunch of other things as well as the nuances of different tablet devices.   It's a shame that I have to do away with FastClick.

Click handlers are needed all over my code, so relying on my addClickHandler() function allowed me to change the implementation from FastClick to the new approach in exactly one place.  The alternative would be to directly embed the click handlers everywhere, which would lead to a lot more search and replace.

If you happen to be a web programmer and your audience is adults, I recommend that you look into FastClick to get the best possible compromise, but if your audience is young kids, I think the approach I settled on is ultimately best, even if it means swipe behaviors sometimes don't work as intended.

Wednesday, September 30, 2015

How to make War (the card game) fun for parents

Recently my kids were bored, so I introduced them to the game of War.  War is one of the simplest card games in existence, and for young children, it is extremely fun.  Unfortunately, for parents, War also gets boring in a hurry.  However, from the standpoint of teaching math, War can actually be a really good game.  On top of that, I'm proud to say that my daughter invented a variation that makes me want to play War more often!

First, let me explain the basic rules for the classic game of War in case you don't already know the rules:

  • Get a deck of cards.  If cards are missing, that's not an issue.
  • Deal the cards face down evenly to each player.  War works best with 2 or 3 players.
  • Each player should collect the cards in a neat pile without looking at them.
  • Now everybody flips the top card and places it in the middle.  Whoever has the top card takes all the cards.  These cards should be stored face up so they are not confused with the current deck.  Aces are high, followed by kings, queens, jacks, 10s, and so on.  You can also play with jokers being higher than aces.
    • In the case of a tie, you have a war.  For each person in the war, place the next 3 cards face down in the middle.  Now flip your top card.  Highest card wins ALL the cards. By the way, this is the only way that you can win the highest card from an opponent.  After winning the war, you can view all the cards.
  • Once your deck is exhausted, you shuffle the cards that you've won, and continue.
  • Keep playing until one person has won all of the cards
The traditional game of War is exhausting due to the fact that you need to win all of the cards.  The game can literally take more than 1 hour.  The solution to this problem is very simple.  Instead of reshuffling the cards that you won, you simply stop and everybody counts up how many cards they have.  Winner is the person with the most cards.  Here are benefits of this variation:
  • Each game is quick, meaning you can play a whole bunch of games.  The ramification is that if you play enough times, everybody will win at least one time. As you should know, for young children, winning is important, so the chance for everybody to win at least once is quite beneficial.
  • Consider the fact that my son Darian is only 3 years old.  As we play war, he is constantly getting practice comparing numbers to determine which number is the biggest.  He even has to work with abstract numeric concepts like jacks, queens, kings, and aces.  
  • Also, at the end of each game, you have to count the cards that you won.  This is an awesome counting exercise for kids 3-5 years old.  Since Darian is only 3, he has not developed superb coordination yet, so the exercise of counting out his cards one at a time is great math practice.
Now for the variation that makes me very proud.  My daughter Skyla, who is six years old and in first grade, invented a variation where you flip two cards at a time and add up the result.  So if you flip a king and a 5, you have 13 + 5 = 18.  Aces count as 14 and jokers count as 15.  Here's what I like about it:
  • Young kids need to practice their math facts.  This makes War a totally awesome way to practice math facts.  I recommend this version for students in grades 1 through 5.  Yes, it goes beyond 9+9, making it fairly advanced, but if your kid can handle it, this is absolutely the way to go.  Skyla has already mastered her addition math facts (using MathScore of course), so the additional challenge of adding up two cards is perfect practice for her.
  • Aces and jokers no longer seem impenetrable.  If you draw a joker and a 2, there's a good chance you are going to lose.
  • Playing the game this way (with jokers), all I'm really thinking is "Wow, my kid is having a great time adding numbers up to 15+15".
If you end up playing War with these variations, please let me know!


Monday, August 03, 2015

The Stigma Against Math Practice

Consider for a moment the following phrases:
  • football practice
  • tennis drills
  • soccer drills
  • violin practice
  • piano practice
  • dance rehearsal
  • read lots of books
  • go to the driving range to practice golf

It is well understood that the activities above are essential to becoming good.  Nobody questions these things, and in fact, we highly encourage them.  Why?  Because we know that lots of repetition at such activities is the only legitimate way to make you good.  Now consider these phrases:

  • math practice
  • math drills

If you are like most American adults, you react negatively to those phrases.  Why?  Clearly you understand that practice is essential to become good at anything, including math.  Don't tell me you don't like math practice because math is hard!  You want hard?  Try violin!  Compared to that, math is incredibly easy.  

Well, here's the explanation, at least in my opinion: Tennis drills, dance rehearsal, etc. are often fun.  No doubt they entail hard work, but they are still fun.  Rarely do you find a person who says that practicing math is fun, or do you?

In my personal experience, the things I enjoy the most are the things that I'm best at.  I'd much rather play tennis than soccer because I'm way better at tennis.  I'd rather play piano than violin.  I like to play games like bridge, chess, and sudoku because I'm good at logic problems.  I really have fun creating complex computer algorithms for the same reason.  I also like math.  Why do I like math?  Honestly, it has a lot to do with the fact that I'm good at it.

What I've observed over the years is that lots of kids like to "play MathScore".  In fact, my own child Skyla uses the word "play" when she refers to using www.mathscore.com.  If actual kids want to play MathScore, then apparently they like to practice math because that is what they are actually doing, and in great quantities!  I believe this is the case because I know that students are statistically becoming better at math as a result of using MathScore.  So my hypothesis is that these kids have become good enough at math that math has actually become fun.  MathScore teaches grit.

From a marketing standpoint, my realization is that I must express this reality.  We've made MathScore sufficiently fun without sacrificing on the quality of practice.  Students are literally drilling thousands of math problems each while having fun at the same time.  For too long I've been emphasizing the fact that we provide great math practice and are proven to raise test scores.  This sounds good, but unless the consumer believes it will work with her own child, it doesn't matter.  If I can instead convince the average American consumer that kids will want to play MathScore and ask to play it again, perhaps that's the message that matters.  After all, that's why people buy math games.

And since I've just mentioned math games, time for a short rant.  Most math games suck.  Frankly, math games appeal to parents because they are afraid that real math practice will be too boring.  Unfortunately, math games typically are only good at reinforcing skills, and terrible at teaching new skills.  So if your child is behind in math, I can guarantee that playing math games will not do the trick.  

This is the battle that I fight everyday as I build MathScore.  I refuse to build something that is a bunch of fun, but educationally ineffective.  It takes an incredibly delicate touch to deliver an educationally effective math product that happens to be just fun enough for kids to want to play.  That is why MathScore matters.  I just have to be better at expressing this.





Wednesday, November 05, 2014

MathScore Philippines, October 27, 2014

After over 5 years with a successful business partnership in the Philippines, Henry Chua, president of MathScore Philippines, invited me to visit.  I knew this was going to be a good trip, but it turned out to be more humbling than I could have expected.

The first thing Henry did was pick me up at the airport at 4am.  He had a picture of me I had taken right before my flight, which proved really useful because the baggage claim took more than 1 hour and he was second-guessing every Chinese-looking guy that emerged from international arrivals.  He took me to the New World Hotel in Makati.  He didn't just book any room either.  I was placed on their exclusive 24th floor, which includes a beautiful lounge with tons of delicious, high quality food throughout the day!  We ate some food together while I waited for my room to be ready, then I was able to get a couple hours rest before my day was to really begin.


Here's me with Dennis at New Era University.  Universities in the Philippines often have a grade school component, which was the case here.  Dennis is the other main business development guy on the team.  He also takes care of the finances, which makes him incredibly critical to my business!

One of many posters printed out by MathScore Philippines.  MathScore EduFighter is a hit here. MathScore Philippines held the first ever national EduFighter tournament in the 2013-2014 school year, and intend to do it again this year.

Another poster at New Era featuring our logo.  Every school we visited had MathScore posters or banners in different spots.  I took fewer such photos as I visited other schools.

Here, Teacher Rev (from MathScore Philippines) taught a demo lesson with an incredibly awesome Powerpoint presentation.  The intent is for all of the school staff to learn from the lesson, reuse the Powerpoint and duplicate the lesson with the rest of the classes.  As part of the lesson, the students took out tablets and used MathScore.  The Internet connection was very slow and also shared across about 20 separate tablet devices.  It felt like 1994.  Internet speeds greatly varied between schools, and they certainly need to improve bandwidth at this school.  MathScore is a pretty low bandwidth site, so the fact it was slow was very alarming to me.  Nevertheless, the students were used to this, super patient, and very cheerful.  Their desire to learn was incredible.

Here I took a group photo with all of the students in this class.  Also notice the class size, which I understand was around 40 at this school, and can be significantly larger at some other schools.  I felt very spoiled that my daughter's kindergarten class in Palo Alto only has about 21 students.

After leaving New Era, we arrived at Colegio de Santa Rosa.  At this meeting, we were focused on discussing research.  An important goal of any school in the Philippines is to become accredited and of course maintain accredited status.  One of the strategies that our customers here are using is to use MathScore's usage data as the centerpiece for demonstrating that the school excels in math instruction.  For something as important as accreditation, it is humbling to me that MathScore is used for such an important purpose.  I also spoke about some of our own MathScore-based findings, such as the effect of allocated lab time on engaged time.  Imagine these three scenarios:
  • Use MathScore 5 days per week, 10-15 minutes at a time.
  • Use MathScore twice per week, 30 minutes at a time.
  • Use MathScore once per week, 1 hour at a time.
Which scenario would lead to the most overall engaged time?  Based on our usage data, the first scenario is absolutely terrible.  The second produces good results, but the third scenario produces spectacular results.  The reason?  When you use any software, it takes a while to ramp up and "get in the zone".  If you only have 10-15 minutes total, you'll ramp up, get focused, then immediately get unfocused as you anticipate your time ending.  With 30 minutes at a time, you'll maintain focus for a decent amount of time.  But with 60 minute blocks, you'll get often 50% better engaged time compared to having 2 separate 30 minute blocks.  I am willing to bet that this phenomenon extends to most computer tasks, not just MathScore.



MathScore Philippines, October 28, 2014

Turns out that my first day in the Philippines was nothing more than a hint of events to come.  Our largest single customer in the Philippines, with over 16,000 students, is the Makati Department of Education.  Of special significance to us is the fact that this is a a public school district (nearly all other customers are private schools).  We enjoy such tremendous support in Makati that even the mayor endorses MathScore.  They made their support clearly evident during my stay.  In fact, they convened a special meeting with every school principal in the district on short notice so that I could get to know them.  


Here I am with the top administrators in the district.  The superintendent is seated on the left.

The top 4 MathScore students and their parents were invited to attend.  All of them were wearing "BEAT MY SCORE" shirts, which are awarded to parents and teachers alike when somebody scores at least 100,000 points on MathScore.  Generally speaking, students that score at least 60,000 points have shown a very solid foundation with a strong likelihood of doing well in high school Algebra.  The top scorer (on the left) had 400,000 points, which pretty much proves Algebra I dominance.  Each of these four students spoke kind words about MathScore.  One of them wrote a handwritten letter to me.

This is such a nice and thoughtful letter!  I really feel like our team made a big difference in her life, and I hope she has a truly bright future.

Here I am with the top students and their parents.  When I was given a chance to speak, I made it a point to help these students and their parents dream about possibly getting into MIT, my alma mater.  Many Filipinos have no idea that they are even eligible to apply to MIT, so knowing it is even possible provides hope.  Equally important is MIT's policy that financial means should never be a concern for any student they admit.  If you can't afford to pay for MIT, they will pretty much cover the entire tuition cost for you.  This is also true of Stanford and Harvard.  I did my best to paint a picture for these kids and their parents.  What would it feel like to be the first ever student from your town to get accepted to MIT?  Imagine returning home for the first time, with your diploma in your hand.  How would the city react?  I think you'd be a hero!  I finished my speech with a promise.  If the Makati School District presents a worthy student, I will write a letter of recommendation to help that student get into MIT.  

Here I am with the administrators and teachers.  

They gave me a nice certificate of appreciation.  That's the superintendent next to me, and I don't remember the official title of the lady in the middle, but my understanding is that she is one of the biggest advocates for MathScore in the district and wields quite a bit of influence.  We also celebrated her birthday with cake and candles that day!

This is University of Perpetual in Laguna.  There are multiple MathScore banners at every customer site.

I got a chance to meet up with all the main math teachers in the school.  The question I was asked, which was asked of me many times on this trip, was "Why did I create MathScore?"  In case you were wondering, here's my answer:

My original inspiration for creating MathScore.com started in 4th grade.  Every day, we had an activity called "Mad Minute Math".  You had only 60 seconds to answer 50 addition facts questions.  Just think about that for a moment.  How hard is it to merely write 50 random numbers on a piece of paper within a 60 second time limit?  I remember running out of time, pondering how the heck I was supposed to answer all of them in time.  I eventually realized that I had to read the next problem while I was answering the current problem.  So if the current problem was 6+5, I would read the next problem (such as 9+4) while writing "11" as the answer to the current problem.  As you can imagine, it was sometimes difficult to keep things straight.  I eventually triumphed, and was able to consistently get all 50 right within the time limit for the whole second half of the school year.  As a result of becoming super fast, I noticed that I was better at more complex mathematical computations.  Math facts had become completely automatic, requiring the tiniest fraction of a second to recall the correct answer.  

The other thing I realized was that from a teacher's perspective, math facts practice requires a ton of paper, and more importantly, time.  In some classes, students graded their own timed tests, but in others, teachers would do the grading.  Furthermore, at some point or another, teachers had to photocopy timed tests, file them in folders, track progress (not a small task), etc.  That little 1 minute timed math test costs quite a bit more than 1 minute to a teacher!  In fact, a single timed test might actually cost a teacher as much as half an hour.  

I originally created MathScore.com because I wanted to completely automate timed math facts tests.  By using MathScore, teachers that believe in timed tests could literally save as much as 10 hours per month of tedious paperwork.  Schools would save money on paper and ink costs, and teachers would have more time to teach.  And best of all, by making MathScore adaptive, I could help students work just on the math facts that were giving them trouble.  For example, one student might be drilling his 4's while another was drilling his 6's.  At the time that I created MathScore, adaptive algorithms were only used in online assessments.  What made MathScore different was the fact that we applied adaptive algorithms in our practice content.  Finally, MathScore made the math facts data come alive.  You could easily view the math facts competence for an entire class of students in a single screen.  MathScore was born in 2003.  Building this business was worth the risk!

Here I am with the head of the school.  One thing I noticed was that the large majority of top administrators had PhDs.  Filipinos take their education very seriously.

Here's the MathScore Philippines team.  Without them, I'd have no business in the Philippines.  I am so grateful to have them in my life and to have finally met them in person.  MathScore is helping fulfill their dreams, which in turn fulfills my dreams.  Can't get more synergistic than this!

This, by the way, was the view from my hotel in Makati.  I was on the 24th floor of the New World Hotel.  Beautiful, isn't it?

MathScore Philippines, October 29, 2014

Day 3 got off to a tremendously early start.  I had to be dressed and ready to leave the hotel at 6am.  Miraculously, jet lag wasn't too big of an issue.  I was regularly waking up around 4am anyway, so I guess you could say my internal clock was OK with the idea of an early start.  Henry picked me up as usual, and we headed toward one of the provinces.  Traffic in the Philippines can be really crazy.  Any American would likely be surprised by the dense levels of traffic that can be seen at 6am.  One thing they do well in the Philippines to facilitate flow of traffic is to have excruciatingly long traffic lights.  In many cases, the long delay at intersections is managed not by traffic lights, but by ridiculously brave people that direct traffic every day.  Waiting for 5 full minutes is not unusual, but once you get going, you get to go for a while, so overall, they manage their traffic pretty well in the Philippines!

At Canossa Academy, they arranged a special assembly for my visit.  They have more students than can fit in this auditorium!

Now here is something you don't see every day.  These students performed the "MathScore Dance".  MathScore Dance?  Are you kidding me?  They would clap their hands 3 times, stomp 3 times, then clap to the left, clap to the right, then raise their hands over their heads in an arc and say "Fireworks!"  In this photo, they are doing the fireworks portion of the dance.  If you aren't a MathScore user yourself, your screen lights up with fireworks the moment you've just mastered a math topic.  Most students won't see this event even once per day, so when you earn it, it's kind of a big deal.  If you see me in person and ask me about it, I can teach you the dance too :-)

Here I am saying a few words before beginning an awards presentation.  The top students at every grade were set to receive awards.  Given that I played no role whatsoever in preparing any of this, it felt kind of weird having the honor of actually handing out the awards.  Thanks MathScore Philippines!

This is the first student that received an award.  As was the case with several younger kids, I had to grab her hand in order to shake it.  Some kids were looking down.  It takes a lot of confidence to have your head up high the first time you've ever been recognized on stage!

After a seemingly endless stream of students, we took a final group picture with all of the winners.

Here I am with the Canossa staff.  The people on the left who are not in uniform are part of MathScore Philippines.  From the left, the non-uniformed team members are Dennis, Sue, and MJ.  In the middle in white, that's the head of school, a Sister of the church that runs the school.

True to Filipino hospitality, the Canossa staff offered us lunch.  They were so incredibly polite and gracious.  They didn't even want to sit down with us.  Clearly there were extra seats, so after we were seated, we insisted that they sit with us.  They were embarrassed to sit down, and did not touch the food themselves.  We had a nice conversation and we were sorry when we had to leave to make it to the next appointment.

Here's a nice photo of teachers at Our Lady of Caysasay.  We had taken lots of plain photos, but I chose to post one of our goofy ones.  

Although we had just eaten lunch at Canossa, they immediately fed us here as well.  The food was delicious.  Afterward, I spoke about our geometry proof engine with a small group, then when the whole group arrived, I spoke about why I created MathScore, and then I had something to say about women in engineering.  Here's what I said:

I talked about some research I recently read about that was pretty disturbing.  Suppose a high-achieving girl and boy enter their first year in college and take some engineering courses.  Suppose both of them earn mainly B's and C's, but the girl scores slightly better than the boy.  Most of the time, the boy sticks with his engineering major and eventually graduates, getting a high-paying job.  In many cases, the girl thinks she isn't good enough and switches to an easier major where she can get straight A's.  So this girl might actually have more potential in engineering than the boy, but due to confidence issues, she never finds out.  My message to the staff was to be aware of this, and to please educate their top female students so that they have the grit to finish their engineering degrees when they get into college.  The world needs more engineers, and I think women are the key to meeting that demand.  

They created a nice thank you card with a bunch of handwritten post-its.  They were such a great group.  I hope something I said helped somebody!


This is the first administrator to ever achieve the rank of Fleet Admiral in MathScore, which means she scored at least 200,000 points.  I suppose it wouldn't have been proper for her to wear her "BEAT MY SCORE" shirt to this occasion, but I'm sure she has one.  I wrote "You are Awesome!" on her certificate and signed it.

After we left Our Lady of Caysasay, we took a short break a restaurant with a nice view.  I'm sure the view would be prettier on a sunny day, but it was quite nice nonetheless.

Hmm...what are these kids playing at Santa Rosa Elementary?  It's MathScore EduFighter!

OK, my turn! I had to take on their top 4 students.  Naturally, I chose the Engineering Station, which I designed to be the most important station in the game.  I went on the defensive, upgraded all of my skills to raise my boost bonus, and added tons of deflectors.  The other team sent barrages of torpedoes at me and also used their shield boosters a bunch.  The downside of their approach was that those actions (particularly shield boosters) consume a lot more power than the defensive actions that I took.  I waited until they ran out of power, then I turned to offense and blew up their ship.  Should I have let them win?  Nah!  It's more fun this way.  They kept chanting "Rematch! Rematch!" after the game.  I didn't have time to play another, but I appreciated the enthusiasm!

Here I am with their top MathScore students.

They prepared a cute little "Steven Yang" banner.  I was allowed to take it home.

MathScore Philippines, October 30, 2014

For my very last day in the Philippines, I actual did something that felt like real work.  We went to the MathScore Philippines office.

Here is photographic evidence that I was finally doing real work on this business trip!  OK, you could argue that I was working every day of this trip, but from a programmer's perspective, you aren't doing any work unless you get to touch some code, and that day, for a short period of time, I was actually touching code.  That's Jake sitting next to me.  He is in charge of their IT operations, and apparently he knows some PHP and SQL too!

My nerd session was cut short by a visit from some administrators and parents of an especially bright 14-year-old math genius and his sister.  He recently won a gold medal at a math competition in Singapore and also won a bronze medal in China.  Besides those big ones, he has one quite a few other honors.  They told me that he specifically aspires to get into MIT.

Well, if you are going to tell me that, we have to talk!  I spent quite a lot of time coaching them about what it really takes to get into MIT.  Like many Asians, Filipinos don't know that American schools care deeply about extracurricular activities.  I emphasized that nearly everybody I knew at MIT had a non-academic talent.  So far, he has proven that he's academically qualified, but what he needs to prove is that he's well-rounded.   I pointed out that every year, many students that have won gold medals in international math competitions don't get into MIT.  He's only 14, however, so he has time to develop more interests.  It turns out that he's also great at chess, but that's also nerdy.  He is very good at journalism, however, so I emphasized that if he wants to take that to the next level, he needs to put himself in a position to write a story that gets noticed.  Even journalism, in my mind, is still kind of nerdy.  I mentioned that sports was a great option, but that sparked no interest in him.  I suggested playing a musical instrument, which might have interested him.  So my next suggestion was that when he's in high school, he should become the founder of a new club and become president.   American universities love it when students have leadership skills.  I hope he takes that to heart.  I hope he forms a solid vision of what he wants to do with this life.  I hope he gets into MIT.

Look, Filipinos eating food.  What a surprise :-)

Finally, we visited one last school before it was time for me to go to the airport.  We had plenty to talk about, but the conversations were all similar to things I've mentioned earlier.

My day concluded with a ride to the Manila airport.  Traffic was predictably terrible, especially because of a major holiday on November 1st that causes many families to travel through Manila on their way to various provinces.  Henry, however, was being very conservative, so we arrived at the airport many hours before my flight was to depart.  It's a good thing Henry supplied me with some pesos because there's a fairly hefty terminal fee that you have to pay when you fly out of the Manila airport.  The cost might have been around 550 pesos, which is somewhere around $12.  

In conclusion, this was by far the most rewarding, fulfilling business trip I have ever taken.  It's one thing to sit at your computer all day and imagine people one day using what you are creating, and another thing entirely to see the fruits of your labors.  I've been building this business for over 11 years, and this trip absolutely confirms that my time has been well spent, and encourages me to stay on this course.  My lifelong mission (bucket list if you will) is to change the world in math education and hopefully other areas as well.  I've only scratched the surface so far, but will continue in my pursuit.

If you read all 4 of my posts, thanks for reading!  I experienced so many things that are not reflected in any of these posts, but I hope I did a good enough job telling my story.  


Wednesday, August 10, 2011

Notes for pptp-linux

Today on an outdated version of Ubuntu, which I neglected to update to the point that I cannot update it anymore or upgrade it, I was able to successfully install pptp-linux, allowing me to pptp into our office server. With a newer version of Ubuntu, I would have been able to simply go to System -> Preferences -> Network Configuration and add a VPN client. Overcoming the fact this was not an option was not an easy feat, so here are my notes so I don't forget:

Step 1 - Google search for pptp linux source code
Result was this page: http://pptpclient.sourceforge.net/cvs.phtml
Which led me to this command to download the source code:
cvs -z9 -d :pserver:anonymous@pptpclient.cvs.sourceforge.net:/cvsroot/pptpclient checkout pptp-linux

After running make and make install successfully, I now needed to configure pptp to actually work. pppd was already installed on my machine, which was a prereq for running make.

I used the following page to help me configure the pptp client:
http://pptpclient.sourceforge.net/howto-debian.phtml#configure_by_hand

I followed all
  1. create or edit the /etc/ppp/options.pptp file, which sets options common to all tunnels:

    lock noauth nobsdcomp nodeflate

  2. create or add lines to the /etc/ppp/chap-secrets file, which holds usernames and passwords:

    $DOMAIN\\$USERNAME PPTP $PASSWORD *

    Note: if you are using a PPTP Server that does not require an authentication domain name, omit the slashes as well as the domain name. (I did not include $domain. My entry looked like this: username PPTP "[mypassword]" *. I used one tab between each field.)

    Note: if the passwords contain any special characters, quote them. See man pppd for more details.

  3. create a /etc/ppp/peers/$TUNNEL file:

    pty "pptp $SERVER --nolaunchpppd"
    name $DOMAIN\\$USERNAME
    remotename PPTP
    require-mppe-128
    file /etc/ppp/options.pptp
    ipparam $TUNNEL

    Note: if you do not need MPPE support, then remove the require-mppe-128 option from this file and /etc/ppp/options.pptp. (I followed the thing above exactly. The $TUNNEL file can be any name you give it. Later when you run pon, you will supply the same filename you supplied for $TUNNEL. Also, you can't easily cd to the peers directly. Just sudo and directly create the file.)

  4. start the tunnel using the pon command:

    pon $TUNNEL

    to further diagnose a failure, add options to the command:

    pon $TUNNEL debug dump logfd 2 nodetach

    Note: we have further information on enabling debug mode, and on diagnosing problems. (I found this line for debugging very useful. On ubuntu, of course, I had to sudo this command)

  5. stop the tunnel using the poff command:

    poff $TUNNEL
By following those directions, I was able to get a mostly valid PPTP connection. However, I was only able to access the server that hosted my PPTP service. In order to gain access to the rest of the network, I had to figure out one more thing, which took A LONG TIME because I needed time to learn from forum posts and other resources.

To get to the rest of the network, edit these files:
/etc/ppp/ip-up
Add this line to the bottom of the file:
route add default dev $1

/etc/ppp/ip-down
Add this line to the bottom of the file:
route del default dev $1

Voila! It worked! Now when I need to PPTP into my office, I just type sudo pon name-of-tunnel-file to get in, and sudo pon off to log off.

Finally, one small detail is that my network at home is set to a different subnet than the one in the office, which is a prerequisite. For example, if both the home LAN and office LAN relied on 192.168.1.x, I believe PPTP would not have worked properly.