If you choose to work with MAPLE, you must implement your own univariate polynomial arithmetic by means of a canonical representation. To do do, you can adapt the file polynomials.input which implements multivariate polynomial arithmetic by means of a canonical representation. This is needed since in your implementation of the Karatsuba's algorithm you must control which algorithm is used during the recursive calls. If you would be using the built-in polynomial multiplication of MAPLE, then you would not know. As you can guess, the MAPLE polynomial multiplication already uses the Karatsuba's algorithm and other tricks.
Marc Moreno Maza