Because the signals in question are functions of n, and n typically denotes an integer, we can assume the question is really about computing the convolution sum. Also, the "50" in the question will change to "10" to make the plots shorter.
Define some variables
Define the discrete-time unit step function:
sympref('HeavisideAtOrigin',1);
Define h(n)
h(n) = ( 0.5*( (a)^n ) + 0.5*( (-a)^n ) )*u(n);
h(n) = simplify(h(n))
h(n) =

First, we find the convolution sum of h[n] and u[n], call it w[n]. Because both h[n] = 0 and u[n] = 0 for n < 0, we can compute the convolution sum of h[n] and u[n] from 0 to n using symsum Not sure why this command results in an error (it doesn't in 2024a)
w(n) = simplify(symsum(h(n-k)*u(k),k,0,n))*u(n)
end
ans = 'Recursive definition: Reached maximal depth for nested procedure calls.'
I think that the problem is with the mutliple heavisides in the expression input to symsum. Instead, define h[n] as
h(n) = ( 0.5*( (a)^n ) + 0.5*( (-a)^n ) );
h(n) = simplify(h(n))
h(n) =

where it's understood that h[n] = 0 for n < 0. Using the fact that u[n] = 1 for n > = 0, we have
w(n) = simplify(symsum(h(n-k)*1,k,0,n))*u(n)
w(n) =

We really want the convolution of h[n] with x[n] where
x(n) = u(n) - u(n-10)
x(n) = 
Using the distributive and shift properties of the convolution sum we have
y[n] = h[n]*x[n] = h[n]*(u[n] - u[n-10]) = h[n]*u[n] - h[n]*u[n-10] = w[n] - w[n-10]
y(n) = simplify(w(n) - w(n-10))
y(n) =

Plot 21 samples of y[n] for a = 0.7;
stem(0:N,subs(y(0:N),a,aval),DisplayName='symsum');
We could also get a numerical solution using conv. Define anonymous functions for u, x, and h
ufun = @(n) double(n>=0);
xfun = @(n) ufun(n) - ufun(n-10);
hfun = @(n,a) ( 0.5*( (a).^n ) + 0.5*( (-a).^n ) ).*ufun(n);
making sure we have enough samples to cover the desired ouput
yval = conv(xfun(nval),hfun(nval,aval));
and truncating the conv result to the desired length.
yval = yval(1:numel(nval));
stem(nval,yval,'d',DisplayName = 'conv');
As a check, we can also take the inverse z-transform of the product of the z-transforms of h[n] and x[n]
y1(n) = iztrans(Y(z),z,n)*u(n);
stem(0:N,subs(y1(0:N),a,aval),'x',DisplayName='ztrans');
xlabel('n'); ylabel('y[n]')