How much CS is required for most scientists to know these days? Considering most schools don't teach it unless you are going for a CS degree how much would I be expected to know if I want to be hired? Thinking of just biting the bullet and learning it from scratch so I am not at a disadvantage but I don't have much free time to do so.

# How much CS is required for most scientists to know these days...

Other urls found in this thread:

**Veeky**

**scipy-lectures.org**

**twitter.com**

If you can understand a math proof, you can program. The only difference is translational. The syntax.

i cannot fathom how other people in my phd program get by without any compsci knowledge. i've had to program so much of my own data analysis.

Given that how much time would it take for someone to learn just enough to work in something like Theoretical Biology which requires some programming?

**Veeky** Forums-science.wikia.com/wiki/Computer_Science_and_Engineering

>Basic Programming & Data Structures

>Parallel Programming

>Numerical Analysis and Methods

You don't actually need to be a very competent programmer to be a 'scientist.' Most scientists just use some basic MATLAB, R, and Python scripts. Your code doesn't need to be completely efficient and send a rocket to the moon and back. You must realize that analyzing data sets is, typically, a computationally trivial matter and that anyone who understands the underlying math behind it will be able to do it. Plus you likely won't be coding the mathematical functions themselves... there are scripts and libraries for that sort of thing.

Given a casual level of dedication and practice, I'd wager that you would become capable with a particular language, like MATLAB, within two weeks. And you would probably be proficient within two months. Just find a decent starter's guide.

Thanks. Hopefully I can squeeze a comp sci class in and maybe a Bioinformatics class or two in then and be good.

wrong

see: me

Good luck proving you can't code vs. Being unwilling to. That would make my statement true. Based on this, it seems you don't understand proofs in the first place, also validating my statement in your particular case.

i had to drop out of cs into math because programming was so impossible

math is much easier than programming, as someone who's "focus" is abstract algebra

As a theoretician (phd student in physics, earlier was involved into protein molecular mechanics) who spends 90% of time on numerical simulations I can recommend you a few things. First of all, learn python + numpy vectorization (coursera is ok). It has all you need except nonlinear solvers, ode solvers, sparse matrices and what more imortant - plotting. For this needs you will learn scipy and matplotlib in the next step (googling 'how to matplotlib' will do). That's all knowledge you need to stand on the bleeding edge of your state of art. And please, never use commercial software such as matlab or amber. You will have some troubles running your code on a server.

I was able to publish two papers in phys.rev.a and lett. (not so good, I know, but I'm not from harvard) knowing just this. But now, the goal of our team is nearly macroscopic limit so I had to learn CUDA C/C++. Anyway, good luck.

basically this.

but just be prepared that different areas/groups might use different languages. python is probably the best one to learn first, but you might have to go for fortran, c++, c or whatever that your group uses, later.

also learn to use some mathematica for daily graphs or math manipulation.

>i had to drop out of cs into math because programming was so impossible

stop posting that b8, nobody is going to bite it.

Why not? I believe it, programming is near fucking impossible for me too and I did great in my maths classes.

What resources do you recommend for learning C for numerical simulations?

That's the problem. The way you're taught to program in non-cs majors is very sciencerelated, as in; just aiding the manipulation/simulation of formulas. There's a lot more to it that can also be useful. Computers can simply save you a lot of time and I think that it's worth knowing the possibilities of it. I'd advice to get somewhat

familiar with the endles with the programming world. There's a lot of helpful people out there in that field.

This is way beyond the scope of what a typical scientist needs to know, provided they are not a mathematician or computer scientist. As I said here: Don't get anything too dense, just get a basic MATLAB (or Python, R, ect) stater's guide, or something.

Do you have good suggestion's for a starter's book on Python? I'm going into MechE and I'm particularly interested in CFD.

At a glance, this looks like the most promising online resource.

Pretty much.

However, and this is a big one:

the more fluent you are in whatever language, the faster you will get shit done, especially in disciplines where 'looking at data' is bread and butter. With Python, I can go through terabytes of netCDF files with ease and simplicity, I can grab data from those files which match whatever criteria, I can run linear models on them to figure out patterns, push them into classification algorithms, etc. .. within hours sometimes even faster. Because I've spent so many years programming, I can finish a task like this much quicker than some colleagues who still struggle with (what I think is) trivialities.

Is it a fundamental requirement for you to be a good programmer? Nope. Will it help you in your career and daily work? Absofuckinglutely.

I'd say amongst a group of candidates with equal scientific background and publications, we'd definitely pick the one who's a coding guru.

At the end of the day, you need to get shit done. Quickly.

considering python has the worst syntax than any real non scripting language id say its zero.