I'd like to add some Computational Science to my Resume

In summary: A lot of chemists I know ARE experienced programmers. They just don't use languages that are as widely used as MATLAB.
  • #1
DDTea
133
0
I'm finding that having at least *some* background in computer programming will be useful to my career as a Chemist. My background in programming is rather weak and rusty; I took a course or two in BASIC back when I was in middle school and then another in JAVA in high school. I've never used either since then (~7 years). So for all intents and purposes, I consider myself a beginner. Although I'm not looking to become a computer scientist and I don't terribly *enjoy* programming, I don't want to shy away from it either.

This winter, I'm planning to take a course on MATLAB simply because it will help with some of the math courses I'm planning to take. From what my friend tells me though, MATLAB is more of a "data cruncher" and, although good, not as "useful" as C, C++, JAVA, or Python. So naturally, I'm looking to learn at least one of those languages.

I'm interested in other people's advice regarding how I should approach this and what I should prioritize. I'm paying for classes out of my pocket right now and I'm also working full time, so I probably won't be able to take a course in *everything* (which I'd love to do), which is why I need to prioritize.
 
Physics news on Phys.org
  • #2
As an engineering undergraduate, I find that programming methodology is useful for solving both abstract mathematical and general computational problems. I took my first course in programming (and computer science) as a freshmen and loved it immensely.

In my two exposure modules to computer science, C and C++ were taught and used. I think these two languages are considered "general-purpose" languages even though C is strictly procedural and C++ is objected-oriented?

After that, I had to work briefly with C# and Java on my own. Had to use Matlab/GNU Octave for an internship project. Had to learned half a dozen engineering simulation packages. I found that the exposure to C/C++ allowed me to pick up all those easier (not that I consider myself an expert in any of those languages- I just know enough to use them as tools.).

I think you should enroll yourself in an introductory computer science course that focuses on programming methodology, in C. After that, either C++ or Java.
 
  • #3
Learn python on the side for fun. Numpy (the big numeric computation library) and matplotlib (the big plotting library) are analogous to MATLAB and have lots of functionality/interaction directly lifted from matlab, so you may not feel so lost.
 
  • #4
DDTea said:
This winter, I'm planning to take a course on MATLAB simply because it will help with some of the math courses I'm planning to take. From what my friend tells me though, MATLAB is more of a "data cruncher" and, although good, not as "useful" as C, C++, JAVA, or Python. So naturally, I'm looking to learn at least one of those languages.

I'm interested in other people's advice regarding how I should approach this and what I should prioritize. I'm paying for classes out of my pocket right now and I'm also working full time, so I probably won't be able to take a course in *everything* (which I'd love to do), which is why I need to prioritize.

Ahem, Matlab 'not as useful'?! Your friend is wrong :smile: but then, of course it depends what you want to use a language for. Languages are often suited to certain tasks - the reason MATLAB might be thought of as a 'data cruncher' for instance, is that it's designed to handle data input as matrices. It's then very fast at processing large matrices - or large amounts of data. Matlab is definitely one of the most commonly used programming environments across an entire university. Possibly the most common - engineers use it, mathematicians use it, physicists use it, and I've seen life scientists use it - many of which can afford to use it exclusively for their work. All of my research is done in matlab. I can use C++ and a couple of other languages, but MATLAB does everything I need.

I would say that unless you've any reason to think that c++ or python will specifically be useful to you, stick with the MATLAB course. Matlab is pretty straightforward to get started in - there are lots of resources and tutorials out there and it's extremely powerful. Most chemists I know don't have any/much programming experience, bar Excel.
 
  • #5
fasterthanjoao said:
I would say that unless you've any reason to think that c++ or python will specifically be useful to you, stick with the MATLAB course. Matlab is pretty straightforward to get started in - there are lots of resources and tutorials out there and it's extremely powerful. Most chemists I know don't have any/much programming experience, bar Excel.

I disagree on that. While MATLAB certainly is useful, I'd still go for Python first. The main reason being that nearly everything you can do in MATLAB, you can do in Python, too (look up scipy and matplotlib!), but the reverse is not nearly remotely true.[1]
Additionally, Python is a real general purpose programming language with a very clever and versatile design, and probably both the easiest to learn, easiest to apply, and most powerful general language all in one combination. Its main problem is that its dynamic design is not well suited for large scale software development or for high-performance computing (in the sense of writing hpc kernel routines in it)---but these aspects are unlikely to be a major concern when starting.

So my advice to the OP: if you learn only one language, let it be Python. With Python alone you can already tackle almost all small to medium sized programming and scripting tasks you are likely to come across. Of course it helps to know some more basic language like C or C++ (or even Assembler) to get some feeling of what the high level programming constructs are actually doing. But this is not mandatory when starting out.


[1] Of course this is related to lots of MATLAB's functionality being somewhat glorified LAPACK wrappers in many respects...
 

Related to I'd like to add some Computational Science to my Resume

What is Computational Science?

Computational Science is an interdisciplinary field that combines computer science, mathematics, and scientific disciplines to solve complex problems using computational methods.

Why should I add Computational Science to my Resume?

Adding Computational Science to your resume can make you a more well-rounded and versatile candidate for jobs in various industries. It also demonstrates your ability to problem-solve and think critically using technology and analytical skills.

What skills should I highlight when adding Computational Science to my Resume?

Some key skills to highlight when adding Computational Science to your resume include programming languages, data analysis, mathematical modeling, and experience with computational tools and software.

How can I gain experience in Computational Science?

You can gain experience in Computational Science through coursework, internships, or self-study. It is also helpful to work on personal projects or participate in data analysis competitions or hackathons.

What job opportunities are available for someone with Computational Science skills?

There are various job opportunities available for someone with Computational Science skills, including data analyst, software engineer, research scientist, or data scientist. These roles can be found in industries such as finance, healthcare, technology, and more.

Similar threads

  • STEM Academic Advising
Replies
3
Views
872
  • STEM Academic Advising
Replies
1
Views
557
  • STEM Academic Advising
Replies
8
Views
2K
  • STEM Academic Advising
Replies
6
Views
1K
  • STEM Academic Advising
Replies
9
Views
1K
  • STEM Academic Advising
Replies
3
Views
1K
  • STEM Academic Advising
Replies
12
Views
1K
Replies
1
Views
903
  • STEM Academic Advising
Replies
3
Views
916
  • STEM Academic Advising
Replies
11
Views
650
Back
Top