Many problems in scientific computing result in code which manipulates regular sets of numbers - ``arrays'' - in the computer. As hardware develops, it becomes possible to contemplate solving ever-larger problems, involving ever-larger arrays.
So important are matrix/array mathods that large suites of well-tuned packages are available to perform many of the operations you will need. Almost always, it is preferable to use these packages.
The LAPACK, SLATEC, CERN and Netlib packages are in the public domain and provide a wide variety of tools.
The source code from Numerical Recipes is not in the public domain, but is widely available and easy to use when combined with the book.
Because so many problems in scientific computing are expressed as operations on arrays/matrices, there has been a lot of effort devoted to optimising software and hardware to perform array operations very efficiently.
We will discuss some of these towards the end of the course. You can, of course, pursue the matter now if it is of special interest to you.
Set up and solve a system of linear equations. You could obtain interesting results by (i) adopting a solution vector and a set of coefficients, (ii) calculating the set of self-consistent inhomogenous terms, and (iii) seeking to recover the solution by elimination or inversion.
Advanced students might wish to explore caching issues by using large vectors and arrays to force miss-hits, etc.