1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

The best way to learn to programming?

  1. Sep 17, 2013 #1
    I really feel I need to get better at writing computer code and at least learn some fundamental basics about computer programming if I am to have a successful career in Physics. Would like to know what would be the best way to learn these skills. Can anyone recommend any online courses or just general tasks which will help me learn this?

  2. jcsd
  3. Sep 17, 2013 #2
    What language are you interested in learning? I don't know about best ways, I learned C++ at work in 2012(worked as a chef). Started with this http://www.angelfire.com/art2/ebooks/teachyourselfcplusplusin21days.pdf and when preparing food I was thinking of a code for a robot that could prepare a dish the way it's supposed to be served :D Complete nonsense, but it was fun to think about.
  4. Sep 17, 2013 #3


    User Avatar
    Science Advisor
    Gold Member

    You always start by writing simple programs, and all in one language. You need to learn the elements of the language, and also the tools that are provided to work with programs (editors, debuggers, etc).

    The two most important parts of programming are data representations and data storage; this is the material that is taught in a data structures class, but you can learn it on your own - but only in stages. This learning may be done by writing programs which exercise each area.

    My son taught himself - he wrote a computer game for Android devices - fish in an aquarium. First he thought about how it might work - some basic design - and then he developed it a bit at a time, testing as he went. By laying one brick at a time you can build a house ... but only if you had a plan when you started.

    This process took him about nine months starting at winter break of his junior year. It included a physics based motion engine.

    Thus you don't need a book like "Learn C in 30 lessons" - what you need is patience and follow-through.
  5. Sep 17, 2013 #4
    I don't know - is there many different languages? What is the most commonly used?
  6. Sep 17, 2013 #5


    User Avatar
    Science Advisor
    Gold Member

    There are tons of languages - but you might start with Matlab (if your school provides licenses), or else Java (which is free). Or you could start with an interpretive language like Python (also free, much like Java).
  7. Sep 17, 2013 #6
  8. Sep 17, 2013 #7
    I strongly recommend you start with Python or MATLAB, rather than a low level language like C/C++.
  9. Sep 17, 2013 #8
    Take a course on it. I am in the first computer science class and it is C and Java. It is extreemly hard, but my drive for good grades has forced me to "figure out" how to code and now I enjoy it to some extent.
  10. Sep 17, 2013 #9

    D H

    User Avatar
    Staff Emeritus
    Science Advisor

    Hear, hear! In fact, take two, or even three. The introductory programming course, the course on data structures and algorithms, and the course on scientific programming.
  11. Sep 17, 2013 #10
    CodeAcademy is actually really helpful in learning the very basics of a language.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook