Graphs are mathematical objects that are comprised of nodes and edges that connect them. In computer science they are used to model concepts that exhibit network behaviors, such as social networks, communication paths or computer networks. In practice, it is desired that these graphs retain two main properties: sparseness and high connectivity. This is equivalent to having relatively short distances between two nodes but with an overall small number of edges. These graphs are called expander graphs and the main motivation behind studying them is the efficient network structure that they can produce due to their properties. We are specifically interested in the study of k-regular expander graphs, which are expander graphs whose nodes are each connected to exactly k other nodes. The goal of this project is to compare explicit and random methods of generating expander graphs based on the quality of the graphs they produce. This is done by analyzing the graphs’ spectral property, which is an algebraic method of comparing expander graphs. The explicit methods we are considering are due to G. A. Margulis (for 5-regular graphs) and D. Angluin (for 3-regular graphs) and they are algebraic ways of generating expander graphs through a series of rules that connect initially disjoint nodes. The authors proved that these explicit methods would construct expander graphs. Moreover, the random methods generate random graphs that, experimentally, are proven to be just as good expanders as the ones constructed by these explicit methods. This project’s approach to the random methods was influenced by a paper of K. Chang where the author evaluated the quality of 3 and 7-regular expander graphs resulted from random methods by using their spectral property. Therefore, our project implements these methods and provides a unified, experimental comparison between 3 and 5-regular expander graphs generated through explicit and random methods, by evaluating their spectral property. We conclude that even though the explicit methods produce better expanders for graphs with a small number of nodes, they stop producing them as we increase the number of nodes, while the random methods still generate reasonably good expander graphs