Linear Advection Eq
(Subscript[u, t])+a (Subscript[u, x])=0

Forward Time/Centered Space
Periodic Boundary Conditions

So we are going to implement
	(Subscript[δ, +t])((Subscript[U, i])^n)/Δt+a (Subscript[δ, +0])((Subscript[U, i])^n)/(2Δx)=0
with peridioc boundary conditions.  In other words
	((Subscript[U, i])^(n+1))=((Subscript[U, i])^n)-ν(((Subscript[U, i+1])^n)-((Subscript[U, i-1])^n))
where ν=a Δt/(2Δx) with the appropriate wrap around at the ends of the computational domain. 
The following matrix implements the centered difference

AO[n_]:=SparseArray[{ 
Band[{2,1}]->-1,
Band[{1,2}]->1,
{n,1}->1,
{1,n}->-1
},
{n,n}]

Lets check if it works OK.  The matrix should differentiate functions except for a scaling.  It does!

{xMin, xMax}={-24, 24};
Δx=π/24.;
f[x_]:= Tanh[0.5(x+12)]Tanh[0.5(12-x)];
u0= Table[ f[x], {x, xMin, xMax-Δx, Δx}];
A=AO[Length[u0]];
ListPlot[{u0,A.u0}]

Now this should be easy enough to implement in a loop to hopefully solve the linear advection problem.

u=u0;
{a,Δt,Δx}={1,0.1,0.1};
ν=a Δt/(2 Δx);
nIter=123;
B=IdentityMatrix[Length[u0]] -ν A;
Sol=Table[
u=B.u,
{nIter}];
Manipulate[
ListPlot[Sol[[n]]],
{n, 1, nIter,1}
]