Isn't it like half-life though? You can always remove half more of the original code, but when can you be confident you got it all?
Your answer depends on how serious you are about this. Since you want to "contribute back to the field", it sounds like grad school is the way to go. But then you say that you can't spend more than 10 hours a week on open courseware, so I'm not sure how willing you are to leave IT.
In your situation, you might try to get involved in scientific programming, and simulation work. In this case, your IT background will be an asset, and you will also be working on physics.
Scientifically accurate Spiderman:
Peter Parker gets bitten by a spider. He gets a red welt, but the spider wasn't a particularly venomous one, so he doesn't go to the ER. The End.
Hmm. Somebody needs to learn some history about how things were before the EPA, FDA, OSHA, and various fair labor regulatory agencies. Why do you think these things exist? Because things were so fucked that protesters demanded that politicians do something.
Everybody's definition of "good enough" is different.
I'm pretty sure grandparents existed long before agriculture.
Isn't every cause of death medical?
We're not ready as a society for elimination of aging. Currently, with money and power generally growing with age, death is the great equalizer. Rich or poor, everybody dies. This is the only thing stopping unfettered hoarding of wealth. Would Bill Gates give away his money if he never aged? I don't know, but it does seem less likely. We'd be stuck in a society where the elders own and control everything, and the young would fight to survive. Murder would replace age-related illness as the leading cause of death.
For this society to work, the time value of money has to be negative, not positive. Money has to decay with time, not grow. This is the way money should work today, but good luck convincing our overlords.
That depends on what you mean by die. Seems pretty clear today, but technology is always blurring things. Did Henrietta Lacks die in 1951?
The first step to legalizing bribery is to not call it bribery.
System? I assume the system is a traffic cop in a cop car and a court order to a phone company to shut off service to an individual.
Yeah, but the threshold of perception is a bit better than HD.
Odd integers are true; even integers are false.
Arrays can be indexed with () or . This leads to namespace problems with functions which are also called with (). For example:
error: undefined variable a.
If you want to call function a, you have to forward declare it for this reason.
There's a different syntax for procedures (which don't have a return value) and functions (which do).
It is required to assign the result of a function to something. You have to write
dummy = foo(1,2,3)
will give an error.
Most of the time, a single element array is treated the same as a scalar. But not always, and not being very careful will lead to weird errors.
There are no zero length arrays.
An array can be length 1; a multidimensional array can be length [1,2,2], but a multidimensional array cannot be length [2,1,1]. If the last dimension has length 1, it simply vanishes to a smaller dimension, unless already 1 dimensional. Example:
a = make_array(1,2,2)
; a has dimensions [1,2,2]
a = make_array(2,1,1)
; a has dimensions 
This means special code must be written to handle any array operations that might end with last dimension 1.
Array slices are weird.
b = a[3,*,2]
means to take a slice of a along the second dimension. I'd expect the answer to be 1 dimensional, since there's only 1 scan in the slice. But the result has dimensions [1,3]
On the other hand, a[3,2,*] has dimensions [1,1,3], and a[*,3,2] has dimensions . It makes sense in a convoluted way, but it sucks.
It's not unionized because conditions aren't bad enough to warrant it, as much as programmers like to complain.