Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

I want to learn more programming. Fun method a la physics forum?

  1. Sep 12, 2012 #1
    I've made a few efforts to learn to program in the past, but I've never lasted more than a few days.

    What are ideas on ways to make it fun? Websites maybe? Or forums?

    For learning science/engineering principles, this forum is great.

    Do you guys have suggestions for ways to make programming fun?
  2. jcsd
  3. Sep 12, 2012 #2
    Here's one: Group 3 billiard balls together and send a cue ball moving into the first ball in the group. Model where the balls go as a function of the angle and velocity of the cue ball hitting the first ball in the rack. That should keep you busy for a while.

    Group them like this:

    I did this with a 9-ball break as a computational project during my undergrad. My goal was to figure out the angle and velocity of hitting the first ball that would cause the 9-ball to go into a pocket thus winning the game. I had to simplify a lot of elements like no follow on the cue ball and a tight rack. I played around with the model to show what would happen with a loose rack.. Needless to say it became obvious why I made a lot more money gambling on pool after this project. Even with a fairly solid model, things don't always work out as simulations will show and a project like this will only open your eyes to how complex the real world really is.

    When I got to grad school some of the professors here asked about my academic projects from undergrad and I told them about this one.. they're still wondering why I'm not doing statistical mechanics for my research, lol.
  4. Sep 12, 2012 #3
    That sounds really cool! Do you have suggestions on how to start something like this? I should say that I've done very little programming. I've taken an introductory MatLab class, and I've played around with SQL and Basic, but almost always just modifying other programs. It's the setup and getting started part that I really need to figure out.

    Would you mind sharing what you did? I can think of geometry and basic physics to model that sort of thing, but I don't much know what to do beyond the basics.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook