  Quantum computation appears to offer significant advantages over classical
computation and this has generated a tremendous interest in the field. In this
thesis we consider the application of quantum computers to scientific computing
and combinatorial optimization. We study five problems. The first three deal
with quantum algorithms for computational problems in science and engineering,
including quantum simulation of physical systems. In particular, we study
quantum algorithms for numerical computation, for the approximation of ground
and excited state energies of the Schr\"odinger equation, and for Hamiltonian
simulation with applications to physics and chemistry. The remaining two deal
with quantum algorithms for approximate optimization. We study the performance
of the quantum approximate optimization algorithm (QAOA), and show a
generalization of QAOA, the $\textit{quantum}$ $\textit{alternating}$
$\textit{operator}$ $\textit{ansatz}$, particularly suitable for constrained
optimization problems and low-resource implementations on near-term quantum
devices.
