#### alice in summerland

learning and teaching math in alice## Overdrive

This morning I finished the simple random sample v. stratified random sample program from yesterday. I added the simple random sample method which was obviously very similar to the stratified (should actually be combined into one method with a few extra parameters). I also fixed the problem from yesterday about not having all the balls show up at the top by just moving the visual array back and making it smaller.

Then the 3-woman wolfpack went to our first Wednesday CS summer group lunch in the room where CS 104 is taught (since the room in the North building was “leaking”, yikes! Hope we don’t get flooded in our office in that building…). A grad student named Janardhan Kulkarni came to give a talk called “Doing research for the first time and Approximation algorithms research at Duke. Janardhan discussed a few NP-hard problems, which are problems that seem so basic upon presentation but have proved to be unsolvable using algorithms. Although we can’t solve these problems efficiently, i.e., within one year, we can still approximate and bound the solutions as much as possible. After giving a couple graphical representations of this type of problem, we moved onto equations that are solvable. Janardhan simplified the problem that he has been working on this year on the board by drawing 5 (?) points connected to form a circle, and then a point in the middle that is connected to all of these points. Thus graphical representation has vertices equal to the points and nodes equal to the lines that connect them. The problem is this: given a parameter p, we color the points with two colors, red and blue. The coloring must follow these two rules: if a point is red, it must be connected to p blue points; if a point is blue, it must be connected to p red points. Janardhan said that this simplified problem has millions of applications, especially in two-stage pricing, where, for example, a developer wants to release the app for free to get it into a few people’s hands immediately and then wants to raise the price once people know about it and would be willing to pay for it. This talk made me realized that what I love most about computer science is the theoretical, mathematical side. Coding is fun, but solving problems like the ones he presented is what I’m most excited to learn. After the talk I tried to sign up for CS 130, which covers some of these types of algorithms, but I need to figure out how to reorganize my schedule for that to happen.

After lunch I spent a lot of time setting up a world that would convey the basic properties of motion taught in math, such as distance=rate*time. I tried out a few billboards and environments from Alice to find the best layout for a road on which cars could drive easily (moved by the mouse) and I do various things with some distance, rate, and time variables. After setting up the world which took a while, I created I guess what could be called the first level. In this level, which is shown in the picture, The red Corvette has to beat the cop car to the stop sign in so that the cop can’t tell the Corvette that he is speeding. I chose to give the player a head start in distance since the computer can obviously move faster than a mouse. The real math will come in when I have “Car speed (m/s):” and “Police speed (m/s):” objects that correctly calculate the speed of the cars as they are moving. I might also include two timers to display each of their times. Nonetheless, building the remainder of this program will require the middle school kids to repeatedly apply the d=rt formula. Other versions of this program could have the player calculate one of the three variables, given the other two. We’ll see what works out best, but I think this idea has a lot of potential for teaching the mathematical basis of motion.

## Leave a Reply