Topological quantum computing is a robust approach to quantum computation, that seems to be the most promising way to build a large-scale quantum computer. In this project we treat problems that arise when one wants to build a topological quantum computer. There are two types of problems: 1) of the hardware type, e.g., what physical systems host Majorana zero modes that can be used for topological quantum computing, and how to process the quantum information on these systems (e.g., how to fuse and braid the zero modes), 2) of the software type, e.g., how to perform the so-called decoding step of the error correction on topological quantum codes (e.g., surface code or color code).