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

  • Studying
  • Thread starter davidbenari
  • Start date
  • #1
466
18
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.
 

Answers and Replies

  • #2
berkeman
Mentor
59,447
9,557
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?
 
  • #3
466
18
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?
 
  • #4
symbolipoint
Homework Helper
Education Advisor
Gold Member
6,159
1,180
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
 
  • Like
Likes davidbenari
  • #5
512
123
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.
 
  • Like
Likes davidbenari and symbolipoint
  • #6
chiro
Science Advisor
4,790
132
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.
 
  • Like
Likes davidbenari
  • #7
109
35
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.
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.
 
  • Like
Likes davidbenari
  • #8
466
18
Jaesum, do you think that course could be useful to me as a physics guy?
 
  • #9
109
35
Jaesum, do you think that course could be useful to me as a physics guy?
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.
 
  • #10
466
18
Yes, absolutely.

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.
 
  • #11
109
35
Could you be more specific? What sort of problems in physics require some education in algorithms?
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.
 
  • Like
Likes davidbenari

Related Threads on I study physics -- How can I expand my computer knowledge?

Replies
7
Views
629
  • Last Post
Replies
4
Views
2K
Replies
4
Views
614
Replies
17
Views
862
Replies
13
Views
10K
Replies
16
Views
5K
Replies
5
Views
2K
Replies
3
Views
1K
Top