FINALE: a falling block game

For my final AP Computer Science project in June 2008, I worked with Brandon Liu and Yuzhi Zheng to develop FINALE, a falling block game based on the PSP game Lumines. The object of the game is to match colored blocks into squares, which are cleared away when the “time bar” passes them. Clearing more squares in each pass of the time bar gives an exponentially larger number of points.

Here are some screenshots. (I’m happy to say our graphical presentation was spectacular, with all graphics, backgrounds, and game pieces custom designed in Inkscape.)

Continue reading

How to Present – Notes from ISEF 2008

At the Intel International Science and Engineering Fair this year, I’ve learned a lot about presentation techniques. Thanks to Patrick for giving me some great suggestions, such as:

  • Posture: stand with feet pointed toward judge, lean forward slightly
  • Hands: use generous hand gestures, in front of chest, not lower
  • Use visual bullets when making lists. Hold up fingers for each item.
  • Intonation: Use emphasis on key phrases, and be sure to pause between clauses and sentences. Give the listener time to absorb information, and possibly ask questions.
  • Don’t use filler words like “uh”, simply pause and glance back at board if you forget what to say.

Here are some other notes about the judging process at ISEF experience:

  • Some judges are not interested in hearing a presentation, and will instead like to ask you questions about the board. They have all already read the board. This can be difficult if there is background information that needs to be explained as part of your presentation.
  • Other judges may want a 2-minute summary of your work. This means you should state the key points: the purpose, hypothesis, conclusion. In my case, I also showed my demonstration.
  • Judges are assigned based on your sub-category selection, so choose carefully.
  • Recognize types of judges:
    • Grand awards judges have blue ribbons, and a second ribbon corresponding to their category. Computer Science judges had yellow ribbons. These judges are written on the red card that is placed at your project. They have strict 15 minute periods for each project, and there is a warning bell when there are a couple minutes left.
    • Special awards judges have red ribbons. Their organization is written on their badge. Special awards judges will not always have time to hear the full presentation.

Question and Answer: Questions about the technical details of your project are easy to answer, because you have already researched the field for many months. The trickier questions are more general, and they apply to almost all projects. For example:

  • What were some of the biggest challenges in your project, and how did you overcome them?
  • What was something surprising that you learned, that you weren’t expecting to?
  • What is the significance of your results?
  • How did you learn about this?
  • Why did you want to do this project? How did you come up with this idea?
  • How does your work compare to existing research?
  • What makes this project better than the other projects here?
  • What would you do differently if you did this again?
  • What else would you like to explore in this project?

NASA VIP tour and Director’s Breakfast (Science Fair special prize)

Yesterday I attended the VIP tour and Director’s Breakfast at the NASA Ames Research Center. This was the special award I’d won at the science fair this year. I brought my dad as a guest. I had also wanted to invite a friend, but since STAR testing was happening I don’t think anyone would have been able to go. [irked]

We arrived at 7:40 AM, twenty minutes earlier than we intended. That was because we had expected there to be a lot of traffic. There was traffic, but the carpool lanes served us well.

We started out with a few introductory speeches and a light continental breakfast with the Director of the Research Center. Then, they wanted us (the science fair winners) to give brief overviews of our projects! This was something for us to get “nice and nervous about.” (laughs) Even though I didn’t prepare for this, my short presentation went well enough. I would say there were about 10 winners there, plus guests.

After discussing our projects, a presenter was invited to talk about Saturn and its many moons. On October 15, 1997, the Cassini probe was launched, using a “Venus-Venus-Earth-Jupiter Gravity Assist” trajectory to slingshot its way across the solar system.

misc/cassini_trajectory.jpg Continue reading

Programming, continued: DCLsoft

Read 2005 Jan 16, Programming first.

I call my small programming business DCLsoft. My first paid project, ever, came from a guy who called himself Dave Diamond. It was initially a “Down and Dirty FTP client”, but it evolved into File Grabber, a stylish and fully functional FTP client. After my first job, projects just kept coming in. I did a WYSIWYG content editor, record management program, affiliate link checker, contact form, internet broadcast scheduler, online key generator, frontend media player, message thread CGI installation, and numerous enhancements to these programs. Right now I’m working on an dynamic, web-based media player for Traders Nation.

Overall, working on software projects in my spare time is a fun, and not to mention profitable, way for me to learn and practice my programming skills in real-world applications.

Programming

I’ve been programming since I was about 6. It’s been almost 7 years since I started learning my first programming language, Visual Basic 5. Wow–now that I think about it, that’s a really long time ago. I started out making silly little projects and cloning other people’s programs. I think my first real, original program was “Word Search Suite”, a program that allows you to create and solve word searches. After that point, I gradually started to make more useful programs. Often, they related to my interests in some way, like my Resistor Calculator, which I made when I was learning about electronics. It would calculate resistor values based on their colored stripes. I also made programs such as my Alphabetizer, to help (or cheat, depending on how you look at it) on my homework.

Of course, I’ve come a long way since then. In 2002, I started seeing ads for RentACoder, an online marketplace built for safely and securely outsourcing software projects. At the time I ignored it–at least until I wanted a home theater system with a digital projector. That was in January 2003. My parents thought it wouldn’t be very practical, but I disagreed. I could buy it myself, if I had the money. That’s when I remembered the RentACoder site. My parents let me sign up, and I searched for a few weeks, but couldn’t land any jobs, so I gave up.

When summer came around, though, my interest in getting a home theater was rekindled. So, in August, I found my first job programming!

I call my small programming business DCLsoft. My first paid project, ever, came from a guy who called himself Dave Diamond. It was initially a “Down and Dirty FTP client”, but it evolved into File Grabber, a stylish and fully functional FTP client. After my first job, projects just kept coming in. I did a WYSIWYG content editor, record management program, affiliate link checker, contact form, internet broadcast scheduler, online key generator, frontend media player, message thread CGI installation, and numerous enhancements to these programs. Right now I’m working on an dynamic, web-based media player for Traders Nation.

Overall, working on software projects in my spare time is a fun, and not to mention profitable, way for me to learn and practice my programming skills in real-world applications.