It appears, in principle, that the laws of quantum mechanics allow a quantum computer to solve certain mathematical problems more rapidly than can be done using a classical computer. However, in order to build such a quantum computer, a number of technological problems need to be overcome. A stepping stone to this goal is the implementation of relatively simple quantum algorithms using current experimental techniques. The research work presented in this thesis consists of several theoretical studies exploring small scale quantum algorithms and methods of implementing them. Included in this thesis are an investigation of a small scale version of the phase estimation algorithm, methods of implementing the quantum random walk, a discussion of protecting quantum information by encoding it in an oscillator, and a look at the power of a quantum computer with a restricted number of qubits.