% vim: ft=tex \chapter{Introduction} Quantum computing has been a rapidly growing field over the last years with many companies and institutions working on building and using quantum computers \cite{ibmq}\cite{intelqc}\cite{microsoftqc}\cite{dwavesys}\cite{lrzqc}\cite{heise25_18}. One important topic in this research is quantum error correction \cite{nielsen_chuang_2010}\cite{gottesman2009}\cite{gottesman1997}\cite{shor1995} that will allow the execution of arbitrarily long quantum circuits \cite{nielsen_chuang_2010}. A notable class of quantum error correction strategies are stabilizer codes \cite{gottesman2009}\cite{gottesman1997} that can be simulated exponentially faster than general quantum circuits \cite{gottesman_aaronson2008}\cite{CHP}\cite{andersbriegel2005}. Being able to simulate large stabilizer states is particularly interesting for exploring quantum error correction strategies as fault tolerant quantum computing requires several layers of encoding - so called concatenated codes \cite{nielsen_chuang_2010} - that use many physical qbits organized in several layers to encode one logical qbit. One particularly efficient way to simulate stabilizer states is the graphical representation \cite{andersbriegel2005} that has been studied extensively in the context of both quantum error correction and quantum information theory \cite{schlingenmann2001}\cite{dahlberg_ea2019}\cite{vandennest_ea2004}\cite{hein_eisert_briegel2008}. This paper describes the development of a quantum computing simulator using both the usual dense state vector representation for a general state and a graphical representation for stabilizer states. After giving an introduction to quantum computing, some basic properties of stabilizer states and their dynamics are elucidated. Using this the graphical representation is introduced and notable operations on the graphical states are explained. Following is a chapter describing the implementation of these techniques and some performance analysis.