Course objectives: Students are expected to learn the basics of Matlab programming (arrays, matrices, parallel-style programming, functions, graphing, symbolic manipulation, file I/O, and many built-in Matlab functions) for later work in numerical analysis, engineering, and science. In the process of learning the language, they will be applying knowledge of mathematics, science and engineering. As many of their projects require a fair bit of software engineering, they will also be making design decisions (algorithm, data structure, time-vs-space, etc) and considering various implementation trade-offs.