Array or vector? Two dimensional array or matrix? I'm from Brazil and I'm involved with programming language teaching for, at least, ten years. I have a background in computer science and my colleagues tend to use the term vector to describe an array in programming languages like C or Java. I particularly HATE this use of the therm vector, since vectors and matrices are mathematical entities that can be added, multiplied and so on, while arrays and multidimensional arrays can't. I know that there are languages that these constructs exists, like MATLAB, but they don't exists natively in the most used general purpose programming languages. In Java there is an data structure called Vector, that is, in fact, a synchronized list that can't be added, for exaxmple. C++ also has a vector data structure/container in STL that is a list too and is not a mathematical vector.

I always explain this for my students, that some people call arrays as vectors and multidimensional arrays as matrices and that this is kinda wrong. I tell them that an array can be used to represent a vector, but that it is not a vector! The same for matrices.

I would like to know what do you think about it! Do you think that is correct or not to call arrays as vectors? If so, why? Is this "missconception" common in your country?

EDIT

I'm sorry if I sounded pedantic. My confusion was introduced by one of my professors during my undergraduate course. He was a mathematician/physicist working with computer science. Maybe this was the reason. I will correct it now, thank you!
First, see this question on being pedantic. Second, consider the fact that you are teaching Computer Science and not Mathematics. The former is not a subset of the latter. There is some overlap, of course. 

Next, I see no issue with being precise about terminology when students might be studying both fields. If you want to clearly distinguish between vector and array, I think that is fine, though you may possibly just be stressing the wrong thing. 

Vectors in mathematics are used to understand things. (That is the core of pure math, after all). Arrays, call them what you will, in CS are used to build things that are useful. 

But lots of things vary between math and CS. Addition of integers means one thing in math. The fact that it normally means modulo addition (with a fairly large modulus) is seldom stressed initially and is irrelevant for many (not all) purposes. Likewise real values mean quite different things in math and in CS. If you spend too much time on the details of the differences you may not have time for what are, fundamentally, more important issues in novices learning CS. 

But, the reason that Matrix isn't a fundamental type in a language like Java is that it isn't needed often enough in the work of professionals to make it part of the infrastructure. You can, of course, build a Matrix class and provide the mathematical operations that might be wanted for some applications, just as Mathematica has done. 

But, mathematics is like CS language structure in a lot of ways. In math the Peano axioms are, for example, enough to define the structure of the natural numbers. Other things can be defined and built on top of that structure. Likewise in Java, a Vector of Objects is a (somewhat) simple bit of infrastructure that can be used as the basis of more complicated and useful things. So, in both, one has a simple basis that can be extended for the purpose at hand. 

I'll note also, that few general purpose programming languages have anything like a matrix as a primitive. Normally a two dimensional structure is more like an array of arrays (vector of vectors) and so in the second dimension the index limits can vary. But OO languages can, of course, control that and have "true" matrices, though a "row" and a "column" in such a structure are quite different in the implementation. But, again, in mathematics the row and the column are ideas, and in CS they are implementations (built things). 

Well... I suppose that any Turing Complete language is "general purpose" in some sense.