Question: When I was a student (in the 1970s) I was taught linear algebra as an "adjunct" to "engineering mathematics" such as differential equations. That was during my sophomore year, which seems a bit late, but those were the days when "calculus" was all the rage.

Nowadays, the application emphasis is on information technology, which stores information in matrices, strings, and vectors. Given this emphasis should linear algebra be taught earlier, concurrently with computer science? Would that mean making it "simultaneous" with first year calculus or even pre-calculus?

Answer: 
My personal opinion. Anytime is a good time to teach linear algebra. I'd like to see at least two courses in the curriculum. Ok, more accurately:

1. **elementary matrix theory:** solving systems, matrix math, determinants, routine computations of all sorts. Very limited proof emphasis. Here we are merely rounding out a computational core to give better tools to later calculus and other courses. This could be taught before calculus, in parallel with precalculus if need be. I would hope to include some appreciation of spanning and linear independence here. We'd like to use these terms intelligently in other courses before they hit linear algebra. Applications abound in this course. For example, [Lay's Linear Algebra](http://rads.stackoverflow.com/amzn/click/0321385179) would be ideal.
2. **linear algebra:** focus on proofs and abstraction. Includes abstract vector spaces, subspace and basis theorems. Either this course comes after the introduction to proofs course and gets to the Jordan form, or, the topics covered are narrowed considerably and the course is used as the introduction to formal proofs course. For the non-introductory to proofs version, you might use [Insel, Spence and Friedberg](http://rads.stackoverflow.com/amzn/click/0130084514)

There are good reasons for making this demarcation in courses. The elementary matrix theory course is really worthwhile for almost every technical major and if it was earlier in the degree plans then many sections could be offered at a larger school making scheduling easy for the student. On the other hand, linear algebra proper is really just a course for math majors and it is an absolute drudgery to try to teach proofs to engineers. I speak with considerable experience.
The way "programs store data in arrays" has next to nothing in common with linear algebra. Don't mix them up, the superficial similarities are confusing enough as is.

For a nice look at what linear algebra is really about check out Treil's ["Linear Algebra done Wrong"](http://www.math.brown.edu/~treil/papers/LADW/LADW.html).