1. Not finding help here? Sign up for a free 30min 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!

Studying I study physics -- How can I expand my computer knowledge?

  1. May 20, 2016 #1
    I'm interested in expanding my computer knowledge. Specifically, computer science knowledge.

    I've taken a few numerical methods courses, but they were all in MATLAB.

    My strategy this summer was to study physics problems like PDEs and solve them in some language I don't know like C++. Also, I want to take a course on Coursera.com called Algorithms which happens to be Java based. For this course, I'm taking an intro to Java programming on Udacity.com, but I'm starting to fear that I'm wasting my time.

    How do you suggest I can expand my CompSci knowledge this summer? Should I learn C++ or Java ? Should I take that Algorithms course? Should I instead just focus on solving those physics problems on C++ instead of MATLAB?

    I'm also not a complete expert in MATLAB, so maybe I should also stick with MATLAB for a while, until I can do amazing things with it. And theres this other Mathematica thing which does amazing things which I should also learn to do!

    Suggestions?

    Thanks.
     
  2. jcsd
  3. May 20, 2016 #2

    berkeman

    User Avatar

    Staff: Mentor

    What applications do you want to be able to code? General CS education includes data structures and operating system design. Are you interested in those?
     
  4. May 20, 2016 #3
    Sure, I'm interested in that. In general I want it to have some connection to physics or scientific computing in general. Is this too vague?
     
  5. May 20, 2016 #4

    symbolipoint

    User Avatar
    Homework Helper
    Education Advisor
    Gold Member

    This should be way too simple. As a Physics or Engineering or ANY Science student with a degree as the goal, you are maybe required to study a beginning programming course for credit. Maybe your program does not require this. Make it a requirement for yourself anyway. Such a course is not something you do in the su
     
  6. May 20, 2016 #5
    Nothing wrong with MATLAB. I know many will disagree but now and throughout my career I found FORTRAN to be most valuable. The IMSL Libss and numerical libraries are well developed in FORTRAN. In general, the rudiments of a language can be learned in a year but it really takes many years to becom proficient in any language. Probably best to remain good at MATLAB, and start learning FORTRAN, and the associated Math libraries NAG, IMSLLIBS, Numerical recipes, etc.
     
  7. May 21, 2016 #6

    chiro

    User Avatar
    Science Advisor

    Hey davidbenari.

    If you ever pick up statistics I'd recommend learning R.

    It's free and open source and is used a lot by people doing statistical analysis and has enough libraries to do nearly everything one would need it to do.
     
  8. May 21, 2016 #7
    Given where you're at currently, it won't be beneficial for you to take that algorithms course. You need to have gone through an object oriented programming course first.

    I'm also assuming you're referring to the algorithms course taught by Sedgewick. I've gone through it and read his textbook that the course is based on. Both are excellent and served as a nice refresher for me. If you really want to take the course and get the most out of it, spend your time learning and using Java for at least a semester. The more programming experience you have, the more you'll get out of studying algorithms.
     
  9. May 21, 2016 #8
    Jaesum, do you think that course could be useful to me as a physics guy?
     
  10. May 21, 2016 #9
    Yes, absolutely. I think coursera breaks it into two different courses. The first course covers the first half of the book, and the second one covers the second half. It assumes you already know object oriented programming, though.

    You can buy the book and the lectures from amazon as a package deal without going through coursera. It's the route I chose, but I'm an algorithms enthusiast.
     
  11. May 21, 2016 #10
    Could you be more specific? What sort of problems in physics require some education in algorithms?

    I'm taking learning Java right now to be able to take that course, I hope it'll work hehe.

    Thanks.
     
  12. May 21, 2016 #11
    All computer programs are implementations of algorithms. The contents of the course in question are classic algorithms and data structures. These are the fundamental building blocks for solving any problem. If you're doing any type of programming at all, you will be using these data structures and algorithms.

    Your question is somewhat analogous to asking a carpenter if learning how to hammer nails into boards is helpful for building a house. I'd say it's essential at the most fundamental level. It's usually the second or third course required by computer science programs after one or two programming courses.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted



Similar Discussions: I study physics -- How can I expand my computer knowledge?
Loading...