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

Applied Programming Projects

  1. Jun 30, 2012 #1
    Hi all,

    What are some cool programming projects that you have done that really helped you learn a different area of computer science / programming? I am SICK OF the tedium in databases and application development. I would like to expand my horizons to areas such as embedded systems, computer systems, mathematical computing, scientific computing, networking, and anything else you guys could give me advice on!

    The key thing here is learning through something that really catches my interest. I am just having a hard time finding a place to get started.

  2. jcsd
  3. Jun 30, 2012 #2


    User Avatar
    Gold Member

    write a program to mirror a web site on your hard drive to an actual server. Make it so that if there is a file on your hard drive that is not on the server, it uploads and if there is one on the server that is not on the hard drive, it gets erased, and if it is on both then upload it only if the file size is different or the HD version is newer.
  4. Jun 30, 2012 #3


    Staff: Mentor

    check out open source physics at www.compadre.org/osp

    they have a collection of java apps that do simulations of various physical systems. They provide ODEs ie ordinary differential equation solvers that can integrate a set of equations to simulate a physical within certain constraints.

    Also dont shortchange database and data structures courses as they are the foundation of important concepts that can make a big difference in your future programs. database programming makes it easier for your program to scale up from simpler array based structures.
  5. Jun 30, 2012 #4


    Staff: Mentor

    in the spirit of phinds suggestion, why not invent a language and write an interpreter or compiler for it.
  6. Jun 30, 2012 #5


    User Avatar
    Science Advisor

    Hey Mathematicize and welcome to the forums.

    For networking, the standard bread and butter intro application is a chat program or instant messager. More advanced projects might include a file transfer program with extended features. You could download the open source p2p programs and look at the protocols and source code.

    A really ambitious project would be a multiplayer game engine, but this literally would take years from the ground up (although you could take an existing non-network one and add network features, but this is actually harder because the engine needs to be designed specifically for multiplayer functionality as part of its core design).
  7. Jul 1, 2012 #6


    Staff: Mentor

    Another cool idea is to learn scala to develop an app on android using netbeans IDE and the android maven plugin. Scala is a blend of OO and functional programming concepts so you'd be learning a lot of new things all at once.

    I'd suggest a simple game with 2d or 3d graphics as a start.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook