Most certainly, this thesis would not have been possible without the love, encouragement and support of my family. I would like to thank my mom for listening to me, in good times and in bad times, providing me with love, nurturing me, and caring about my well-being. I would like to thank my sister, my closest friend from the day I was born. You were amazing coding and coding and never complaining. I would like to thank my dad, my "rock" when times were turbulent. Most importantly, I would like to greatly thank Chance Cooley, my companion, my inspiration, and my love. This journey through the school would not be the same without you. You made it exciting and stimulating by challenging me in every class, by holding our long discussions, by giving me advice, by reading my papers, and by being my Junto buddy. I am giving you a credit for defending your thesis first, but I am not giving you superiority in iceskating and ping-pong. Remember, I will always love and challenge you in our journey together.