Studying and simulating social systems including human groups and societies can be a complex problem. In order to build a model that simulates humans actions, it is necessary to consider the major factors that affect human behavior. Norms are one of these factors: social norms are the customary rules that govern behavior in groups and societies. Norms are everywhere around us, from the way people handshake or bow to the clothes they wear. They play a large role in determining our behaviors. Studies on norms are much older than the age of computer science, since normative studies have been a classic topic in sociology, psychology, philosophy and law. Various theories have been put forth about the functioning of social norms. Although an extensive amount of research on norms has been performed during the recent years, there remains a significant gap between current models and models that can explain real-world normative behaviors. Most of the existing work on norms focuses on abstract applications, and very few realistic normative simulations of human societies can be found. I had the honor of talking and consulting with Dr. David L. Sallach from University of Chicago about category theory. He provided me with several references including one article that he was still working on. Dr. Sandip Sen from University of Tulsa, kindly gave his time to me, and described the details of his work on the game-theoretical implementation of social learning. I have frequently used some ideas from his work on modeling norm emergence in agent-based systems. Last but not least, I wanted to thank my teammates in Intelligent Agents Lab (IAL), specifically Bulent Tastan, Xi Wang, Erfan Davami, Alireza Hajibagheri, and Hamidreza Alvari who helped me on various occasions to find better solutions for solving my research challenges. v