Symmetries play a central role in physics. A concrete example is topological physics, where the presence or absence of three discrete symmetries forms the basis of a classification scheme for topological insulators. I work on algorithms to generate Hamiltonians that are engineered to satisfy certain symmetry constraints, and to find the symmetries of a given Hamiltonian. It is also interesting to consider which boundary conditions may be imposed on the Schrödinger equation, and whether the boundary conditions preserve or break a particular symmetry. I work on formulating the most general boundary conditions of single particle continuum Hamiltonians that satisfy current conservation at the boundary, classifying the boundary conditions depending on which symmetries they preserve or break, and matching them to realistic tight binding models. Lastly, I work on numerical simulations of superconductor-semiconductor hybrid structures. A hallmark of such junctions is the process of Andreev reflection, in which an electron incident to the interface from the semiconductor is reflected as a hole. I study a related process in semiconductor-superconductor-semiconductor structures, called crossed Andreev reflection, in which an incident electron from one semiconductor is emitted as a hole in the other semiconductor.