Final Project – Bouncing Balls 2

Our partially finished project can be found here:  We are still currently working on collision bugs, though the basic concepts are visible.  Dragging the mouse will create a new ball, with the displacement representing the speed.

UPDATE: The program now runs on the web, though slowly, as it requires many calculations.


Guest Speakers – Jay and Beau Silver

Today, our class had the chance to have a Google Hangout with the creator of Makey Makey, Jay Silver, and his brother, Beau Silver.  They talked about how we should follow our passion and about Makey Makey, an invention kit using alligator clips that can connect everyday objects to the Makey Makey HID board, which simulates keyboard input.

The talk was very interesting and I would like to thank the two brothers for their inspiring talk and for taking their time to come talk to us!

Guest Speaker – Sebastian Alvarado

Yesterday, along with Bret Victor and Mike Marmarou, we also listened to a talk by Sebastian Alvarado, co-founder of  Thwacke Consulting ( and a postdoctoral fellow at Stanford, which helps video game developers make their games more scientifically correct.  He is a molecular biologist and is now working on a game called “Cell”, where the user controls a cell that turns cancerous.  The user learns more about the cell and cancer.  Sebastian described the game as a “game which happens to be educational”, as the game is 100% scientifically accurate.

Thank you very much for coming in to talk to us about your work (and for the magic trick you showed us at the end)!

Guest Speaker – Brandon Tearse

Last Thursday (July 24), we had the chance to have a Google Hangout with Brandon Tearse, who now works for Google.  When he was in college, he interned for Google and thus could give us useful advice about having an internship in the future.  He also gave us some sample questions that might come up on an interview as well as concepts that will be almost always tested, such as algorithms, runtimes, etc.

Thank you very much for taking your time to talk to us, and hopefully, I will get a Google internship in the future!

Guest Speaker – Mike Marmarou

Yesterday, I also had the chance to listen to a presentation by Mike Marmarou, who currently works on the Photos app for OS X and iOS.

He gave us advice about entering the computer industry and advice for the future.

I learned a lot about what I should do to enter the industry and I will surely use this advice in the future!

The presentation of Mike Marmarou can be found here:

Guest Speaker – Bret Victor

We had the chance yesterday to listen to a presentation given by Bret Victor.  Bret Victor worked at Apple and now works for a research company.  He showed us an IDE that he wrote, where the final product would be compiled instantly after changing the code.

The first example was a tree, generated by the program.  He then demonstrated how different parameters of the tree could easily be changed, just be holding the CTRL-key and adjusting the slider that appears.  The colors can also be changed in a similar way.  The code would instantly be run on the left side and the product could easily seen.  Holding the ALT-key over an element in the picture would show the function that drew it, and vice versa.


In the next example, he showed how, with the same method, he could change a character’s velocity to perfectly fit inside a passage.


Bret Victor also showed us an iPad app that he created, where he could animate with his finger instead of having to tediously create time frames.


Lastly, he showed us an interactive page that could visualize data better, instead of lines of text.

After the presentation, I also learned that the philosophies of Bret Victor also influenced Apple’s new upcoming programming language, called Swift.

Swift – Apple

The presentation was very interesting and I learned a lot about creative ways to do today’s problems, such as the new IDE, where there is no need to guess as to where something should go in a program.  Thank you very much, Bret Victor, for coming to talk to us and showing us your ideas!

Below is a talk by Bret Victor, where he shows many of the projects he showed us:

Image Credits:;

Final Project @ SPCS Summer Institutes – Fang, Jove, Penny, Float

We, as a group, have decided that our final project will be a simulation of a particle system, where there will be bouncing balls, combined with elements of physics, including, but not limited to, gravity, collisions with walls and the balls themselves. People will learn much more about physics than they will be able to learn from a textbook because our simulation will be interactive, in the sense that the user will be able to edit and change the parameters, so that they can explore with the elements of physics. Note: There will be buttons and sliders controls to change these parameters. To fit in with the Exploratorium, all we need is a computer that can run our programme. It will fit extremely well with the physics area in the museum. Below, is the prototype of how it may look like at a basic level. Slide1Below is an example of an existing bouncing ball programme. CaptureRoles Fang Lu – Programming Adviser [ Programmer & Designer ] Penny Pan – Artist Jove Yuan – Programmer Float Keerasuntonpong – Programmer Descriptions of Different Versions Easy: For the easy version, we will be able to make the balls bounce around in random directions and they will be able to bounce off the walls. Moreover, we will be able to make the balls be effected by gravitational force, so that it accelerates as it approaches the floor. Clever / Advanced: For the advanced version, we will have full physics implementation. The balls will be able to bounce off each other and other physics elements will be added. The only difference between clever and advanced is that the advanced version will have customizable values.