Technically, the exercises in Chapter 10 do not require the Fourier transform. If you are computing convolution in the time-domain, then the zeros need to be padded on both the beginning and end of the signal (see figure 10.3). If you are computing convolution via frequency domain multiplication, then yes, the zeros are padded only at the end, although you can have the fft function do the padding for you by specifying a second input, N, which defines the number of total data points to use for the FFT, regardless of the length of the input.
As for scaling, yes, this is always a tricky issue. In a Fourier decomposition, the coefficients can be scaled by N. In other words, fft(x)/length(x). If you are performing convolution with a non-zero-mean kernel -- which is the case in the exercises in Chapter 10 -- you can divide the result of convolution by the sum of the kernel. In other words, conv_result = conv_result/sum(kernel);
I hope that helps,
Mike